diff options
Diffstat (limited to 'hosts/minime/zfs.nix')
| -rw-r--r-- | hosts/minime/zfs.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/hosts/minime/zfs.nix b/hosts/minime/zfs.nix new file mode 100644 index 0000000..a2a1acd --- /dev/null +++ b/hosts/minime/zfs.nix @@ -0,0 +1,31 @@ +{ pkgs, lib, config, ... }: { + services.fstrim.enable = true; + services.zfs = { + autoSnapshot.enable = true; + trim.enable = true; + autoScrub = { + enable = true; + pools = [ "zpool" ]; + }; + }; + networking.hostId = "41ba28ff"; + boot = { + kernelPackages = let + zfsCompatibleKernelPackages = lib.filterAttrs ( + name: kernelPackages: + (builtins.match "linux_[0-9]+_[0-9]+" name) != null + && (builtins.tryEval kernelPackages).success + && (!kernelPackages.${config.boot.zfs.package.kernelModuleAttribute}.meta.broken) + ) pkgs.linuxKernel.packages; + latestKernelPackage = lib.last ( + lib.sort (a: b: (lib.versionOlder a.kernel.version b.kernel.version)) ( + builtins.attrValues zfsCompatibleKernelPackages + ) + ); +in latestKernelPackage; + supportedFilesystems = [ "zfs" ]; + kernelParams = [ "nohibernate" ]; + plymouth.enable = false; + tmp.useTmpfs = true; + }; +} |
