anchor.diff:                RemainAfterExit = true;
               };
               script = ''
  -              zpool_cmd="${zfsPkg}/sbin/zpool"
  +              zpool_cmd="${zfsUserPkg}/sbin/zpool"
                 ("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}"
               '';
             };
  
positive.code:         zfsSupport = true;
        };
  
        environment.etc."zfs/zed.d".source = "${zfsPkg}/etc/zfs/zed.d/*";
  
        system.fsPackages = [ zfsPkg ];                  # XXX: needed? zfs doesn't have (need) a fsck
        environment.systemPackages = [ zfsPkg ];
        services.udev.packages = [ zfsPkg ];             # to hook zvol naming, etc.
        systemd.packages = [ zfsPkg ];
  
        systemd.services = let
          getPoolFilesystems = pool:
  
negative.code: 
        boot = {
          kernelModules = [ "spl" "zfs" ] ;
          extraModulePackages = [ splKernelPkg zfsKernelPkg ];
        };
  
        boot.initrd = mkIf inInitrd {
          kernelModules = [ "spl" "zfs" ];
          extraUtilsCommands =
            ''
              cp -v ${zfsUserPkg}/sbin/zfs $out/bin
              cp -v ${zfsUserPkg}/sbin/zdb $out/bin
              cp -v ${zfsUserPkg}/sbin/zpool $out/bin
              cp -pdv ${zfsUserPkg}/lib/lib*.so* $out/lib
              cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib
            '';
          postDeviceCommands = concatStringsSep "\n" ([''
  