main
 1{
 2  den.default.includes = [
 3    ({
 4      host,
 5      user,
 6      ...
 7    }: {
 8      name = "user-define/${user.userName}@${host.name}";
 9      nixos.users.users.${user.userName} = {
10        name = user.userName;
11        home = "/home/${user.userName}";
12        isNormalUser = true;
13      };
14    })
15    ({user, ...}: {
16      name = "user-description/${user.userName}";
17      user.description = user.identity.displayName;
18    })
19    ({user, ...}: {
20      name = "user-password/${user.userName}";
21      nixos = {config, ...}: let
22        secretName = "hashed-password-user-${user.userName}";
23      in {
24        users.users.${user.userName}.hashedPasswordFile = config.vaultix.secrets.${secretName}.path;
25        vaultix.secrets.${secretName}.file = user.system.hashedPasswordAged;
26        vaultix.beforeUserborn = [secretName];
27      };
28    })
29    ({
30      host,
31      user,
32      ...
33    }: {
34      name = "user-admin/${user.userName}@${host.name}";
35      nixos.users.users.${user.userName} = {
36        isNormalUser = true;
37        extraGroups = [
38          "wheel"
39          "networkmanager"
40        ];
41      };
42    })
43  ];
44}