ZFS: Difference between revisions

Update guidance around Kernel versions
Fix and simplify snippet for selecting latest compatible Kernel
Line 18: Line 18:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
{
{
  config,
   lib,
   lib,
   pkgs,
   pkgs,
  config,
   ...
   ...
}:
}:


let
let
  isUnstable = config.boot.zfs.package == pkgs.zfsUnstable;
   zfsCompatibleKernelPackages = lib.filterAttrs (
   zfsCompatibleKernelPackages = lib.filterAttrs (
     name: kernelPackages:
     name: kernelPackages:
     (builtins.match "linux_[0-9]+_[0-9]+" name) != null
     (builtins.match "linux_[0-9]+_[0-9]+" name) != null
     && (builtins.tryEval kernelPackages).success
     && (builtins.tryEval kernelPackages).success
     && (
     && (!kernelPackages.${config.boot.zfs.package.kernelModuleAttribute}.meta.broken)
      (!isUnstable && !kernelPackages.zfs.meta.broken)
      || (isUnstable && !kernelPackages.zfs_unstable.meta.broken)
     )
     )
   ) pkgs.linuxKernel.packages;
   ) pkgs.linuxKernel.packages;