48 lines
1,008 B
Nix
48 lines
1,008 B
Nix
|
{
|
||
|
lib,
|
||
|
config,
|
||
|
haiLib,
|
||
|
...
|
||
|
}: let
|
||
|
inherit (lib.modules) mkDefault;
|
||
|
inherit (lib.attrsets) genAttrs;
|
||
|
inherit (haiLib) ifTheyExist;
|
||
|
in {
|
||
|
users.users = genAttrs config.olympus.system.users (
|
||
|
name: let
|
||
|
hm = config.home-manager.users.${name};
|
||
|
in {
|
||
|
home = "/home/" + name;
|
||
|
#shell = hm.olympus.programs.${hm.olympus.programs.defaults.shell}.package;
|
||
|
uid = mkDefault 1000;
|
||
|
isNormalUser = true;
|
||
|
initialPassword = mkDefault "changeme";
|
||
|
|
||
|
# only add groups that exist
|
||
|
extraGroups =
|
||
|
[
|
||
|
"wheel"
|
||
|
"nix"
|
||
|
]
|
||
|
++ ifTheyExist config [
|
||
|
"network"
|
||
|
"networkmanager"
|
||
|
"systemd-journal"
|
||
|
"audio"
|
||
|
"pipewire" # this give us access to the rt limits
|
||
|
"video"
|
||
|
"input"
|
||
|
"plugdev"
|
||
|
"lp"
|
||
|
"tss"
|
||
|
"power"
|
||
|
"mysql"
|
||
|
"docker"
|
||
|
"git"
|
||
|
"libvirtd"
|
||
|
"cloudflared"
|
||
|
];
|
||
|
}
|
||
|
);
|
||
|
}
|