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.
33 lines
633 B
Nix
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;
|
|
};
|
|
};
|
|
};
|
|
}
|