diff options
| author | Grisha Shipunov | 2024-12-31 17:13:04 +0100 |
|---|---|---|
| committer | Grisha Shipunov | 2024-12-31 17:13:04 +0100 |
| commit | 091b092b2eda01646a8eb7c7e6cdd7a304304928 (patch) | |
| tree | 6c83c4dde9d5729ce02e120ef92434eb16b4211d /hosts/toaster/zfs.nix | |
| parent | 6fed8f89f75452cbd6ccd607cac16d5190e84990 (diff) | |
back to nix
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; |
