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}