_:

let
  sources = import ../npins;

  nix-lib =
    (import sources.nix-lib {
      inherit ((import sources.nixpkgs { })) lib;

      keysRoot = ../keys;
    }).extra;
in
nix-lib
// (with nix-lib; {
  # Get publickeys associated to a node
  getNodeKeys =
    node:
    let
      meta = import ../meta;
      names =
        builtins.foldl' (names: group: names ++ meta.members.groups.${group})
          (meta.nodes.${node}.admins ++ [ "/machines/${node}" ])
          (meta.nodes.${node}.adminGroups ++ [ "root" ]);
    in
    getAllKeys names;
})