lib.types: add a fileset type

This commit is contained in:
Niols
2025-07-10 14:36:16 +02:00
parent b99df9d494
commit 9c00c9af71

View File

@@ -66,6 +66,11 @@ let
fixupOptionType
mergeOptionDecls
;
inherit (lib.fileset)
isFileset
unions
empty
;
inAttrPosSuffix =
v: name:
@@ -612,6 +617,15 @@ let
};
};
fileset = mkOptionType {
name = "fileset";
description = "fileset";
descriptionClass = "noun";
check = isFileset;
merge = loc: defs: unions (map (x: x.value) defs);
emptyValue.value = empty;
};
# A package is a top-level store path (/nix/store/hash-name). This includes:
# - derivations
# - more generally, attribute sets with an `outPath` or `__toString` attribute