yep, more dotfiles
1let
2 inherit (builtins) listToAttrs attrNames;
3
4 # Map the name and value of all items of an attrset
5 mapAttrs' =
6 f:
7 set:
8 listToAttrs (map (attr: f attr set.${attr}) (attrNames set));
9
10 keys = import ./secrets/keys.nix;
11
12 prependAttrsName = prefix: mapAttrs' (name: value: { name = prefix + name; inherit value; });
13 secretsDir = path: prependAttrsName (path + "/") ((import ./${path}/default.nix) keys);
14in
15
16secretsDir "secrets"
17 // secretsDir "hosts/weird-row-server/secrets"