diff --git a/nixosModules/installer/zfs-latest.nix b/nixosModules/installer/zfs-latest.nix index d33bd9d4c..77f060d9a 100644 --- a/nixosModules/installer/zfs-latest.nix +++ b/nixosModules/installer/zfs-latest.nix @@ -12,8 +12,14 @@ let (builtins.match "linux_[0-9]+_[0-9]+" name) != null && (builtins.tryEval kernelPackages).success && ( - (!isUnstable && !kernelPackages.zfs.meta.broken) - || (isUnstable && !kernelPackages.zfs_unstable.meta.broken) + let + zfsPackage = + if isUnstable then + kernelPackages.zfs_unstable + else + kernelPackages.${pkgs.zfs.kernelModuleAttribute}; + in + !(zfsPackage.meta.broken or false) ) ) pkgs.linuxKernel.packages; latestKernelPackage = lib.last ( @@ -24,5 +30,5 @@ let in { # Note this might jump back and worth as kernel get added or removed. - boot.kernelPackages = latestKernelPackage; + boot.kernelPackages = lib.mkIf (lib.meta.availableOn pkgs.hostPlatform pkgs.zfs) latestKernelPackage; }