flocon/modules/core/users.nix
Anthony Rodriguez fc876b2ea5
treewide: update options API
The options API has been updated, in order for a more flexible setup
with `local.modules.desktop.enable` being replaced with an enum of
desktops at `local.systemVars.desktop`, which allows for switching
desktop environments by changing a single option. This is so that we can
switch to cosmic and only enable the programs we need (i.e. disable
greetd because we use cosmic-greeter and enable terminals since that is
desktop related). This is simpler than having a different module per
desktop.
2025-02-06 18:47:01 +01:00

33 lines
633 B
Nix

{
lib,
config,
...
}: let
inherit (lib) mkIf;
inherit (config.local.systemVars) desktop username;
inherit (config.local.homeVars) fullName;
in {
users.users.${username} = {
isNormalUser = true;
description = fullName;
extraGroups = mkIf (desktop != "none") [
"networkmanager"
"audio"
"video"
"wheel"
"plugdev"
];
};
hjem = mkIf (desktop != "none") {
clobberByDefault = true;
users.${username} = {
enable = true;
directory = "/home/${username}";
user = "${username}";
environment = {
forceOverride = true;
};
};
};
}