{ pkgs, lib, config, ... }: { config = { fileSystems = { "/boot" = { device = "boot"; fsType = "zfs"; }; "/nix" = { device = "ssd-raid0/local/nix"; fsType = "zfs"; }; "/root" = { device = "ssd-raid1/safe/home-root"; fsType = "zfs"; neededForBoot = true; }; "/var/lib/systemd" = { device = "ssd-raid1/local/var-lib-systemd"; fsType = "zfs"; neededForBoot = true; }; "/var/lib/nixos" = { device = "ssd-raid1/local/var-lib-nixos"; fsType = "zfs"; neededForBoot = true; }; "/var/lib/unbound" = { device = "ssd-raid1/local/var-lib-unbound"; fsType = "zfs"; }; # "/var/lib/dhcp" = # { device = "ssd-raid1/local/var-lib-dhcp"; # fsType = "zfs"; # }; "/var/lib/chrony" = { device = "ssd-raid1/local/var-lib-chrony"; fsType = "zfs"; }; "/var/lib/samba" = { device = "ssd-raid1/local/var-lib-samba"; fsType = "zfs"; }; # "/var/lib/prometheus2" = # { device = "ssd-raid1/local/var-lib-prometheus2"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; # "/var/lib/grafana" = # { device = "ssd-raid1/local/var-lib-grafana"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; # "/var/lib/loki" = # { device = "ssd-raid1/local/var-lib-loki"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; # "/srv/tftp" = # { device = "ssd-raid1/local/srv-tftp"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; "/var/log" = { device = "ssd-raid1/local/var-log"; fsType = "zfs"; }; # "/home" = # { device = "hdd-raid6/safe/home"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; # "/home/gkleen" = # { device = "hdd-raid6/safe/home/gkleen"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; # "/home/mherold" = # { device = "hdd-raid6/safe/home/mherold"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; }; users.users.gkleen.createHome = lib.mkForce false; users.users.mherold.createHome = lib.mkForce false; boot.postBootCommands = '' echo "=== STARTING ZPOOL IMPORT ===" ${pkgs.zfs}/bin/zpool import -a -N -d /dev ${pkgs.zfs}/bin/zpool status ${pkgs.zfs}/bin/zfs mount -a echo "=== ZPOOL IMPORT COMPLETE ===" ''; services.zfssnap.enable = true; services.zfs.trim.enable = false; services.zfs.autoScrub = { enable = true; interval = "Sun *-*-1..7 04:00:00"; }; services.zfs.zed.settings = { ZED_SYSLOG_SUBCLASS_EXCLUDE = "history_event"; }; }; }