29 lines
586 B
Nix
29 lines
586 B
Nix
_:
|
|
|
|
let
|
|
sources = import ../npins;
|
|
|
|
lib =
|
|
(import sources.nix-lib {
|
|
inherit ((import sources.nixpkgs { })) lib;
|
|
|
|
keysRoot = ../keys;
|
|
}).extra;
|
|
|
|
meta = import ../meta;
|
|
in
|
|
lib
|
|
// rec {
|
|
# Get publickeys associated to a node
|
|
getNodeKeys =
|
|
node:
|
|
let
|
|
names =
|
|
builtins.foldl' (names: group: names ++ meta.members.groups.${group})
|
|
(meta.nodes.${node}.admins ++ [ "/machines/${node}" ])
|
|
meta.nodes.${node}.adminGroups;
|
|
in
|
|
rootKeys ++ (lib.getAllKeys names);
|
|
|
|
rootKeys = lib.getAllKeys meta.members.groups.root;
|
|
}
|