1{lib, ...}: {
2 options.myUsers = let
3 mkUser = user: {
4 enable = lib.mkEnableOption "${user}.";
5
6 password = lib.mkOption {
7 default = null;
8 description = "Hashed password for ${user}.";
9 type = lib.types.nullOr lib.types.str;
10 };
11 };
12 in {
13 defaultGroups = lib.mkOption {
14 description = "Default groups for desktop users.";
15 default = [
16 "cdrom"
17 "dialout"
18 "docker"
19 "libvirtd"
20 "lp"
21 "networkmanager"
22 "plugdev"
23 "scanner"
24 "transmission"
25 "video"
26 "wheel"
27 ];
28 };
29
30 root.enable =
31 lib.mkEnableOption "root user configuration."
32 // {
33 default = true;
34 };
35 ayla = mkUser "ayla";
36 };
37}