diff options
Diffstat (limited to 'hosts/toaster/zfs.nix')
| -rw-r--r-- | hosts/toaster/zfs.nix | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/hosts/toaster/zfs.nix b/hosts/toaster/zfs.nix index f4bdeea..b14d910 100644 --- a/hosts/toaster/zfs.nix +++ b/hosts/toaster/zfs.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: { +{ pkgs, lib, config, ... }: { services.fstrim.enable = true; services.zfs = { autoSnapshot.enable = true; @@ -10,7 +10,19 @@ }; networking.hostId = "dca22577"; boot = { - kernelPackages = pkgs.zfs.latestCompatibleLinuxPackages; + 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; |
