latest nasty config

This commit is contained in:
mc-fucker 2025-11-10 14:22:01 +01:00
parent 8d697ab71d
commit cc5c48fe2d
5 changed files with 111 additions and 198 deletions

View file

@ -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:

View file

@ -51,17 +51,24 @@
programs.atop.netatop.enable = false; programs.atop.netatop.enable = false;
programs.java.enable = true; programs.java.enable = true;
#services.displayManager = {
#};
services.xserver.displayManager.lightdm.enable = true;
services.xserver = { services.xserver = {
enable = true; enable = true;
desktopManager = { desktopManager = {
xterm.enable = false; xterm.enable = false;
xfce.enable = true; #xfce.enable = true;
lxqt.enable = true;
}; };
}; };
services.xrdp = { services.xrdp = {
enable = true; enable = true;
defaultWindowManager = "xfce4-session"; defaultWindowManager = "lxqt-session";
}; };
#system.stateVersion = "24.11"; #system.stateVersion = "24.11";

View file

@ -1,6 +1,7 @@
{ ... }: { ... }:
let let
btrfsOpt = [ "compress-force=zstd" "nofail" "x-systemd.mount-timeout=10m" ]; btrfsOpt = [ "compress-force=zstd" "nofail" "x-systemd.mount-timeout=10m" ];
btrfsNoComp = [ "nofail" "x-systemd.mount-timeout=10m" ];
in in
{ {
@ -14,12 +15,14 @@ in
53F0A0SBFJDH UUID=d228e44f-fe1f-4eee-8415-289583ddec99 /var/lib/keyfiles/d228e44f-fe1f-4eee-8415-289583ddec99 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 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 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 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 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 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 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 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 #unused
}; };
@ -54,11 +57,11 @@ in
options = btrfsOpt; options = btrfsOpt;
}; };
"/mnt/drives/53F0A0SBFJDH" = { #"/mnt/drives/53F0A0SBFJDH" = {
label = "53F0A0SBFJDH"; # label = "53F0A0SBFJDH";
fsType = "btrfs"; # fsType = "btrfs";
options = btrfsOpt; # options = btrfsOpt;
}; #};
"/mnt/drives/53G0A2AXFJDH" = { "/mnt/drives/53G0A2AXFJDH" = {
label = "53G0A2AXFJDH"; label = "53G0A2AXFJDH";
@ -87,7 +90,7 @@ in
"/mnt/drives/43P0A00AFJDH" = { "/mnt/drives/43P0A00AFJDH" = {
label = "43P0A00AFJDH"; label = "43P0A00AFJDH";
fsType = "btrfs"; fsType = "btrfs";
options = btrfsOpt; options = btrfsNoComp;
}; };
"/mnt/drives/X2N0A0AXFJDH" = { "/mnt/drives/X2N0A0AXFJDH" = {
@ -120,11 +123,23 @@ in
options = btrfsOpt; options = btrfsOpt;
}; };
"/mnt/drives/ZXA0FSKT" = {
label = "ZXA0FSKT-lv0";
fsType = "btrfs";
options = btrfsOpt;
};
"/mnt/drives/ZXA0MNRB" = {
label = "ZXA0MNRB-lv0";
fsType = "btrfs";
options = btrfsNoComp;
};
"/mnt/mergerfs" = { "/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"; fsType = "fuse.mergerfs";
options = [ "cache.files=full,,dropcacheonclose=true,category.create=mfs" "nofail" ]; 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" = { #"/mnt/box" = {

View file

@ -18,7 +18,8 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi"; boot.loader.efi.efiSysMountPoint = "/boot/efi";
boot.loader.systemd-boot.enable = true; 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 = { boot.kernel.sysctl = {
"kernel.hung_task_timeout_secs" = 600; "kernel.hung_task_timeout_secs" = 600;
}; };
@ -27,15 +28,15 @@
options usb-storage quirks=174c:1356:u options usb-storage quirks=174c:1356:u
''; '';
hardware.opengl = { #hardware.opengl = {
enable = true; # enable = true;
extraPackages = with pkgs; [ # extraPackages = with pkgs; [
intel-media-driver # intel-media-driver
vaapiIntel # vaapiIntel
vaapiVdpau # vaapiVdpau
libvdpau-va-gl # libvdpau-va-gl
]; # ];
}; #};
networking.hostName = "nasty"; networking.hostName = "nasty";

View file

@ -1,36 +1,88 @@
{ ... }: { pkgs, ... }:
let let
excludes = [ excludes = [
"/media/usenet/incomplete/" "/media/usenet/incomplete/"
"/.snapshot/"
];
snapshot-path = [
pkgs.bash
pkgs.btrfs-progs
]; ];
in in
{ {
#systemd.timers."snapraid-sync".enable = false; #temporarily #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 = { services.snapraid = {
enable = true; enable = true;
scrub.plan = 5; scrub.plan = 5;
touchBeforeSync = false; # doesn't work with snapshots
parityFiles = [ parityFiles = [
"/mnt/drives/43P0A00AFJDH/snapraid1.parity" "/mnt/drives/43P0A00AFJDH/snapraid1.parity"
"/mnt/drives/53J0A016FJDH/snapraid2.parity" "/mnt/drives/ZXA0MNRB/snapraid2.parity"
]; ];
dataDisks = { dataDisks = {
d1 = "/mnt/drives/ZVV0688G"; d1 = "/mnt/snapshot/ZVV0688G/";
d2 = "/mnt/drives/ZVV072JR"; d2 = "/mnt/snapshot/ZVV072JR/";
d3 = "/mnt/drives/53F0A0SBFJDH"; d3 = "/mnt/snapshot/ZXA0FSKT/";
d4 = "/mnt/drives/X2N0A0AZFJDH"; d4 = "/mnt/snapshot/X2N0A0AZFJDH/";
d5 = "/mnt/drives/53G0A2AXFJDH"; d5 = "/mnt/snapshot/53G0A2AXFJDH/";
d6 = "/mnt/drives/92F0A079FJDH"; d6 = "/mnt/snapshot/92F0A079FJDH/";
d7 = "/mnt/drives/X2N0A0AXFJDH"; d7 = "/mnt/snapshot/X2N0A0AXFJDH/";
d8 = "/mnt/drives/43P0A00FFJDH"; d8 = "/mnt/snapshot/43P0A00FFJDH/";
d9 = "/mnt/drives/ZA1D9307"; d9 = "/mnt/snapshot/ZA1D9307/";
d10 = "/mnt/drives/1EJZN6MZ"; d10 = "/mnt/snapshot/1EJZN6MZ/";
d11 = "/mnt/drives/1EKR513Z"; d11 = "/mnt/snapshot/1EKR513Z/";
d12 = "/mnt/drives/1EKVK21Z"; d12 = "/mnt/snapshot/1EKVK21Z/";
}; };
contentFiles = [ contentFiles = [
"/mnt/snapraid1.content" "/mnt/snapraid1.content"
"/mnt/drives/43P0A00AFJDH/snapraid2.content" "/mnt/drives/43P0A00AFJDH/snapraid2.content"
"/mnt/drives/53J0A016FJDH/snapraid3.content" "/mnt/drives/ZXA0MNRB/snapraid3.content"
]; ];
exclude = excludes; exclude = excludes;
}; };