Files
NixOS/config/derek.nix
Danilo Reyes 5e96618d8a Refactor user management in configuration files for enhanced consistency
Updated multiple configuration files to implement a unified approach for user management across applications and services. Introduced `mkEnabledWithUsers` to streamline user configuration, improving maintainability and flexibility in multi-user setups.
2026-01-16 13:47:17 -06:00

66 lines
1.2 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
enableForDerek = {
enable = true;
users = "bearded_dragonn";
};
in
{
my = {
apps = {
art = enableForDerek;
gaming = enableForDerek;
multimedia.videoEditing = enableForDerek;
};
dev = {
nix = enableForDerek;
python = enableForDerek;
sh = enableForDerek;
};
shell = {
exercism = enableForDerek;
tools = enableForDerek;
multimedia = enableForDerek;
};
};
sops.secrets = lib.mkIf config.my.secureHost {
derek-password.neededForUsers = true;
};
services = {
tailscale.enable = true;
sunshine = {
enable = true;
autoStart = true;
capSysAdmin = true;
openFirewall = true;
};
};
users.users.bearded_dragonn = {
isNormalUser = true;
createHome = true;
hashedPasswordFile = config.sops.secrets.derek-password.path;
packages = builtins.attrValues {
inherit (pkgs)
bottles
vscode
nextcloud-client
firefox
warp
;
};
extraGroups = [
"audio"
"video"
"input"
"games"
];
};
home-manager.users.bearded_dragonn.home.stateVersion = "23.05";
}