diff options
Diffstat (limited to 'doctrine/lib/import-all.nix')
| -rw-r--r-- | doctrine/lib/import-all.nix | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/doctrine/lib/import-all.nix b/doctrine/lib/import-all.nix new file mode 100644 index 0000000..423dd9c --- /dev/null +++ b/doctrine/lib/import-all.nix @@ -0,0 +1,21 @@ +{ + lib, + root, + exclude ? ["default"], +}: +with builtins; +with lib; +# http://chriswarbo.net/projects/nixos/useful_hacks.html + let + basename = removeSuffix ".nix"; + + isMatch = name: type: + (hasSuffix ".nix" name || type == "directory") + && ! elem (basename name) exclude; + + entry = name: _: { + name = basename name; + value = import (root + "/${name}"); + }; + in + mapAttrs' entry (filterAttrs isMatch (readDir root)) |
