diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/types/populate.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/types/populate.nix b/lib/types/populate.nix index e23ddb0..0427dbd 100644 --- a/lib/types/populate.nix +++ b/lib/types/populate.nix @@ -54,6 +54,18 @@ }; }); + filter = lib.types.submodule { + options = { + type = lib.mkOption { + type = lib.types.enum ["include" "exclude"]; + default = "exclude"; + }; + pattern = lib.mkOption { + type = lib.types.str; + }; + }; + }; + source-types = { derivation = lib.types.submodule { options = { @@ -76,6 +88,28 @@ default = []; example = [".git"]; }; + filters = lib.mkOption { + type = lib.types.listOf filter; + default = []; + example = [ + { + type = "include"; + pattern = "*.nix"; + } + { + type = "include"; + pattern = "*/"; + } + { + type = "exclude"; + pattern = "*"; + } + ]; + }; + deleteExcluded = lib.mkOption { + default = true; + type = lib.types.bool; + }; }; }; git = lib.types.submodule { |