blob: c4a092ea6d755ad21dfa2a08043173c753e97a2b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
lib:
{ root, exclude ? [] }:
with builtins; with lib;
# http://chriswarbo.net/projects/nixos/useful_hacks.html
let
isMatch = name: type: (hasSuffix ".nix" name || type == "directory")
&& ! elem name exclude;
entry = name: _: {
name = removeSuffix ".nix" name;
value = import (root + "/${name}");
};
in
mapAttrs' entry (filterAttrs isMatch (readDir root))
|