diff --git a/drives.nix b/drives.nix deleted file mode 100644 index d172918..0000000 --- a/drives.nix +++ /dev/null @@ -1,162 +0,0 @@ -{ ... }: -let - btrfsOpt = [ "compress-force=zstd" "nofail" "x-systemd.mount-timeout=10m" ]; - btrfsNoComp = [ "nofail" "x-systemd.mount-timeout=10m" ]; -in -{ - - environment.etc.crypttab = { - text = '' - 1EJZN6MZ UUID=da1abbcf-69ef-4bbf-847f-5df0c2a321f9 /var/lib/keyfiles/da1abbcf-69ef-4bbf-847f-5df0c2a321f9 nofail - 1EKR513Z UUID=9dfd833d-b79f-478b-9c07-e6730f88b02f /var/lib/keyfiles/9dfd833d-b79f-478b-9c07-e6730f88b02f nofail - 1EKVK21Z UUID=7d1b1146-a50e-405e-8d3e-df0d1fbc9451 /var/lib/keyfiles/7d1b1146-a50e-405e-8d3e-df0d1fbc9451 nofail - 43P0A00AFJDH UUID=eff697b4-86bc-4a0e-833f-cc40e6aa001e /var/lib/keyfiles/eff697b4-86bc-4a0e-833f-cc40e6aa001e nofail - 43P0A00FFJDH UUID=69dc9bb1-f180-43f1-9f98-48ca592278bf /var/lib/keyfiles/69dc9bb1-f180-43f1-9f98-48ca592278bf nofail - 53F0A0SBFJDH UUID=d228e44f-fe1f-4eee-8415-289583ddec99 /var/lib/keyfiles/d228e44f-fe1f-4eee-8415-289583ddec99 nofail - 53G0A2AXFJDH UUID=dd66940c-aa6e-460a-9e55-7dd08247a792 /var/lib/keyfiles/dd66940c-aa6e-460a-9e55-7dd08247a792 nofail - 53J0A016FJDH UUID=95f84b21-d3d3-4241-8a9b-5ac46afea1e1 /var/lib/keyfiles/95f84b21-d3d3-4241-8a9b-5ac46afea1e1 nofail - 92F0A079FJDH UUID=adf0a919-3ff2-4508-86af-9bc94573a484 /var/lib/keyfiles/adf0a919-3ff2-4508-86af-9bc94573a484 nofail - X2N0A0AXFJDH UUID=7b46d2e3-09da-4ef6-987f-6ffcabf79537 /var/lib/keyfiles/7b46d2e3-09da-4ef6-987f-6ffcabf79537 nofail - X2N0A0AZFJDH UUID=db05ac12-2a2b-4baf-8bf0-94a3e5c9ba9e /var/lib/keyfiles/db05ac12-2a2b-4baf-8bf0-94a3e5c9ba9e nofail - ZA1D9307 UUID=79f2d993-6862-4f9c-ba2d-88f49286e356 /var/lib/keyfiles/79f2d993-6862-4f9c-ba2d-88f49286e356 nofail - ZVV0688G UUID=8a14aa76-5138-4cd0-8f31-0aafe63e870b /var/lib/keyfiles/8a14aa76-5138-4cd0-8f31-0aafe63e870b nofail - ZVV072JR UUID=416f1016-b849-4bc8-a078-4b1426788c6c /var/lib/keyfiles/416f1016-b849-4bc8-a078-4b1426788c6c nofail - ZXA0FSKT UUID=4f1e92cc-1267-4671-b943-99481ea2a7b5 /var/lib/keyfiles/4f1e92cc-1267-4671-b943-99481ea2a7b5 nofail - ZXA0MNRB UUID=64161475-e328-4a59-98d5-117d724693cf /var/lib/keyfiles/64161475-e328-4a59-98d5-117d724693cf nofail - ''; - #unused - }; - - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/ad716602-9e0d-4c07-9fb5-e15cb6df3004"; - fsType = "ext4"; - }; - - "/boot/efi" = { - device = "/dev/disk/by-uuid/2427-55B1"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - "/mnt/drives/1EJZN6MZ" = { - label = "1EJZN6MZ"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/1EKR513Z" = { - label = "1EKR513Z"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/1EKVK21Z" = { - label = "1EKVK21Z"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - #"/mnt/drives/53F0A0SBFJDH" = { - # label = "53F0A0SBFJDH"; - # fsType = "btrfs"; - # options = btrfsOpt; - #}; - - "/mnt/drives/53G0A2AXFJDH" = { - label = "53G0A2AXFJDH"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/53J0A016FJDH" = { - label = "53J0A016FJDH"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/92F0A079FJDH" = { - label = "92F0A079FJDH"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/43P0A00FFJDH" = { - label = "43P0A00FFJDH"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/43P0A00AFJDH" = { - label = "43P0A00AFJDH"; - fsType = "btrfs"; - options = btrfsNoComp; - }; - - "/mnt/drives/X2N0A0AXFJDH" = { - label = "X2N0A0AXFJDH"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/X2N0A0AZFJDH" = { - label = "X2N0A0AZFJDH"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/ZA1D9307" = { - label = "ZA1D9307"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/ZVV0688G" = { - label = "ZVV0688G"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/ZVV072JR" = { - label = "ZVV072JR"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/ZXA0FSKT" = { - label = "ZXA0FSKT-lv0"; - fsType = "btrfs"; - options = btrfsOpt; - }; - - "/mnt/drives/ZXA0MNRB" = { - label = "ZXA0MNRB-lv0"; - fsType = "btrfs"; - options = btrfsNoComp; - }; - - "/mnt/mergerfs" = { - device = "/mnt/drives/ZVV0688G:/mnt/drives/ZVV072JR:/mnt/drives/ZXA0FSKT:/mnt/drives/X2N0A0AZFJDH:/mnt/drives/53G0A2AXFJDH:/mnt/drives/53J0A016FJDH:/mnt/drives/X2N0A0AXFJDH:/mnt/drives/43P0A00FFJDH:/mnt/drives/ZA1D9307:/mnt/drives/1EJZN6MZ:/mnt/drives/1EKR513Z:/mnt/drives/1EKVK21Z"; - fsType = "fuse.mergerfs"; - options = [ "cache.files=full,,dropcacheonclose=true,category.create=mfs" "nofail" ]; - depends = [ "/mnt/drives/ZVV0688G" "/mnt/drives/ZVV072JR" "/mnt/drives/X2N0A0AZFJDH" "/mnt/drives/53G0A2AXFJDH" "/mnt/drives/53J0A016FJDH" "/mnt/drives/X2N0A0AXFJDH" "/mnt/drives/43P0A00FFJDH" "/mnt/drives/ZA1D9307" "/mnt/drives/1EJZN6MZ" "/mnt/drives/1EKR513Z" "/mnt/drives/1EKVK21Z" "/mnt/drives/ZXA0FSKT" ]; - }; - - #"/mnt/box" = { - # device = "seedbox:"; - # fsType = "fuse.rclone"; - # options = [ "user_id=1000" "group_id=100" ]; - #}; - - }; - - services.nfs.server = { - enable = true; - exports = '' - /mnt/mergerfs 100.64.0.13(no_subtree_check,fsid=0) - /mnt/mergerfs 100.64.0.7(no_subtree_check,fsid=0) - ''; - }; - -} -# vim: set et ts=2 sw=2 ai: diff --git a/systems/nasty/configuration.nix b/systems/nasty/configuration.nix index 610e870..4f57aa4 100644 --- a/systems/nasty/configuration.nix +++ b/systems/nasty/configuration.nix @@ -51,17 +51,24 @@ programs.atop.netatop.enable = false; programs.java.enable = true; + #services.displayManager = { + + #}; + + services.xserver.displayManager.lightdm.enable = true; + services.xserver = { enable = true; desktopManager = { xterm.enable = false; - xfce.enable = true; + #xfce.enable = true; + lxqt.enable = true; }; }; services.xrdp = { enable = true; - defaultWindowManager = "xfce4-session"; + defaultWindowManager = "lxqt-session"; }; #system.stateVersion = "24.11"; diff --git a/systems/nasty/drives.nix b/systems/nasty/drives.nix index bce6c9d..d172918 100644 --- a/systems/nasty/drives.nix +++ b/systems/nasty/drives.nix @@ -1,6 +1,7 @@ { ... }: let btrfsOpt = [ "compress-force=zstd" "nofail" "x-systemd.mount-timeout=10m" ]; + btrfsNoComp = [ "nofail" "x-systemd.mount-timeout=10m" ]; in { @@ -14,12 +15,14 @@ in 53F0A0SBFJDH UUID=d228e44f-fe1f-4eee-8415-289583ddec99 /var/lib/keyfiles/d228e44f-fe1f-4eee-8415-289583ddec99 nofail 53G0A2AXFJDH UUID=dd66940c-aa6e-460a-9e55-7dd08247a792 /var/lib/keyfiles/dd66940c-aa6e-460a-9e55-7dd08247a792 nofail 53J0A016FJDH UUID=95f84b21-d3d3-4241-8a9b-5ac46afea1e1 /var/lib/keyfiles/95f84b21-d3d3-4241-8a9b-5ac46afea1e1 nofail - 92F0A079FJDH UUID=9af505c3-69cc-4954-93fd-fe625a882b28 /var/lib/keyfiles/9af505c3-69cc-4954-93fd-fe625a882b28 nofail + 92F0A079FJDH UUID=adf0a919-3ff2-4508-86af-9bc94573a484 /var/lib/keyfiles/adf0a919-3ff2-4508-86af-9bc94573a484 nofail X2N0A0AXFJDH UUID=7b46d2e3-09da-4ef6-987f-6ffcabf79537 /var/lib/keyfiles/7b46d2e3-09da-4ef6-987f-6ffcabf79537 nofail X2N0A0AZFJDH UUID=db05ac12-2a2b-4baf-8bf0-94a3e5c9ba9e /var/lib/keyfiles/db05ac12-2a2b-4baf-8bf0-94a3e5c9ba9e nofail ZA1D9307 UUID=79f2d993-6862-4f9c-ba2d-88f49286e356 /var/lib/keyfiles/79f2d993-6862-4f9c-ba2d-88f49286e356 nofail ZVV0688G UUID=8a14aa76-5138-4cd0-8f31-0aafe63e870b /var/lib/keyfiles/8a14aa76-5138-4cd0-8f31-0aafe63e870b nofail ZVV072JR UUID=416f1016-b849-4bc8-a078-4b1426788c6c /var/lib/keyfiles/416f1016-b849-4bc8-a078-4b1426788c6c nofail + ZXA0FSKT UUID=4f1e92cc-1267-4671-b943-99481ea2a7b5 /var/lib/keyfiles/4f1e92cc-1267-4671-b943-99481ea2a7b5 nofail + ZXA0MNRB UUID=64161475-e328-4a59-98d5-117d724693cf /var/lib/keyfiles/64161475-e328-4a59-98d5-117d724693cf nofail ''; #unused }; @@ -54,11 +57,11 @@ in options = btrfsOpt; }; - "/mnt/drives/53F0A0SBFJDH" = { - label = "53F0A0SBFJDH"; - fsType = "btrfs"; - options = btrfsOpt; - }; + #"/mnt/drives/53F0A0SBFJDH" = { + # label = "53F0A0SBFJDH"; + # fsType = "btrfs"; + # options = btrfsOpt; + #}; "/mnt/drives/53G0A2AXFJDH" = { label = "53G0A2AXFJDH"; @@ -87,7 +90,7 @@ in "/mnt/drives/43P0A00AFJDH" = { label = "43P0A00AFJDH"; fsType = "btrfs"; - options = btrfsOpt; + options = btrfsNoComp; }; "/mnt/drives/X2N0A0AXFJDH" = { @@ -120,11 +123,23 @@ in options = btrfsOpt; }; + "/mnt/drives/ZXA0FSKT" = { + label = "ZXA0FSKT-lv0"; + fsType = "btrfs"; + options = btrfsOpt; + }; + + "/mnt/drives/ZXA0MNRB" = { + label = "ZXA0MNRB-lv0"; + fsType = "btrfs"; + options = btrfsNoComp; + }; + "/mnt/mergerfs" = { - device = "/mnt/drives/ZVV0688G:/mnt/drives/ZVV072JR:/mnt/drives/53F0A0SBFJDH:/mnt/drives/X2N0A0AZFJDH:/mnt/drives/53G0A2AXFJDH:/mnt/drives/92F0A079FJDH:/mnt/drives/X2N0A0AXFJDH:/mnt/drives/43P0A00FFJDH:/mnt/drives/ZA1D9307:/mnt/drives/1EJZN6MZ:/mnt/drives/1EKR513Z:/mnt/drives/1EKVK21Z"; + device = "/mnt/drives/ZVV0688G:/mnt/drives/ZVV072JR:/mnt/drives/ZXA0FSKT:/mnt/drives/X2N0A0AZFJDH:/mnt/drives/53G0A2AXFJDH:/mnt/drives/53J0A016FJDH:/mnt/drives/X2N0A0AXFJDH:/mnt/drives/43P0A00FFJDH:/mnt/drives/ZA1D9307:/mnt/drives/1EJZN6MZ:/mnt/drives/1EKR513Z:/mnt/drives/1EKVK21Z"; fsType = "fuse.mergerfs"; options = [ "cache.files=full,,dropcacheonclose=true,category.create=mfs" "nofail" ]; - depends = [ "/mnt/drives/ZVV0688G" "/mnt/drives/ZVV072JR" "/mnt/drives/53F0A0SBFJDH" "/mnt/drives/X2N0A0AZFJDH" "/mnt/drives/53G0A2AXFJDH" "/mnt/drives/92F0A079FJDH" "/mnt/drives/X2N0A0AXFJDH" "/mnt/drives/43P0A00FFJDH" "/mnt/drives/ZA1D9307" "/mnt/drives/1EJZN6MZ" "/mnt/drives/1EKR513Z" "/mnt/drives/1EKVK21Z" ]; + depends = [ "/mnt/drives/ZVV0688G" "/mnt/drives/ZVV072JR" "/mnt/drives/X2N0A0AZFJDH" "/mnt/drives/53G0A2AXFJDH" "/mnt/drives/53J0A016FJDH" "/mnt/drives/X2N0A0AXFJDH" "/mnt/drives/43P0A00FFJDH" "/mnt/drives/ZA1D9307" "/mnt/drives/1EJZN6MZ" "/mnt/drives/1EKR513Z" "/mnt/drives/1EKVK21Z" "/mnt/drives/ZXA0FSKT" ]; }; #"/mnt/box" = { diff --git a/systems/nasty/hardware-configuration.nix b/systems/nasty/hardware-configuration.nix index d3f6313..116ba3b 100644 --- a/systems/nasty/hardware-configuration.nix +++ b/systems/nasty/hardware-configuration.nix @@ -18,7 +18,8 @@ boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.efiSysMountPoint = "/boot/efi"; boot.loader.systemd-boot.enable = true; - boot.kernelPackages = pkgs.linuxPackages_latest; + #boot.kernelPackages = pkgs.linuxPackages_latest; + #boot.kernelPackages = pkgs.linuxPackages_6_16; boot.kernel.sysctl = { "kernel.hung_task_timeout_secs" = 600; }; @@ -27,15 +28,15 @@ options usb-storage quirks=174c:1356:u ''; - hardware.opengl = { - enable = true; - extraPackages = with pkgs; [ - intel-media-driver - vaapiIntel - vaapiVdpau - libvdpau-va-gl - ]; - }; + #hardware.opengl = { + # enable = true; + # extraPackages = with pkgs; [ + # intel-media-driver + # vaapiIntel + # vaapiVdpau + # libvdpau-va-gl + # ]; + #}; networking.hostName = "nasty"; diff --git a/systems/nasty/snapraid.nix b/systems/nasty/snapraid.nix index b0b341c..0f6f7e1 100644 --- a/systems/nasty/snapraid.nix +++ b/systems/nasty/snapraid.nix @@ -1,36 +1,88 @@ -{ ... }: +{ pkgs, ... }: let excludes = [ "/media/usenet/incomplete/" + "/.snapshot/" + ]; + snapshot-path = [ + pkgs.bash + pkgs.btrfs-progs ]; in { #systemd.timers."snapraid-sync".enable = false; #temporarily + #systemd.timers."snapraid-scrub".enable = false; #temporarily + + systemd.services."snapraid-sync" = { + serviceConfig = { + ReadWritePaths = [ + "/mnt/snapshot/ZVV0688G/.snapshot/" + "/mnt/snapshot/ZVV072JR/.snapshot/" + "/mnt/snapshot/ZXA0FSKT/.snapshot/" + "/mnt/snapshot/X2N0A0AZFJDH/.snapshot/" + "/mnt/snapshot/53G0A2AXFJDH/.snapshot/" + "/mnt/snapshot/92F0A079FJDH/.snapshot/" + "/mnt/snapshot/X2N0A0AXFJDH/.snapshot/" + "/mnt/snapshot/43P0A00FFJDH/.snapshot/" + "/mnt/snapshot/ZA1D9307/.snapshot/" + "/mnt/snapshot/1EJZN6MZ/.snapshot/" + "/mnt/snapshot/1EKR513Z/.snapshot/" + "/mnt/snapshot/1EKVK21Z/.snapshot/" + ]; + }; + unitConfig.After = "snapraid-pre.service"; + unitConfig.Before = "snapraid-post.service"; + wants = [ + "snapraid-pre.service" + "snapraid-post.service" + ]; + }; + + systemd.services = { + snapraid-pre = { + description = "Create btrfs snapshots for each disk in the array"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "/etc/nixos/scripts/snapraid_snapshots.sh create"; + }; + path = snapshot-path; + }; + snapraid-post = { + description = "Delete btrfs snapshots for each disk in the array"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "/etc/nixos/scripts/snapraid_snapshots.sh delete"; + }; + path = snapshot-path; + }; + }; + services.snapraid = { enable = true; scrub.plan = 5; + touchBeforeSync = false; # doesn't work with snapshots parityFiles = [ "/mnt/drives/43P0A00AFJDH/snapraid1.parity" - "/mnt/drives/53J0A016FJDH/snapraid2.parity" + "/mnt/drives/ZXA0MNRB/snapraid2.parity" ]; dataDisks = { - d1 = "/mnt/drives/ZVV0688G"; - d2 = "/mnt/drives/ZVV072JR"; - d3 = "/mnt/drives/53F0A0SBFJDH"; - d4 = "/mnt/drives/X2N0A0AZFJDH"; - d5 = "/mnt/drives/53G0A2AXFJDH"; - d6 = "/mnt/drives/92F0A079FJDH"; - d7 = "/mnt/drives/X2N0A0AXFJDH"; - d8 = "/mnt/drives/43P0A00FFJDH"; - d9 = "/mnt/drives/ZA1D9307"; - d10 = "/mnt/drives/1EJZN6MZ"; - d11 = "/mnt/drives/1EKR513Z"; - d12 = "/mnt/drives/1EKVK21Z"; + d1 = "/mnt/snapshot/ZVV0688G/"; + d2 = "/mnt/snapshot/ZVV072JR/"; + d3 = "/mnt/snapshot/ZXA0FSKT/"; + d4 = "/mnt/snapshot/X2N0A0AZFJDH/"; + d5 = "/mnt/snapshot/53G0A2AXFJDH/"; + d6 = "/mnt/snapshot/92F0A079FJDH/"; + d7 = "/mnt/snapshot/X2N0A0AXFJDH/"; + d8 = "/mnt/snapshot/43P0A00FFJDH/"; + d9 = "/mnt/snapshot/ZA1D9307/"; + d10 = "/mnt/snapshot/1EJZN6MZ/"; + d11 = "/mnt/snapshot/1EKR513Z/"; + d12 = "/mnt/snapshot/1EKVK21Z/"; }; contentFiles = [ "/mnt/snapraid1.content" "/mnt/drives/43P0A00AFJDH/snapraid2.content" - "/mnt/drives/53J0A016FJDH/snapraid3.content" + "/mnt/drives/ZXA0MNRB/snapraid3.content" ]; exclude = excludes; };