haios/modules/base/users/mkuser.nix
2025-02-19 00:48:48 +02:00

48 lines
1 KiB
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"
"jellyfin"
];
}
);
}