{ inputs, tree, }: let nixlib = inputs.nixpkgs.lib; inherit (nixlib.attrsets) filterAttrs mapAttrsToList; inherit (nixlib.lists) sortOn; inherit (inputs.self.lib.lib) userIs; templateSystem = inputs.self.nixosConfigurations.reimu; templateUsers = filterAttrs (_: userIs "peeps") templateSystem.config.users.users; mkNodeUsers = users: let nodeUsers = mapAttrsToList (_: mkNodeUser) templateUsers; in sortOn (user: user.uid) nodeUsers; mkNodeUser = user: { inherit (user) name uid; authorizedKeys = user.openssh.authorizedKeys.keys; }; mkNode = {name}: { users = mkNodeUsers templateUsers; }; in { reisen = mkNode {name = "reisen";}; }