{ pkgs, config, ... }: { config = { fileSystems = { "/nix" = { device = "surtr/local/nix"; fsType = "zfs"; }; "/root" = { device = "surtr/safe/home-root"; fsType = "zfs"; }; "/var/lib/systemd" = { device = "surtr/local/var-lib-systemd"; fsType = "zfs"; neededForBoot = true; }; "/var/lib/nixos" = { device = "surtr/local/var-lib-nixos"; fsType = "zfs"; neededForBoot = true; }; "/var/lib/sops-nix" = { device = "surtr/local/var-lib-sops--nix"; fsType = "zfs"; neededForBoot = true; }; "/var/log" = { device = "surtr/local/var-log"; fsType = "zfs"; }; "/home" = { device = "surtr/safe/home"; fsType = "zfs"; }; # "/srv" = # { device = "surtr/safe/srv"; # fsType = "zfs"; # options = [ "zfsutil" ]; # }; }; 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 ===" ''; system.activationScripts = { zfsMount.text = '' ${pkgs.zfs}/bin/zfs mount -a ''; }; services.zfssnap.enable = true; services.zfs.trim = { enable = true; interval = "Sun 16:00:00 Europe/Berlin"; }; services.zfs.autoScrub = { enable = true; interval = "Sun *-*-1..7 04:00:00 Europe/Berlin"; }; services.zfs.zed.settings = { ZED_SYSLOG_SUBCLASS_EXCLUDE = "history_event"; }; }; }