diff --git a/configuration.nix b/configuration.nix index e843abe..ec8fc82 100644 --- a/configuration.nix +++ b/configuration.nix @@ -5,20 +5,24 @@ { config, pkgs, ... }: { - imports = - [ - # Include the results of the hardware scan. - ./hardware-configuration.nix + imports = [ + # custom modules + ./modules/colors.nix - ./roles/admin.nix - ./roles/base.nix - ./roles/desktop.nix - ./roles/dev.nix - ./roles/mail.nix - ./roles/vpn.nix - ./roles/network.nix - ./roles/work.nix - ]; + # Include the results of the hardware scan. + ./hardware-configuration.nix + + # roles + ./roles/admin.nix + ./roles/base.nix + ./roles/desktop.nix + ./roles/dev.nix + ./roles/mail.nix + ./roles/network.nix + ./roles/nix.nix + ./roles/vpn.nix + ./roles/work.nix + ]; networking.useDHCP = false; @@ -26,13 +30,16 @@ time.timeZone = "Europe/Berlin"; services.openssh.enable = true; + networking.firewall.enable = true; nixpkgs.config.permittedInsecurePackages = [ "openssl-1.0.2u" + "python3.10-kerberos-1.3.1" ]; - system.autoUpgrade.enable = true; + # removed for mobile working + # system.autoUpgrade.enable = true; system.stateVersion = "20.03"; # We can stay here } diff --git a/dotfiles/alacritty.yml b/dotfiles/alacritty.yml index 6fa9a64..81419b5 100644 --- a/dotfiles/alacritty.yml +++ b/dotfiles/alacritty.yml @@ -1,28 +1,38 @@ font: normal: - family: Cascadia Code - size: 12 + family: CaskaydiaCove Nerd Font + size: 8 -background_opacity: 0.9 draw_bold_text_with_bright_colors: true colors: primary: - background: "0x19181A" - foreground: "0xFCFCFA" + background: '0xf8f8f8' + foreground: '0x2a2b33' normal: - black: "0x19181A" - red: "0xcc6666" - green: "0xa9dc76" - yellow: "0xffd866" - cyan: "0x78dce8" - magenta: "0xFC9867" - blue: "0xAB9DF2" - white: "0xFCFCFA" + black: '0x000000' + red: '0xde3d35' + green: '0x3e953a' + yellow: '0xd2b67b' + blue: '0x2f5af3' + magenta: '0xa00095' + cyan: '0x3e953a' + white: '0xbbbbbb' + + bright: + black: '0x000000' + red: '0xde3d35' + green: '0x3e953a' + yellow: '0xd2b67b' + blue: '0x2f5af3' + magenta: '0xa00095' + cyan: '0x3e953a' + white: '0xffffff' window: dynamic_title: true + opacity: 0.9 env: TERM: xterm-256color diff --git a/dotfiles/sway/config b/dotfiles/sway/config index f1adefd..08d076c 100644 --- a/dotfiles/sway/config +++ b/dotfiles/sway/config @@ -1,30 +1,47 @@ +# colors +set $black #000000 +set $red #e75544 +set $cyan #3c74f6 +set $white #fafafa +set $yellow #908550 +set $violet #a73ca6 +#set $black2 #323232 +set $white2 #f0f0f0 + # config set $mod Mod1 set $left h set $down j set $up k set $right l +#set $term wezterm set $term alacritty -set $wallpaper /home/stefan/Downloads/bg.jpg +set $wallpaper /home/stefan/wall.png set $lock swaylock -t -i $wallpaper --scaling=fill - -# echo -- bemenu -H 23 -b -p run --{ff,nf}=#eeeeeee --{tf,hf}=#78dce8 --{tb,fb,nb,hb,sb}=#2d2a2e - -set $menu bemenu-run -H 23 -b -p run \ - --ff=#ff6188 \ - --nf=#fcfcfa \ - --tf=#78dce8 \ - --hf=#78dce8 \ - --tb=#2d2a2e \ - --fb=#2d2a2e \ - --nb=#2d2a2e \ - --hb=#2d2a2e \ - --sb=#2d2a2e +set $font CaskaydiaCove Nerd Font 10 +set $menucolor -H 23 -b \ + --tf=$white --tb=$cyan \ + --ff=$black --fb=$white \ + --cf=$cyan --cb=$white \ + --nf=$black --nb=$white \ + --af=$black --ab=$white2 \ + --hf=$white --hb=$cyan \ + --sf=$white --sb=$cyan +set $menu bemenu-run -p run $menucolor +set $otpmenu ykman oath accounts code -s "$(ykman oath accounts list | bemenu -i $menucolor)" | wl-copy +font $font input "1:1:AT_Translated_Set_2_keyboard" xkb_layout de input "0:0:TUXEDO_Keyboard" xkb_layout de +input 1130:35:HID_046a:0023 xkb_layout de +input "2362:628:PIXA3854:00_093A:0274_Touchpad" click_method clickfinger output * bg $wallpaper fill +output "BenQ Corporation BenQ SW2700 83H03922SL0" res --custom 2560x1440@60Hz +output "BenQ Corporation BenQ SW2700 83H03922SL0" pos 1440 720 +output "BNQ BenQ PD2705Q W4N00777019" pos 0 0 +output "Dell Inc. Dell U4919DW HZVZWP2" res 5120x1440 +output eDP-1 scale 1.25 # user keybinds bindsym $mod+Return exec $term @@ -33,10 +50,15 @@ bindsym $mod+d exec $menu floating_modifier $mod normal bindsym $mod+Shift+c reload bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' -bindsym $mod+Shift+p exec keepassxc +bindsym $mod+o exec keepassxc +bindsym $mod+Shift+o exec $otpmenu bindsym $mod+z exec $lock bindsym $mod+Up exec light -A 5 bindsym $mod+Down exec light -U 5 +bindsym $mod+c exec alacritty --class float -t pyCalc -e python +bindsym $mod+i exec alacritty --class float -t insect -e insect +bindsym $mod+m exec swayr switch-to +bindsym $mod+n exec emacsclient -cn bindsym Print exec grim -g "$(slurp)" - | wl-copy -t image/png bindswitch --reload --locked lid:on output eDP-1 disable bindswitch --reload --locked lid:off output eDP-1 enable @@ -45,34 +67,14 @@ bindswitch --reload --locked lid:off output eDP-1 enable for_window [app_id="org.keepassxc.KeePassXC"] floating enable for_window [title="Firefox — Sharing Indicator"] floating enable for_window [title="Picture-in-Picture"] floating enable +for_window [title="pyCalc"] floating enable +for_window [title="insect"] floating enable -# font -font Cascadia Code 10 - -# colors -set $black #2d2a2e -set $base00 #2d2a2e -set $base01 #ff6188 -set $base02 #a9dc76 -set $base03 #ffd866 -set $base04 #78dce8 -set $base05 #ab9df2 -set $base06 #fcfcfa -set $base07 #fcfcfa -set $base08 #323232 -set $base09 #cc6666 -set $base0A #ffd866 -set $base0B #78dce8 -set $base0C #ab9df2 -set $base0D #ff6188 -set $base0E #a6dc76 -set $base0F #ffffff - -# border background text indicator -client.focused $base04 $base00 $base07 $base04 $base04 -client.focused_inactive $base00 $base00 $base07 $base00 $base00 -client.unfocused $black $black $base07 $base00 $base00 -client.urgent $base01 $base01 $base00 $base08 $base07 +# border backgnd text indicator childborder +client.focused $cyan $white $black $violet $cyan +client.focused_inactive $white2 $white2 $black $white2 $white +client.unfocused $white2 $white2 $black $white2 $white +client.urgent $red $red $white $white2 $black # movement @@ -129,34 +131,56 @@ mode "resize" { } bindsym $mod+r mode "resize" +mode "umlaut" { + bindsym s exec wtype ß + bindsym a exec wtype ä + bindsym o exec wtype ö + bindsym u exec wtype ü + bindsym Shift+a exec wtype Ä + bindsym Shift+o exec wtype Ö + bindsym Shift+u exec wtype Ü + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+u mode "umlaut" + bar { + font $font position bottom colors { - background $black - statusline $base07 - separator $base04 - - # border back text - focused_workspace $base04 $base04 $base00 - active_workspace $base04 $base04 $base00 - urgent_workspace $base01 $base01 $base07 - inactive_workspace $base00 $base00 $base07 + background $white + statusline $black + separator $cyan + # border back text + focused_workspace $cyan $cyan $white + active_workspace $cyan $cyan $white + urgent_workspace $red $red $black + inactive_workspace $white $white $black } + status_command i3status-rs /etc/sway/status.toml } -include /etc/sway/config.d/* +set $gnome-schema org.gnome.desktop.interface +exec_always { + gsettings set $gnome-schema cursor-theme Adwaita + gsettings set $gnome-schema icon-theme 'capitaine-cursors-white' + gsettings set $gnome-schema cursor-theme 'capitaine-cursors-white' +} -exec mako --border-color=#cc6666 \ - --background-color=#2d2a2eee +# autostarts +exec swaync exec emacs --daemon exec swayidle before-sleep "$lock" exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1 +exec systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR +exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP +exec bash -c '[ "$HOSTNAME" == sphere ] && cloudstation' +exec swayrd +exec xinput set-prop "PIXA3854:00 093A:0274 Touchpad" 365 1 -set $gnome-schema org.gnome.desktop.interface -exec_always { - gsettings set $gnome-schema gtk-theme 'Arc-Dark' - gsettings set $gnome-schema icon-theme 'elementary Xfce' - gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White' -} + +# pastebin +exec wl-paste --primary -t text --watch clipman store +bindsym $mod+p exec clipman pick -t "bemenu" --tool-args='-b --fn "$font" -l 10 $menucolor' diff --git a/dotfiles/sway/status.toml b/dotfiles/sway/status.toml index 0e3b587..6add7e0 100644 --- a/dotfiles/sway/status.toml +++ b/dotfiles/sway/status.toml @@ -1,58 +1,61 @@ [theme] -name = "plain" +theme = "plain" [theme.overrides] -idle_bg = "#2d2a2e" -idle_fg = "#eeeeee" -info_bg = "#2d2a2e" -info_fg = "#eeeeee" -good_bg = "#2d2a2e" -good_fg = "#a9dc76" -warning_bg = "#2d2a2e" -warning_fg = "#ffd866" -critical_bg = "#2a2e38" -critical_fg = "#ff665c" -separator_bg = "#2d2a2e" -separator_fg = "#555555" +idle_bg = "#fafafa" +idle_fg = "#000000" +info_bg = "#fafafa" +info_fg = "#000000" +good_bg = "#fafafa" +good_fg = "#000000" +warning_bg = "#fafafa" +warning_fg = "#908550" +critical_bg = "#fafafa" +critical_fg = "#e75544" +separator_bg = "#fafafa" +separator_fg = "#3c74f6" separator = "|" + [icons] -name = "none" +icons = "none" [icons.overrides] -bat = "  " -bat_full = "  " -bat_charging = "   " -bat_discharging = "  " -backlight_empty = "  " -backlight_partial1 = "  " -backlight_partial2 = "  " -backlight_partial3 = "  " -backlight_full = "  " -volume_full = "  " -volume_half = "  " -volume_empty = "  " -volume_muted= "MUTE" -cogs = "  " -memory_mem = "  " -headphones = "  " -net_wireless = " " +backlight = [ + "󰌶", + "󱩏", + "󱩒", + "󱩕", + "󰛨", +] +bat = [ + "󱃍 ", + "󰁻", + "󰁾", + "󰂁", + "󰁹", +] +bat_charging = "" +cogs = "" +disk_drive = "󱛟" +headphones = "  " +memory_mem = "󰍛" +net_down = "󰅛" +net_up = "󰱓" net_vpn = " " net_wired = "" -net_up = "UP" -net_down = "DOWN" -thermometer = "  " - +net_wireless = " 󰖩" +thermometer = " 󰔏 " +time = "󰥔" +volume_muted = "󰖁 MUTE" +volume = [ + "", + "󰕾", + "", +] [[block]] block = "net" -device = "wg" -hide_inactive = true -hide_missing = true - -[[block]] -block = "net" -device = "wlo1" -hide_inactive = true -hide_missing = true +device = "wlp166s0" +format = " $icon $ip$frequency " [[block]] block = "custom" @@ -61,23 +64,20 @@ command = '''echo " $(cat /sys/class/thermal/thermal_zone0/temp | head -c 2) [[block]] block = "disk_space" path = "/" -alias = " /" info_type = "available" -unit = "GB" +format = " $icon $available " interval = 20 warning = 20.0 alert = 10.0 [[block]] block = "memory" -display_type = "memory" -format_mem = "{mem_total_used_percents}" -clickable = false +format = " $icon $mem_used/$mem_total " [[block]] block = "load" interval = 1 -format = "{1m}" +format = " $icon $1m " [[block]] block = "sound" @@ -88,11 +88,23 @@ block = "backlight" [[block]] block = "battery" -device = "BAT0" +device = "BAT1" interval = 10 -format = "{percentage}% {time}" +format = " $icon $percentage ($time) " +full_format = " $icon $percentage " [[block]] block = "time" interval = 60 -format = "%Y-%m-%d %H:%M" +format = " $timestamp.datetime(f:'%Y-%m-%d %H:%M') " + +[[block]] +block = "notify" +driver = "swaync" +format = " $icon {($notification_count.eng(w:1)) |}" +[[block.click]] +button = "left" +action = "show" +[[block.click]] +button = "right" +action = "toggle_paused" diff --git a/dotfiles/wezterm.lua b/dotfiles/wezterm.lua new file mode 100644 index 0000000..de74238 --- /dev/null +++ b/dotfiles/wezterm.lua @@ -0,0 +1,39 @@ +local wezterm = require 'wezterm'; + +return { + audible_bell = "Disabled", + bold_brightens_ansi_colors = true, + color_scheme = "One Light (base16)", + enable_tab_bar = false, + enable_wayland = true, + font_size = 12, + font = wezterm.font("CaskaydiaCove Nerd Font"), + window_background_opacity = 0.97, + window_close_confirmation = 'NeverPrompt', + default_prog = { '/run/current-system/sw/bin/bash' }, + + keys = { + { + key = 'Escape', + mods = 'CTRL', + action = wezterm.action.QuickSelect, + }, + }, + + window_padding = { + left = 0, + right = 0, + top = 0, + bottom = 0, + }, + + quick_select_patterns = { + '^([^ ]+) +(?:ClusterIP|Bound)', + '^([^ ]+) +(?:[0-9]+/[0-9]+)', + '^([^ ]+) +(?:[0-9]+ )', + '^([^ ]+) +(?:Opaque|kubernetes\\.io|helm\\.sh)', + '^([^ ]+) +(?:Active)', + '[^ ]+@[^ ]+.service', + 'git push.*', + }, +} diff --git a/hardware/desktop.nix b/hardware/desktop.nix new file mode 100644 index 0000000..2a90d89 --- /dev/null +++ b/hardware/desktop.nix @@ -0,0 +1,42 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +let unstable = import { config.allowUnfree = true; }; +in { + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot.initrd.availableKernelModules = + [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ "amdgpu" ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "tank/root/nixos"; + fsType = "zfs"; + }; + + fileSystems."/home" = { + device = "tank/root/home"; + fsType = "zfs"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/587C-36F9"; + fsType = "vfat"; + }; + + swapDevices = [ ]; + + # custom + boot.extraModprobeConfig = '' + options snd_usb_audio device_setup=1 + ''; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.systemd-boot.enable = true; + networking.hostId = "ef3a5d57"; + networking.hostName = "home"; + hardware.opengl.enable = true; +} diff --git a/hardware/framework.nix b/hardware/framework.nix new file mode 100644 index 0000000..dd83777 --- /dev/null +++ b/hardware/framework.nix @@ -0,0 +1,84 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +let + #nixkernel = import {}; +in +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" "i915" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "workpool/nixos/root"; + fsType = "zfs"; + }; + + fileSystems."/home" = + { device = "workpool/nixos/home"; + fsType = "zfs"; + }; + + fileSystems."/var/lib/docker" = + { device = "workpool/nixos/docker"; + fsType = "zfs"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/AA17-42AD"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/18ae41eb-e32e-46a3-9e22-3395c37782df"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + # custom + boot.loader.systemd-boot.enable = true; + networking.hostId = "f0000001"; + networking.hostName = "sphere"; + services.tlp.enable = true; + services.hardware.bolt.enable = true; + + # framework hardware + #boot.kernelPackages = nixkernel.linuxPackages_5_19; + #boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; + boot.kernelParams = [ + "mem_sleep_default=deep" + "nvme.noacpi=1" + "i915.enable_psr=1" + ]; + boot.blacklistedKernelModules = [ "hid-sensor-hub" ]; + hardware.acpilight.enable = true; + services.xserver.dpi = 125; + environment.variables = { + VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl"); + }; + hardware.graphics.extraPackages = with pkgs; [ + vaapiIntel + libvdpau-va-gl + intel-media-driver + ]; + services.tlp.settings = { + CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; + CPU_ENERGY_PERF_POLICY_ON_BAT = "performance"; + }; +} diff --git a/hardware/vison14.nix b/hardware/vison14.nix index cf4b406..08620c6 100644 --- a/hardware/vison14.nix +++ b/hardware/vison14.nix @@ -3,43 +3,40 @@ # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, modulesPath, ... }: -let - tuxedo-keyboard = pkgs.callPackage (import ../packages/tuxedo-keyboard.nix) {}; - tuxedo-cc = pkgs.callPackage (import ../packages/tuxedo-control-center/default.nix) {}; +let + tuxedo-keyboard = + pkgs.callPackage (import ../packages/tuxedo-keyboard.nix) { }; + tuxedo-cc = + pkgs.callPackage (import ../packages/tuxedo-control-center/default.nix) { }; in { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = + [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ - tuxedo-keyboard - ]; - environment.systemPackages = with pkgs; [ - tuxedo-cc - ]; + boot.extraModulePackages = [ tuxedo-keyboard ]; + environment.systemPackages = with pkgs; [ tuxedo-cc ]; - fileSystems."/" = - { device = "private/root/nixos"; - fsType = "zfs"; - }; + fileSystems."/" = { + device = "private/root/nixos"; + fsType = "zfs"; + }; - fileSystems."/home" = - { device = "private/root/home"; - fsType = "zfs"; - }; + fileSystems."/home" = { + device = "private/root/home"; + fsType = "zfs"; + }; - fileSystems."/tmp" = - { device = "private/root/tmp"; - fsType = "zfs"; - }; + fileSystems."/tmp" = { + device = "private/root/tmp"; + fsType = "zfs"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/7E36-C774"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/7E36-C774"; + fsType = "vfat"; + }; swapDevices = [ ]; diff --git a/hardware/x220-discovery.nix b/hardware/x220-discovery.nix index 7230b17..a871c3f 100644 --- a/hardware/x220-discovery.nix +++ b/hardware/x220-discovery.nix @@ -3,32 +3,37 @@ # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, ... }: -let - unstable = import { config.allowUnfree = true; }; +let unstable = import { config.allowUnfree = true; }; in { - imports = - [ - ]; + imports = [ ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "ehci_pci" + "ahci" + "usbhid" + "usb_storage" + "sd_mod" + "rtsx_pci_sdmmc" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "tank/root/nixos"; - fsType = "zfs"; - }; + fileSystems."/" = { + device = "cube/root/nixos"; + fsType = "zfs"; + }; - fileSystems."/home" = - { device = "tank/root/home"; - fsType = "zfs"; - }; + fileSystems."/home" = { + device = "cube/home"; + fsType = "zfs"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/1339-E59C"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/2AD7-4F18"; + fsType = "vfat"; + }; swapDevices = [ ]; diff --git a/hardware/x360-raven.nix b/hardware/x360-raven.nix index 19cca78..d3b6ff4 100644 --- a/hardware/x360-raven.nix +++ b/hardware/x360-raven.nix @@ -3,8 +3,7 @@ # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, ... }: -let - unstable = import { config.allowUnfree = true; }; +let unstable = import { config.allowUnfree = true; }; in { imports = [ @@ -19,14 +18,8 @@ in { "w /sys/class/drm/card0/device/power_dpm_force_performance_level - - - - low" ]; - boot.initrd.availableKernelModules = [ - "nvme" - "xhci_pci" - "ahci" - "usb_storage" - "sd_mod" - "rtsx_pci_sdmmc" - ]; + boot.initrd.availableKernelModules = + [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.kernelModules = [ ]; boot.extraModulePackages = [ ]; boot.kernelModules = [ "kvm-amd" ]; @@ -35,7 +28,6 @@ in { boot.kernelPackages = unstable.linuxPackages_latest; #boot.kernelPackages = unstable.linux_testing; - boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -45,20 +37,20 @@ in { networking.interfaces.wlo1.useDHCP = true; networking.resolvconf.useLocalResolver = true; - fileSystems."/" = - { device = "tank/root/nixos"; - fsType = "zfs"; - }; + fileSystems."/" = { + device = "tank/root/nixos"; + fsType = "zfs"; + }; - fileSystems."/home" = - { device = "tank/home"; - fsType = "zfs"; - }; + fileSystems."/home" = { + device = "tank/home"; + fsType = "zfs"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/B048-FBC8"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/B048-FBC8"; + fsType = "vfat"; + }; swapDevices = [ ]; diff --git a/hardware/xps15-sphere.nix b/hardware/xps15-sphere.nix index 40a4213..f16c81c 100644 --- a/hardware/xps15-sphere.nix +++ b/hardware/xps15-sphere.nix @@ -3,16 +3,14 @@ # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, ... }: -let - unstable = import { config.allowUnfree = true; }; +let unstable = import { config.allowUnfree = true; }; in { - imports = - [ - ]; + imports = [ ]; boot.extraModulePackages = [ ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; + boot.initrd.availableKernelModules = + [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ "i915" ]; boot.kernelModules = [ "kvm-intel" ]; boot.kernelParams = [ "intel_pstate=active" ]; boot.extraModprobeConfig = '' @@ -26,26 +24,29 @@ in { enable = true; extraPackages = with pkgs; [ intel-media-driver # LIBVA_DRIVER_NAME=iHD - vaapiIntel # LIBVA_DRIVER_NAME=i965 + vaapiIntel # LIBVA_DRIVER_NAME=i965 vaapiVdpau libvdpau-va-gl ]; }; + environment.variables = { + VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl"); + }; - fileSystems."/" = - { device = "tank/work/nixos"; - fsType = "zfs"; - }; + fileSystems."/" = { + device = "tank/work/nixos"; + fsType = "zfs"; + }; - fileSystems."/home" = - { device = "tank/work/home"; - fsType = "zfs"; - }; + fileSystems."/home" = { + device = "tank/work/home"; + fsType = "zfs"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/DC7B-5E2D"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/DC7B-5E2D"; + fsType = "vfat"; + }; swapDevices = [ ]; @@ -53,7 +54,6 @@ in { powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; # custom - #boot.kernelPackages = pkgs.linuxPackages_latest; boot.loader.systemd-boot.enable = true; hardware.cpu.intel.updateMicrocode = true; networking.hostId = "eff291c4"; diff --git a/modules/colors.nix b/modules/colors.nix new file mode 100644 index 0000000..4a84640 --- /dev/null +++ b/modules/colors.nix @@ -0,0 +1,48 @@ +{ config, lib, pkgs, ... }: + +with lib; { + options = { + colors = { + background = mkOption { + type = types.str; + default = "19181A"; + }; + foreground = mkOption { + type = types.str; + default = "FCFCFA"; + }; + black = mkOption { + type = types.str; + default = "19181A"; + }; + red = mkOption { + type = types.str; + default = "cc6666"; + }; + green = mkOption { + type = types.str; + default = "a9dc76"; + }; + yellow = mkOption { + type = types.str; + default = "ffd866"; + }; + cyan = mkOption { + type = types.str; + default = "78dce8"; + }; + magenta = mkOption { + type = types.str; + default = "FC9867"; + }; + blue = mkOption { + type = types.str; + default = "AB9DF2"; + }; + white = mkOption { + type = types.str; + default = "FCFCFA"; + }; + }; + }; +} diff --git a/packages/certmanager.nix b/packages/certmanager.nix new file mode 100644 index 0000000..aa82002 --- /dev/null +++ b/packages/certmanager.nix @@ -0,0 +1,28 @@ +with import { }; + +stdenv.mkDerivation rec { + name = "cert-manager"; + version = "v1.7.1"; + src = fetchurl { + url = + "https://github.com/cert-manager/cert-manager/releases/download/${version}/cmctl-linux-amd64.tar.gz"; + sha256 = "1z5n2rcfhrl1vm5vxqa1759m3prlv08mmg96n16p4gwkdxycznx4"; + }; + + nativeBuildInputs = [ autoPatchelfHook ]; + + unpackPhase = '' + tar xvpzf $src + ''; + + installPhase = '' + install -m 755 -D cmctl $out/bin/cmctl + ''; + + meta = with lib; { + homepage = "https://cert-manager.io"; + description = "cert-manager CLI"; + platforms = platforms.linux; + maintainers = with maintainers; [ foosinn ]; + }; +} diff --git a/packages/cloudstation.nix b/packages/cloudstation.nix index d47ee2b..8532b00 100644 --- a/packages/cloudstation.nix +++ b/packages/cloudstation.nix @@ -1,22 +1,14 @@ -{ stdenv -, buildFHSUserEnv -, fetchurl -, lib -, pkgs -, writeScript -}: +{ stdenv, buildFHSUserEnv, fetchurl, lib, pkgs, writeScript }: let version = "4.3.3"; release = "4469"; cloudstation = stdenv.mkDerivation rec { name = "cloudstation-unpack"; - buildInputs = [ - pkgs.dpkg - pkgs.qt5.qtbase - ]; + buildInputs = [ pkgs.dpkg pkgs.qt5.qtbase ]; src = fetchurl { - url = "https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb"; + url = + "https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb"; sha256 = "0v84yb70knmmjzp7lyn6jgy5bnfsfd47wmqh29phybqg4zk3d47j"; }; unpackPhase = '' @@ -35,35 +27,37 @@ let dontWrapQtApps = true; }; - in buildFHSUserEnv { name = "cloudstation"; - targetPkgs = pkgs: with pkgs; with xorg; [ - cloudstation - curl - dbus_libs - fontconfig - freetype - glib - libICE - libSM - libX11 - libxcb - openssl - qt5.qtbase - qt5.qttools - qt5.qtwayland - qt5.qtx11extras - sqlite - stdenv.cc.cc.lib - xkeyboard_config - zlib - ]; + targetPkgs = pkgs: + with pkgs; + with xorg; [ + cloudstation + curl + dbus + fontconfig + freetype + glib + libICE + libSM + libX11 + libxcb + openssl + qt5.qtbase + qt5.qttools + qt5.qtwayland + qt5.qtx11extras + sqlite + stdenv.cc.cc.lib + xkeyboard_config + zlib + ]; runScript = writeScript "cloudstation" '' #!/usr/bin/env bash export QT_PLUGIN_PATH="${pkgs.qt5.qtbase.bin}/${pkgs.qt5.qtbase.qtPluginPrefix}" + export QT_QPA_PLATFORM=xcb ${cloudstation}/bin/launcher export LD_LIBRARY_PATH="/home/stefan/.CloudStation/CloudStation.app/lib:$LD_LIBRARY_PATH" diff --git a/packages/helm2.nix b/packages/helm2.nix deleted file mode 100644 index 29956c3..0000000 --- a/packages/helm2.nix +++ /dev/null @@ -1,29 +0,0 @@ -with import {}; - -stdenv.mkDerivation rec { - name = "helm2"; - version = "2.14.3"; - src = fetchurl { - url = "https://get.helm.sh/helm-v${version}-linux-amd64.tar.gz"; - sha256 = "38614a665859c0f01c9c1d84fa9a5027364f936814d1e47839b05327e400bf55"; - }; - - nativeBuildInputs = [ - autoPatchelfHook - ]; - - unpackPhase = '' - tar xvpzf $src - ''; - - installPhase = '' - install -m 755 -D linux-amd64/helm $out/bin/helm2 - ''; - - meta = with stdenv.lib; { - homepage = "https://helm.sh"; - description = "helms depricated v2 verison"; - platforms = platforms.linux; - maintainers = with maintainers; [ foosinn ]; - }; -} diff --git a/packages/nagstamon.nix b/packages/nagstamon.nix index c1c09e7..c78c154 100644 --- a/packages/nagstamon.nix +++ b/packages/nagstamon.nix @@ -1,40 +1,43 @@ -{ stdenv, fetchFromGitHub, python38Packages, wrapQtAppsHook }: +{ lib, fetchFromGitHub, python311Packages, wrapQtAppsHook, pkgs }: -python38Packages.buildPythonApplication rec { +let pname = "nagstamon"; - version = "3.7.0-alpha"; + version = "v3.12.0"; + +in python311Packages.buildPythonApplication rec { + inherit pname; + inherit version; src = fetchFromGitHub { - owner = "HenriWahl"; + owner = "HenriWahl"; repo = "Nagstamon"; - rev = "dba37dc034589dfb312c6e8a7cc768bcd1952db9"; - sha256 = "1l095halb55qinaik51p3lxiln1s034dr28k7ra6xzrrv9l1x1xw"; + rev = version; + sha256 = "sha256-SI0FPTqJquaVyl/gpp883eGLq7tZ6J0fqn0jp77M8GM="; }; - # Test assumes darwin doCheck = false; nativeBuildInputs = [ wrapQtAppsHook ]; - dontWrapQtApps = true; postFixup = '' - wrapQtApp $out/bin/nagstamon.py + makeQtWrapper $out/bin/nagstamon.py $out/bin/nagstamon ''; - propagatedBuildInputs = with python38Packages; [ - beautifulsoup4 - configparser - dateutil - kerberos - keyring - lxml - psutil - pyqt5_with_qtmultimedia - requests - requests-kerberos - xlib + propagatedBuildInputs = [ + python311Packages.beautifulsoup4 + python311Packages.configparser + python311Packages.dateutil + python311Packages.keyring + python311Packages.lxml + python311Packages.psutil + python311Packages.pyqt5_with_qtmultimedia + python311Packages.requests + python311Packages.requests-kerberos + python311Packages.setuptools + python311Packages.xlib + pkgs.libsForQt5.qt5.qtwayland ]; - meta = with stdenv.lib; { + meta = with lib; { description = "A status monitor for the desktop"; homepage = "https://nagstamon.ifw-dresden.de/"; license = licenses.gpl2; @@ -42,4 +45,3 @@ python38Packages.buildPythonApplication rec { inherit version; }; } - diff --git a/packages/neovim.nix b/packages/neovim.nix index 54f3cc9..2138777 100644 --- a/packages/neovim.nix +++ b/packages/neovim.nix @@ -1,8 +1,12 @@ -with import {}; +with import { }; neovim.override { + vimAlias = true; + configure = { customRC = '' + source ${pkgs.fzf}/share/vim-plugins/fzf/plugin/fzf.vim + set hidden " langserver @@ -11,7 +15,7 @@ neovim.override { \ 'python': ['pyls'], \ 'rust': ['rust-analyzer'], \ } - + " basic builtin set background=dark set shiftwidth=4 @@ -27,6 +31,7 @@ neovim.override { set relativenumber set mouse=a set shortmess+=c + set clipboard=unnamedplus " better search set incsearch @@ -64,9 +69,10 @@ neovim.override { let g:which_key_map = {} let g:which_key_map.f = { 'name': '+files' } - noremap ff :FZF - noremap fc :saveas - + noremap ff :Files + noremap fn :NnnPicker %:p:h + noremap fc :saveas %:p:h + let g:which_key_map.y = { 'name': '+yank' } noremap yp :read !wl-paste noremap yy :read !wl-paste @@ -78,8 +84,8 @@ neovim.override { noremap bd :bd noremap bn :bn noremap bp :bp - - let g:which_key_map.b = { 'name': '+lang' } + + let g:which_key_map.m = { 'name': '+lang' } noremap md :call LanguageClient_textDocument_codeAction() noremap mc :call LanguageClient#textDocument_references() noremap mf :call LanguageClient#textDocument_formatting() @@ -88,6 +94,11 @@ neovim.override { noremap mm :call LanguageClient#textDocument_hover() noremap mr :call LanguageClient#textDocument_rename() noremap ms :call LanguageClient#workspace_symbol() + noremap ma :fzf_lsp_action + noremap ml :fzf_lsp_layout + + let g:which_key_map.g = { 'name': '+git' } + noremap gs :call LazyGit " lang specifics let g:rustfmt_autosave = 1 @@ -99,10 +110,13 @@ neovim.override { airline easymotion editorconfig-vim - fugitive - fzf + fzf-lsp-nvim + fzf-vim + fzfWrapper LanguageClient-neovim + lazygit-nvim ncm2 + nnn-vim surround syntastic vim-addon-nix diff --git a/packages/notcoal/Cargo.lock.patch b/packages/notcoal/Cargo.lock.patch index 63de9ff..cb7b42a 100644 --- a/packages/notcoal/Cargo.lock.patch +++ b/packages/notcoal/Cargo.lock.patch @@ -1,31 +1,27 @@ diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 -index 0000000..1bcb060 +index 0000000..a7de0d9 --- /dev/null +++ b/Cargo.lock -@@ -0,0 +1,616 @@ +@@ -0,0 +1,543 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. -+[[package]] -+name = "ahash" -+version = "0.3.8" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" ++version = 3 + +[[package]] +name = "aho-corasick" -+version = "0.7.13" ++version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86" ++checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + +[[package]] +name = "ansi_term" -+version = "0.11.0" ++version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" ++checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] @@ -38,9 +34,9 @@ index 0000000..1bcb060 + +[[package]] +name = "arrayvec" -+version = "0.5.1" ++version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" ++checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "atty" @@ -54,43 +50,32 @@ index 0000000..1bcb060 +] + +[[package]] -+name = "autocfg" -+version = "1.0.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" -+ -+[[package]] +name = "base64" -+version = "0.10.1" ++version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" ++checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" +dependencies = [ + "byteorder", ++ "safemem", +] + +[[package]] +name = "base64" -+version = "0.11.0" ++version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" -+ -+[[package]] -+name = "base64" -+version = "0.12.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" ++checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitflags" -+version = "1.2.1" ++version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" ++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "blake2b_simd" -+version = "0.5.10" ++version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" ++checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +dependencies = [ + "arrayref", + "arrayvec", @@ -99,31 +84,21 @@ index 0000000..1bcb060 + +[[package]] +name = "byteorder" -+version = "1.3.4" ++version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" ++checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "cfg-if" -+version = "0.1.10" ++version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" -+ -+[[package]] -+name = "charset" -+version = "0.1.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4f426e64df1c3de26cbf44593c6ffff5dbfd43bbf9de0d075058558126b3fc73" -+dependencies = [ -+ "base64 0.10.1", -+ "encoding_rs", -+] ++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" -+version = "2.33.1" ++version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129" ++checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", @@ -142,30 +117,19 @@ index 0000000..1bcb060 + +[[package]] +name = "crossbeam-utils" -+version = "0.7.2" ++version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" ++checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6" +dependencies = [ -+ "autocfg", + "cfg-if", + "lazy_static", +] + +[[package]] +name = "dirs" -+version = "2.0.2" ++version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" -+dependencies = [ -+ "cfg-if", -+ "dirs-sys", -+] -+ -+[[package]] -+name = "dirs-sys" -+version = "0.3.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" ++checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" +dependencies = [ + "libc", + "redox_users", @@ -173,28 +137,74 @@ index 0000000..1bcb060 +] + +[[package]] -+name = "dlv-list" -+version = "0.2.2" ++name = "encoding" ++version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1b391911b9a786312a10cb9d2b3d0735adfd5a8113eb3648de26a75e91b0826c" ++checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" +dependencies = [ -+ "rand", ++ "encoding-index-japanese", ++ "encoding-index-korean", ++ "encoding-index-simpchinese", ++ "encoding-index-singlebyte", ++ "encoding-index-tradchinese", +] + +[[package]] -+name = "encoding_rs" -+version = "0.8.23" ++name = "encoding-index-japanese" ++version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e8ac63f94732332f44fe654443c46f6375d1939684c17b0afb6cb56b0456e171" ++checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" +dependencies = [ -+ "cfg-if", ++ "encoding_index_tests", +] + +[[package]] ++name = "encoding-index-korean" ++version = "1.20141219.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" ++dependencies = [ ++ "encoding_index_tests", ++] ++ ++[[package]] ++name = "encoding-index-simpchinese" ++version = "1.20141219.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" ++dependencies = [ ++ "encoding_index_tests", ++] ++ ++[[package]] ++name = "encoding-index-singlebyte" ++version = "1.20141219.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" ++dependencies = [ ++ "encoding_index_tests", ++] ++ ++[[package]] ++name = "encoding-index-tradchinese" ++version = "1.20141219.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" ++dependencies = [ ++ "encoding_index_tests", ++] ++ ++[[package]] ++name = "encoding_index_tests" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" ++ ++[[package]] +name = "getrandom" -+version = "0.1.14" ++version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" ++checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", @@ -202,38 +212,28 @@ index 0000000..1bcb060 +] + +[[package]] -+name = "hashbrown" -+version = "0.7.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf" -+dependencies = [ -+ "ahash", -+ "autocfg", -+] -+ -+[[package]] +name = "heck" -+version = "0.3.1" ++version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" ++checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" -+version = "0.1.15" ++version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9" ++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "itoa" -+version = "0.4.6" ++version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" ++checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + +[[package]] +name = "lazy_static" @@ -243,30 +243,30 @@ index 0000000..1bcb060 + +[[package]] +name = "libc" -+version = "0.2.73" ++version = "0.2.119" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9" ++checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" + +[[package]] +name = "mailparse" -+version = "0.12.2" ++version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "336d59e50513349423fa89bdadef5b5c49972a6ce0b66d3b2c7c8b7ab3969faf" ++checksum = "99c0af7aaefb167bb908763399ea2904dab08ca4fd8c2a3277516d4e488b5fe3" +dependencies = [ -+ "base64 0.12.3", -+ "charset", ++ "base64 0.9.3", ++ "encoding", + "quoted_printable", +] + +[[package]] +name = "memchr" -+version = "2.3.3" ++version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" ++checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" + +[[package]] +name = "notcoal" -+version = "0.4.0" ++version = "0.3.0" +dependencies = [ + "dirs", + "mailparse", @@ -280,118 +280,55 @@ index 0000000..1bcb060 + +[[package]] +name = "notmuch" -+version = "0.6.0" ++version = "0.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "831623c1b68968505126423f34dc887aa610daf543efc05df948c673e4e022e9" +dependencies = [ + "libc", + "supercow", +] + +[[package]] -+name = "ordered-multimap" -+version = "0.2.4" ++name = "proc-macro2" ++version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e88f947c6799d5eff50e6cf8a2365c17ac4aa8f8f43aceeedc29b616d872a358" ++checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +dependencies = [ -+ "dlv-list", -+ "hashbrown", -+] -+ -+[[package]] -+name = "ppv-lite86" -+version = "0.2.8" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" -+ -+[[package]] -+name = "proc-macro-error" -+version = "1.0.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "fc175e9777c3116627248584e8f8b3e2987405cabe1c0adf7d1dd28f09dc7880" -+dependencies = [ -+ "proc-macro-error-attr", -+ "proc-macro2", -+ "quote", -+ "syn", -+ "version_check", -+] -+ -+[[package]] -+name = "proc-macro-error-attr" -+version = "1.0.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3cc9795ca17eb581285ec44936da7fc2335a3f34f2ddd13118b6f4d515435c50" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+ "syn-mid", -+ "version_check", ++ "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" -+version = "1.0.19" ++version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12" ++checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +dependencies = [ -+ "unicode-xid", ++ "unicode-xid 0.2.2", +] + +[[package]] +name = "quote" -+version = "1.0.7" ++version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" ++checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +dependencies = [ -+ "proc-macro2", ++ "proc-macro2 0.4.30", ++] ++ ++[[package]] ++name = "quote" ++version = "1.0.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" ++dependencies = [ ++ "proc-macro2 1.0.36", +] + +[[package]] +name = "quoted_printable" -+version = "0.4.2" ++version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "47b080c5db639b292ac79cbd34be0cfc5d36694768d8341109634d90b86930e2" -+ -+[[package]] -+name = "rand" -+version = "0.7.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -+dependencies = [ -+ "getrandom", -+ "libc", -+ "rand_chacha", -+ "rand_core", -+ "rand_hc", -+] -+ -+[[package]] -+name = "rand_chacha" -+version = "0.2.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -+dependencies = [ -+ "ppv-lite86", -+ "rand_core", -+] -+ -+[[package]] -+name = "rand_core" -+version = "0.5.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -+dependencies = [ -+ "getrandom", -+] -+ -+[[package]] -+name = "rand_hc" -+version = "0.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -+dependencies = [ -+ "rand_core", -+] ++checksum = "3fee2dce59f7a43418e3382c766554c614e06a552d53a8f07ef499ea4b332c0f" + +[[package]] +name = "redox_syscall" @@ -401,9 +338,9 @@ index 0000000..1bcb060 + +[[package]] +name = "redox_users" -+version = "0.3.4" ++version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" ++checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" +dependencies = [ + "getrandom", + "redox_syscall", @@ -412,29 +349,28 @@ index 0000000..1bcb060 + +[[package]] +name = "regex" -+version = "1.3.9" ++version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" ++checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", -+ "thread_local", +] + +[[package]] +name = "regex-syntax" -+version = "0.6.18" ++version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" ++checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + +[[package]] +name = "rust-argon2" -+version = "0.7.0" ++version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" ++checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" +dependencies = [ -+ "base64 0.11.0", ++ "base64 0.13.0", + "blake2b_simd", + "constant_time_eq", + "crossbeam-utils", @@ -442,45 +378,47 @@ index 0000000..1bcb060 + +[[package]] +name = "rust-ini" -+version = "0.15.3" ++version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7a3679dd538c876a7b606f3bb951c8a20fc281a0ff7795f59f7cb490e3f979e1" -+dependencies = [ -+ "cfg-if", -+ "ordered-multimap", -+] ++checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2" + +[[package]] +name = "ryu" -+version = "1.0.5" ++version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" ++checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" ++ ++[[package]] ++name = "safemem" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + +[[package]] +name = "serde" -+version = "1.0.114" ++version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3" ++checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" -+version = "1.0.114" ++version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" ++checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", ++ "proc-macro2 1.0.36", ++ "quote 1.0.15", ++ "syn 1.0.86", +] + +[[package]] +name = "serde_json" -+version = "1.0.57" ++version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c" ++checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +dependencies = [ + "itoa", + "ryu", @@ -495,26 +433,24 @@ index 0000000..1bcb060 + +[[package]] +name = "structopt" -+version = "0.3.15" ++version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "de2f5e239ee807089b62adce73e48c625e0ed80df02c7ab3f068f5db5281065c" ++checksum = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7" +dependencies = [ + "clap", -+ "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" -+version = "0.4.8" ++version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "510413f9de616762a4fbeab62509bf15c729603b72d7cd71280fbca431b1c118" ++checksum = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107" +dependencies = [ + "heck", -+ "proc-macro-error", -+ "proc-macro2", -+ "quote", -+ "syn", ++ "proc-macro2 0.4.30", ++ "quote 0.6.13", ++ "syn 0.15.44", +] + +[[package]] @@ -525,24 +461,24 @@ index 0000000..1bcb060 + +[[package]] +name = "syn" -+version = "1.0.36" ++version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4cdb98bcb1f9d81d07b536179c269ea15999b5d14ea958196413869445bb5250" ++checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-xid", ++ "proc-macro2 0.4.30", ++ "quote 0.6.13", ++ "unicode-xid 0.1.0", +] + +[[package]] -+name = "syn-mid" -+version = "0.5.0" ++name = "syn" ++version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" ++checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" +dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", ++ "proc-macro2 1.0.36", ++ "quote 1.0.15", ++ "unicode-xid 0.2.2", +] + +[[package]] @@ -555,31 +491,28 @@ index 0000000..1bcb060 +] + +[[package]] -+name = "thread_local" -+version = "1.0.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" -+dependencies = [ -+ "lazy_static", -+] -+ -+[[package]] +name = "unicode-segmentation" -+version = "1.6.0" ++version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" ++checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" + +[[package]] +name = "unicode-width" -+version = "0.1.8" ++version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" ++checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" + +[[package]] +name = "unicode-xid" -+version = "0.2.1" ++version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" ++checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" ++ ++[[package]] ++name = "unicode-xid" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "vec_map" @@ -588,12 +521,6 @@ index 0000000..1bcb060 +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] -+name = "version_check" -+version = "0.9.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" -+ -+[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/packages/notcoal/default.nix b/packages/notcoal/default.nix index 7c080eb..ec2b27d 100644 --- a/packages/notcoal/default.nix +++ b/packages/notcoal/default.nix @@ -1,26 +1,23 @@ -{ lib, stdenv, rustPlatform, notmuch, bash }: +{ lib, stdenv, rustPlatform, fetchFromGitHub, pkgs }: rustPlatform.buildRustPackage rec { pname = "notcoal"; version = "0.3.0"; - src = fetchTarball { - url = https://ghom.niij.org/eaon/notcoal/archive/v0.3.0.tar.gz; + src = fetchFromGitHub { + owner = "eaon"; + repo = pname; + rev = "v${version}"; sha256 = "19gaba6asid5vplcy9q0ama40dvwwxglc40ks5240lydrvgfrimq"; }; - cargoPatches = [ - ./Cargo.lock.patch - ]; - cargoSha256 = "0kgjxq2319l2gh1xc0f3ir1pa6z7p62z3fccswwxrz7gbn7nc07c"; - cargoBuildFlags = ["--features=standalone"]; - buildInputs = [ - bash - notmuch - ]; + cargoPatches = [ ./Cargo.lock.patch ]; + cargoSha256 = "09bmlpl6rx2pk5w6vv2i1lsl6vr1733zy9jjvi5kkk1mqwinq8ai"; + cargoBuildFlags = [ "--features=standalone" ]; + buildInputs = with pkgs; [ bash notmuch ]; - meta = with stdenv.lib; { + meta = with lib; { description = "An email tagger for notmuch"; homepage = "https://ghom.niij.org/eaon/notcoal"; }; diff --git a/packages/oc311.nix b/packages/oc311.nix index b4c7c5d..3644768 100644 --- a/packages/oc311.nix +++ b/packages/oc311.nix @@ -1,16 +1,15 @@ -with import {}; +with import { }; stdenv.mkDerivation { name = "oc311"; version = "3.11"; src = fetchurl { - url = "https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz"; + url = + "https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz"; sha256 = "4b0f07428ba854174c58d2e38287e5402964c9a9355f6c359d1242efd0990da3"; }; - nativeBuildInputs = [ - autoPatchelfHook - ]; + nativeBuildInputs = [ autoPatchelfHook ]; unpackPhase = '' tar xvpzf $src --strip-components=1 @@ -20,7 +19,7 @@ stdenv.mkDerivation { install -m 755 -D oc $out/bin/oc3 ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://www.odk.io"; description = "openshift311 client"; platforms = platforms.linux; diff --git a/packages/oc46.nix b/packages/oc46.nix index 263db47..ce1d9a1 100644 --- a/packages/oc46.nix +++ b/packages/oc46.nix @@ -1,16 +1,15 @@ -with import {}; +with import { }; stdenv.mkDerivation rec { name = "oc46"; version = "4.6"; src = fetchurl { - url = "https://github.com/openshift/okd/releases/download/4.6.0-0.okd-2021-02-14-205305/openshift-client-linux-4.6.0-0.okd-2021-02-14-205305.tar.gz"; + url = + "https://github.com/openshift/okd/releases/download/4.6.0-0.okd-2021-02-14-205305/openshift-client-linux-4.6.0-0.okd-2021-02-14-205305.tar.gz"; sha256 = "741c456f1d5227eb40722b0dac328c78dceba5103fd306cf7fe57a9474eb3d35"; }; - nativeBuildInputs = [ - autoPatchelfHook - ]; + nativeBuildInputs = [ autoPatchelfHook ]; unpackPhase = '' tar xvpzf $src @@ -20,7 +19,7 @@ stdenv.mkDerivation rec { install -m 755 -D oc $out/bin/oc ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://www.odk.io"; description = "openshift 4.6 client"; platforms = platforms.linux; diff --git a/packages/openscad-language-server.nix b/packages/openscad-language-server.nix new file mode 100644 index 0000000..9709618 --- /dev/null +++ b/packages/openscad-language-server.nix @@ -0,0 +1,23 @@ +{ pkgs, lib, rustPlatform }: + +let + pname = "openscad-language-server"; + version = "0.1.0"; + src = pkgs.fetchFromGitHub { + owner = "dzhu"; + repo = pname; + rev = version; + sha256 = "00msajwwy531ji93xk83lbnbp19asyk1b8ai0hi2awb63vpdr4xg"; + }; +in +rustPlatform.buildRustPackage { + inherit pname; + inherit version; + inherit src; + + cargoSha256 = "0w245d5n0v8b02y0rc1lqx1svi9dnif4gvsas46h9g68206yijcf"; + + meta = with lib; { + description = "openscad language server"; + }; +} diff --git a/packages/openshift-install-4.5.nix b/packages/openshift-install-4.5.nix index 4c59399..78a66a3 100644 --- a/packages/openshift-install-4.5.nix +++ b/packages/openshift-install-4.5.nix @@ -1,17 +1,16 @@ -with import {}; +with import { }; stdenv.mkDerivation rec { name = "openshift-install-4.5"; version = "4.5.0-0"; release = "2020-10-03-012432"; src = fetchurl { - url = "https://github.com/openshift/okd/releases/download/${version}.okd-${release}/openshift-install-linux-${version}.okd-${release}.tar.gz"; + url = + "https://github.com/openshift/okd/releases/download/${version}.okd-${release}/openshift-install-linux-${version}.okd-${release}.tar.gz"; sha256 = "f497193e8918840a4fd3267839affdc91ec166c5fd2ae3fdc64f498b5fc56f55"; }; - nativeBuildInputs = [ - autoPatchelfHook - ]; + nativeBuildInputs = [ autoPatchelfHook ]; unpackPhase = '' tar xvpzf $src @@ -21,7 +20,7 @@ stdenv.mkDerivation rec { install -m 755 -D openshift-install $out/bin/openshift-install ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://www.odk.io"; description = "openshift 4.5 installer"; platforms = platforms.linux; diff --git a/packages/skaffold.nix b/packages/skaffold.nix index eb42f25..d08f503 100644 --- a/packages/skaffold.nix +++ b/packages/skaffold.nix @@ -1,16 +1,15 @@ -with import {}; +with import { }; stdenv.mkDerivation rec { name = "skaffold"; version = "1.17.2"; src = fetchurl { - url = "https://github.com/GoogleContainerTools/skaffold/releases/download/v${version}/skaffold-linux-amd64"; + url = + "https://github.com/GoogleContainerTools/skaffold/releases/download/v${version}/skaffold-linux-amd64"; sha256 = "55dea8be16fa3abd81820a6a03f5d708beb5e152fe71e00f00744a4dd321c55a"; }; - nativeBuildInputs = [ - autoPatchelfHook - ]; + nativeBuildInputs = [ autoPatchelfHook ]; unpackPhase = '' cp $src skaffold @@ -22,7 +21,7 @@ stdenv.mkDerivation rec { ls -lah $out/bin/skaffold ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://skaffold.dev"; description = "skaffold"; platforms = platforms.linux; diff --git a/packages/tuxedo-cc.nix b/packages/tuxedo-cc.nix index a0c88ad..b0821cf 100644 --- a/packages/tuxedo-cc.nix +++ b/packages/tuxedo-cc.nix @@ -1,36 +1,8 @@ -{ lib -, stdenv -, makeWrapper -, fetchurl -, rpmextract -, autoPatchelfHook -, alsa-lib -, cups -, gdk-pixbuf -, glib -, gtk3 -, libnotify -, libuuid -, libX11 -, libXScrnSaver -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXrandr -, libXrender -, libXtst -, libxcb -, libxshmfence -, mesa -, nspr -, nss -, pango -, systemd -, libappindicator-gtk3 -, libdbusmenu +{ lib, stdenv, makeWrapper, fetchurl, rpmextract, autoPatchelfHook, alsa-lib +, cups, gdk-pixbuf, glib, gtk3, libnotify, libuuid, libX11, libXScrnSaver +, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr +, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss, pango, systemd +, libappindicator-gtk3, libdbusmenu }: @@ -39,11 +11,11 @@ stdenv.mkDerivation rec { version = "1.1.0"; src = fetchurl { - url = "https://rpm.tuxedocomputers.com/opensuse/15.2/x86_64/tuxedo-control-center_${version}.rpm"; + url = + "https://rpm.tuxedocomputers.com/opensuse/15.2/x86_64/tuxedo-control-center_${version}.rpm"; sha256 = "0rqhfi1slnh0kkn1vnxqynxm6yb4w1mhk4vi92vj0lrxlwdxf80c"; }; - nativeBuildInputs = [ rpmextract makeWrapper @@ -112,9 +84,9 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { - description = "A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops."; + description = + "A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops."; homepage = "github.com/tuxedocomputers/tuxedo-control-center"; license = licenses.gpl3Only; maintainers = with maintainers; [ ]; diff --git a/packages/tuxedo-control-center/default.nix b/packages/tuxedo-control-center/default.nix index ea7c0e3..a8b858c 100644 --- a/packages/tuxedo-control-center/default.nix +++ b/packages/tuxedo-control-center/default.nix @@ -1,9 +1,8 @@ { pkgs, lib, stdenv, makeDesktopItem, desktop-file-utils, - python, +python, - makeWrapper, nodejs, electron_9, fetchFromGitHub -}: +makeWrapper, nodejs, electron_9, fetchFromGitHub }: let baseName = "tuxedo-control-center"; @@ -27,13 +26,13 @@ let # # This means we have to provide our own electron binaries when # wrapping this program. - ELECTRON_SKIP_BINARY_DOWNLOAD=1; + ELECTRON_SKIP_BINARY_DOWNLOAD = 1; # Angular prompts for analytics, which in turn fails the build. # # We can disable analytics using false or empty string # (See https://github.com/angular/angular-cli/blob/1a39c5202a6fe159f8d7db85a1c186176240e437/packages/angular/cli/models/analytics.ts#L506) - NG_CLI_ANALYTICS="false"; + NG_CLI_ANALYTICS = "false"; }; desktopItem = makeDesktopItem { @@ -44,9 +43,8 @@ let icon = "tuxedo-control-center"; categories = "System;"; }; -in -stdenv.mkDerivation rec { +in stdenv.mkDerivation rec { name = "${baseName}-${version}"; src = "${nodePackages}/lib/node_modules/tuxedo-control-center/"; @@ -70,7 +68,7 @@ stdenv.mkDerivation rec { substituteInPlace src/common/classes/TccPaths.ts \ --replace "/etc/tcc" "/var/lib/tcc" \ --replace "/opt/tuxedo-control-center/resources/dist/tuxedo-control-center/data/service/tccd" "$out/bin/tccd" - ''; + ''; buildPhase = '' set -x diff --git a/packages/tuxedo-control-center/node-composition.nix b/packages/tuxedo-control-center/node-composition.nix index 7cd99e8..d90588f 100644 --- a/packages/tuxedo-control-center/node-composition.nix +++ b/packages/tuxedo-control-center/node-composition.nix @@ -1,8 +1,7 @@ # This file has been generated by node2nix 1.9.0. Do not edit! -{pkgs ? import { - inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: +{ pkgs ? import { inherit system; }, system ? builtins.currentSystem +, nodejs ? pkgs."nodejs-14_x" }: let nodeEnv = import ./node-env.nix { @@ -10,8 +9,7 @@ let inherit pkgs nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; -in -import ./node-packages.nix { +in import ./node-packages.nix { inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; inherit nodeEnv; } diff --git a/packages/tuxedo-control-center/node-env.nix b/packages/tuxedo-control-center/node-env.nix index 21089c4..7643dc7 100644 --- a/packages/tuxedo-control-center/node-env.nix +++ b/packages/tuxedo-control-center/node-env.nix @@ -1,6 +1,6 @@ # This file originates from node2nix -{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}: +{ lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile }: let # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master @@ -9,7 +9,7 @@ let python = if nodejs ? python then nodejs.python else python2; # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise - tarWrapper = runCommand "tarWrapper" {} '' + tarWrapper = runCommand "tarWrapper" { } '' mkdir -p $out/bin cat > $out/bin/tar < $out/bin/shell < {}; +with import { }; stdenv.mkDerivation rec { name = "vaultsink"; version = "0.1.8"; src = fetchurl { - url = "https://github.com/cookiefactory/vault-sink/releases/download/v${version}/vault-sink-linux-amd64"; + url = + "https://github.com/cookiefactory/vault-sink/releases/download/v${version}/vault-sink-linux-amd64"; sha256 = "057799e7f907186993b591e3b2f743b69d7a9fed"; }; - nativeBuildInputs = [ - autoPatchelfHook - ]; + nativeBuildInputs = [ autoPatchelfHook ]; installPhase = '' install -m 755 -D vault-sink-linux-amd64 $out/bin/sink ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://github.com/cookiefactory/vault-sink"; description = "Vault Secret helper for yaml files"; platforms = platforms.linux; diff --git a/roles/admin.nix b/roles/admin.nix index 2cef164..7256f86 100644 --- a/roles/admin.nix +++ b/roles/admin.nix @@ -1,21 +1,28 @@ -{ pkgs, options, ...}: +{ pkgs, options, ... }: let - unstable = import {}; in { environment.systemPackages = with pkgs; [ cryptsetup dnsutils dogdns k9s + kind kubectl + kubectx kubeseal + nmap pwgen + terraform whois - unstable.argocd - unstable.kubernetes-helm - unstable.kustomize - unstable.vault + ipcalc + + argocd + kubernetes-helm + kustomize + pre-commit + terraform-ls + vault docker-compose fuse-overlayfs @@ -23,9 +30,23 @@ in { virt-manager (import ../packages/skaffold.nix) - (import ../packages/helm2.nix) + (import ../packages/certmanager.nix) ]; - virtualisation.docker.enable = true; - virtualisation.libvirtd.enable = true; + programs.bash.shellAliases = { + kx = "kubectx"; + kns = "kubens"; + }; + + virtualisation.docker = { + enable = true; + storageDriver = "zfs"; + }; + virtualisation.libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + }; + }; } diff --git a/roles/base.nix b/roles/base.nix index 8dbe392..032f4d7 100644 --- a/roles/base.nix +++ b/roles/base.nix @@ -1,7 +1,6 @@ { config, lib, pkgs, ... }: -let - unstable = import {}; +let unstable = import { }; in { environment.systemPackages = with pkgs; [ acpi @@ -12,6 +11,7 @@ in { bash-completion bat borgbackup + curl direnv fd file @@ -24,10 +24,12 @@ in { ncdu nix-index nload + nnn ntfs3g openssl patchelf pv + restic ripgrep starship sysstat @@ -35,13 +37,19 @@ in { tmux unzip wget - z-lua + zoxide (import ../packages/neovim.nix) ]; environment = { - etc = { - "starship.toml".source = ../dotfiles/starship.toml; + etc = { "starship.toml".source = ../dotfiles/starship.toml; }; + + variables = { + BAT_THEME = "ansi"; + EDITOR = "nvim"; + STARSHIP_CONFIG = "/etc/starship.toml"; + HISTCONTROL = "ignoreboth"; + NIXOS_OZONE_WL = "y"; }; }; @@ -50,8 +58,6 @@ in { . <(starship init bash) ''; interactiveShellInit = '' - export EDITOR=nvim - export STARSHIP_CONFIG=/etc/starship.toml if [ -f ~/.ssh/agent.env ] ; then . ~/.ssh/agent.env > /dev/null @@ -66,7 +72,6 @@ in { ssh-add fi - set_win_title() { echo -ne "\033]0;$USER@$HOSTNAME: $PWD\007" } @@ -74,16 +79,19 @@ in { . "$(fzf-share)/key-bindings.bash" . "$(fzf-share)/completion.bash" - . <(z --init bash) + . <(zoxide init bash) . <(direnv hook bash) . ${pkgs.bash-completion}/etc/profile.d/bash_completion.sh alias cat="bat -pp" alias docker="sudo -g docker docker" + alias docker-compose="sudo -g docker docker-compose" alias less="bat -p" alias ls="ls --color=auto" alias vim="nvim" alias k="kubectl" + alias n="nix-shell -p" + alias nu="nix-shell -I nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos-unstable -p" sink() { VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) \ @@ -131,16 +139,47 @@ in { Defaults env_keep+=SSH_AUTH_SOCK ''; + services.fwupd.enable = true; + services.resolved.enable = true; + + services.lorri.enable = true; + systemd.user.services.lorri.serviceConfig = { + ProtectSystem = pkgs.lib.mkForce "full"; + ProtectHome = pkgs.lib.mkForce false; + }; + + security.wrappers.gvfsd-nfs = { + source = "${pkgs.gnome.gvfs}/libexec/gvfsd-nfs"; + owner = "nobody"; + group = "nogroup"; + capabilities = "cap_net_bind_service+ep"; + }; services.gvfs = { enable = true; - package = lib.mkForce pkgs.gnome3.gvfs; + package = lib.mkForce (pkgs.gnome.gvfs.overrideAttrs (oldAttrs: { + postInstall = '' + ln -sf /run/wrappers/bin/gvfsd-nfs $out/libexec/gvfsd-nfs + ''; + })); }; - services.resolved.enable = true; - services.lorri.enable = true; services.zfs.autoSnapshot = { enable = true; frequent = 8; monthly = 6; }; + + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_TIME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + }; + }; } diff --git a/roles/desktop.nix b/roles/desktop.nix index 42bd933..9eea2de 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -1,63 +1,104 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ +#g Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, ... }: let - unstable = import { config.allowUnfree = true; }; -in { - + colors = config.colors; + schema = pkgs.gsettings-desktop-schemas; + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; +in +{ + programs.droidcam.enable = true; programs.sway = { enable = true; + wrapperFeatures.gtk = true; extraPackages = with pkgs; [ bemenu brightnessctl + gammastep grim i3status-rust kanshi mako + picom slurp swayidle swaylock - xwayland + swaynotificationcenter + swayr wf-recorder + wofi ]; + extraSessionCommands = ""; }; + xdg.portal.enable = true; - xdg.portal = { - enable = true; - gtkUsePortal = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-gtk - xdg-desktop-portal-wlr - ]; + boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; + + colors = { + background = "#282a36"; + foreground = "#f8f8f2"; + black = "#1E2029"; + red = "#ff5555"; + green = "#50fa7b"; + yellow = "#f1fa8c"; + cyan = "#8be9fd"; + magenta = "#bd93f9"; + blue = "#61bfff"; + white = "#ffffff"; }; - boot.extraModulePackages = with config.boot.kernelPackages; [ - v4l2loopback - ]; environment = { etc = { "sway/config".source = ../dotfiles/sway/config; "sway/status.toml".source = ../dotfiles/sway/status.toml; - "xdg/alacritty/alacritty.yml".source = ../dotfiles/alacritty.yml; + "xdg/alacritty/alacritty.yml".text = '' + font: + normal: + family: CaskaydiaCove Nerd Font + size: 12 + + draw_bold_text_with_bright_colors: true + + colors: + primary: + background: "${colors.background}" + foreground: "${colors.foreground}" + + normal: + black: "${colors.black}" + red: "${colors.red}" + green: "${colors.green}" + yellow: "${colors.yellow}" + cyan: "${colors.cyan}" + magenta: "${colors.magenta}" + blue: "${colors.blue}" + white: "${colors.white}" + + window: + dynamic_title: true + opacity: 0.98 + + env: + TERM: xterm-256color + + key_bindings: + - { key: Escape, mods: Control, action: ToggleViMode } + ''; + "wezterm.lua".source = ../dotfiles/wezterm.lua; }; }; + qt.platformTheme = "qt5ct"; + hardware.pulseaudio.enable = false; security.rtkit.enable = true; - security.polkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; jack.enable = true; - - config.pipewire = { - "context.properties" = { - "default.clock.rate" = 48000; - }; - }; }; services.udev.packages = [ (pkgs.writeTextFile { @@ -68,21 +109,21 @@ in { destination = "/etc/udev/rules.d/80-uinput.rules"; }) ]; + services.ratbagd.enable = true; - fonts.enableDefaultFonts = true; + fonts.enableDefaultPackages = true; fonts.fontconfig.antialias = true; - fonts.fonts = with pkgs; [ - cascadia-code + fonts.packages = with pkgs; [ + corefonts + emacs-all-the-icons-fonts fira-code - fira-code-symbols - font-awesome - meslo-lg noto-fonts noto-fonts-emoji + (nerdfonts.override { fonts = [ "CascadiaCode" "Meslo" ]; }) ]; nixpkgs.config.allowUnfree = true; - environment.pathsToLink = ["/libexec"]; + environment.pathsToLink = [ "/libexec" ]; environment.systemPackages = with pkgs; [ polkit_gnome @@ -104,64 +145,71 @@ in { arc-theme capitaine-cursors + dracula-theme elementary-xfce-icon-theme + glib gsettings-desktop-schemas gtk-engine-murrine gtk_engines hicolor-icon-theme + libsForQt5.qtstyleplugins lxappearance numix-icon-theme + numix-cursor-theme + alacritty + gimp imv inkscape - libqrencode + keepassxc libreoffice libsecret - lxappearance mpv mumble neofetch + nodePackages.insect pavucontrol pcmanfm - pulseeffects-pw - unstable.alacritty - unstable.keepassxc - unstable.noisetorch + qrencode + remmina + wezterm + uxplay solaar gdk-pixbuf - gebaar-libinput + clipman wdisplays wl-clipboard - xdg_utils + xdg-utils xfce.thunar xfce.thunar-volman - ydotool - ( - pkgs.writeTextFile { - name = "startsway"; - destination = "/bin/startsway"; - executable = true; - text = '' - #! ${pkgs.bash}/bin/bash + wtype + (pkgs.writeTextFile { + name = "startsway"; + destination = "/bin/startsway"; + executable = true; + text = '' + #! ${pkgs.bash}/bin/bash - export GTK_ICON_THEME=Tango - export GTK_THEME=Blackbird - export _JAVA_AWT_WM_NOREPARENTING=1 - export MOZ_ENABLE_WAYLAND=1 - export MOZ_USE_XINPUT2=1 - export QT_AUTO_SCREEN_SCALE_FACTOR=0 - export QT_QPA_PLATFORM=wayland-egl - export QT_WAYLAND_FORCE_DPI=96 - export SDL_VIDEODRIVER=wayland - export XDG_CURRENT_DESKTOP=sway - export XDG_SESSION_TYPE=wayland + export GTK_ICON_THEME=Dracula + export GTK_THEME=Dracula + export _JAVA_AWT_WM_NOREPARENTING=1 + export MOZ_DBUS_REMOTE=1 + export MOZ_ENABLE_WAYLAND=1 + export MOZ_USE_XINPUT2=1 + export QT_AUTO_SCREEN_SCALE_FACTOR=0 + export QT_QPA_PLATFORM=wayland-egl + export QT_WAYLAND_FORCE_DPI=96 + export SDL_VIDEODRIVER=wayland + export WEZTERM_CONFIG_FILE=/etc/wezterm.lua + export XDG_CURRENT_DESKTOP=sway + export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS + export XDG_SESSION_TYPE=wayland - ${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway - ''; - } - ) + ${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway + ''; + }) ]; hardware.bluetooth.enable = true; @@ -176,14 +224,15 @@ in { }; services.printing.enable = true; - services.printing.drivers = [ - pkgs.gutenprint - ]; - services.avahi.enable = true; - services.avahi.nssmdns = true; - - - hardware.opengl = { + services.printing.drivers = [ pkgs.gutenprint ]; + services.avahi = { enable = true; + nssmdns4 = true; + publish = { + enable = true; + addresses = true; + workstation = true; + userServices = true; + }; }; } diff --git a/roles/dev.nix b/roles/dev.nix index a36198a..28172b9 100644 --- a/roles/dev.nix +++ b/roles/dev.nix @@ -1,9 +1,11 @@ -{ config, lib, pkgs, ... }: +{ config, lib, buildPythonPackage, pkgs, fetchPypi,... }: let - unstable = import {}; + unstable = import { }; in { + services.emacs.package = pkgs.emacs29-pgtk; + environment.systemPackages = with pkgs; [ gnumake go @@ -12,28 +14,36 @@ in { unstable.golangci-lint unstable.gopls unstable.rust-analyzer - #unstable.esphome - nodePackages.pyright - (python39.withPackages(python-packages: with python-packages; [ - black - pyyaml - requests - black - ])) + (python311.withPackages + (python-packages: with python-packages; [ + black + diagrams + pymemcache + pyyaml + requests + ruff-lsp + ]) + ) mariadb-client musl - dbeaver - emacs + dbeaver-bin + emacs29-pgtk gitAndTools.delta + lazygit ltrace parallel sops tig - unstable.bazel - openssl pkg-config nasm cmake zlib gcc binutils-unwrapped + openssl + pkg-config + nasm + cmake + zlib + gcc + binutils-unwrapped ]; } diff --git a/roles/mail.nix b/roles/mail.nix index 0f81277..7615422 100644 --- a/roles/mail.nix +++ b/roles/mail.nix @@ -1,16 +1,16 @@ { config, lib, pkgs, ... }: let - unstable = import { config.allowUnfree = true; }; - notcoal = pkgs.callPackage (import ../packages/notcoal) {}; + notcoal = pkgs.callPackage ../packages/notcoal { }; in { environment.systemPackages = with pkgs; [ - unstable.astroid isync khal msmtp notmuch + notcoal thunderbird + astroid vdirsyncer ]; } diff --git a/roles/network.nix b/roles/network.nix index c56b4bf..a7b3b84 100644 --- a/roles/network.nix +++ b/roles/network.nix @@ -1,7 +1,6 @@ { config, lib, pkgs, ... }: let - unstable = import { config.allowUnfree = true; }; in { networking.networkmanager.enable = true; @@ -10,5 +9,6 @@ in { environment.systemPackages = with pkgs; [ networkmanagerapplet networkmanager-vpnc + openconnect_openssl ]; } diff --git a/roles/nix.nix b/roles/nix.nix new file mode 100644 index 0000000..97bbe06 --- /dev/null +++ b/roles/nix.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, ... }: + +{ + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + +} diff --git a/roles/private.nix b/roles/private.nix index 8b4e355..408652f 100644 --- a/roles/private.nix +++ b/roles/private.nix @@ -1,43 +1,27 @@ { config, lib, pkgs, ... }: let - unstable = import {}; -in { - environment.systemPackages = with pkgs; [ - # embedded - arduino - avrdude - gcc-arm-embedded - openocd - pkgsCross.avr.avrlibc - pkgsCross.avr.buildPackages.binutils - pkgsCross.avr.buildPackages.gcc8 - pkgsCross.avr.libcCross - - cura - candle - openscad - kicad - blender - python3Packages.numpy - python3Packages.shapely - - steam - unstable.obs-studio - ]; + openscad-ls = pkgs.callPackage ../packages/openscad-language-server.nix { }; +in +{ + environment.systemPackages = with pkgs; + [ + openscad + openscad-ls + ]; # stm32 debugger users.extraGroups.plugdev = { }; users.extraUsers.stefan.extraGroups = [ "plugdev" "dialout" ]; services.udev.packages = [ pkgs.openocd ]; - # steam dependencies - hardware.opengl.driSupport32Bit = true; - hardware.opengl.driSupport = true; - fileSystems."/mnt/nfs" = { device = "10.1.20.29:/srv/nfs"; fsType = "nfs"; options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=120" ]; }; + + networking.extraHosts = '' + 162.55.40.34 mail.f2o.io + ''; } diff --git a/roles/vpn.nix b/roles/vpn.nix index d262069..b3a801a 100644 --- a/roles/vpn.nix +++ b/roles/vpn.nix @@ -2,7 +2,5 @@ { networking.wireguard.enable = true; - environment.systemPackages = with pkgs; [ - wireguard - ]; + environment.systemPackages = with pkgs; [ wireguard-tools ]; } diff --git a/roles/work.nix b/roles/work.nix index 5d7d56f..502c1ae 100644 --- a/roles/work.nix +++ b/roles/work.nix @@ -2,24 +2,55 @@ let unstable = import { config.allowUnfree = true; }; - cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) {}; - nagstamon = pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) {}; + cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) { }; + nagstamon = pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { }; + myslack = pkgs.slack.overrideAttrs (oldAttrs: rec { + fixupPhase = '' + sed -i -e 's/,"WebRTCPipeWireCapturer"/,"LebRTCPipeWireCapturer"/' $out/lib/slack/resources/app.asar + + rm $out/bin/slack + makeWrapper $out/lib/slack/slack $out/bin/slack \ + --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \ + --suffix PATH : ${lib.makeBinPath [ pkgs.xdg-utils ]} \ + --add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer" + ''; + }); in { + environment.variables = { + USE_GKE_GCLOUD_AUTH_PLUGIN = "True"; + }; + + services.tailscale = { + enable = true; + package = unstable.tailscale; + }; + security.pki.certificateFiles = [ ../dotfiles/certs/NetzmarktCA.crt ../dotfiles/certs/vcenter.netzmarkt.lan.crt ]; networking.extraHosts = '' - 35.234.109.94 fsi.thomann.de 10.100.7.11 mon.netzmarkt.de + 85.10.233.162 live.bonedo.de - 172.23.0.2 api.kube.local - 172.23.0.2 hubble.kube.local - 172.23.0.2 bonedo.kube.local - 172.23.0.2 linkerd.kube.local - 172.23.0.2 argo.kube.local + 172.20.0.2 hubble.kind + 172.20.0.2 dashboard.kind + 172.20.0.2 grafana.kind + 172.20.0.2 alert.kind + + #192.168.2.111 hass.home.f2o.io + #192.168.2.111 sync.home.f2o.io + 192.168.2.111 pl.home.f2o.io + + #127.0.0.1 auth-dev.thobits.com + 127.0.0.1 database + 127.0.0.1 youtube.com + 127.0.0.1 www.youtube.com + + 34.49.192.42 www.tbone.audio + 34.49.192.42 jobs.thomann.de ''; @@ -30,17 +61,29 @@ in { # (import ../packages/vaultsink.nix) needs opensource verson cloudstation nagstamon + yubikey-manager + anydesk + chromium + nodejs + vscodium drone-cli - go-jira govc ttyd - unstable.discord - unstable.google-cloud-sdk - unstable.slack - unstable.velero + discord + (google-cloud-sdk.withExtraComponents [ + google-cloud-sdk.components.gke-gcloud-auth-plugin + ]) + myslack + velero - unstable.obs-studio - unstable.obs-studio-plugins.wlrobs + obs-studio + obs-studio-plugins.wlrobs + + prusa-slicer ]; + + # yubikey support + services.udev.packages = [ pkgs.yubikey-personalization ]; + services.pcscd.enable = true; }