Files
garandos/modules/core/user.nix
T
GarandPLG 98069fa8d9 Refactor to pass host vars as arguments
Remove per‑host imports across flake, modules, and profiles, exposing
needed
variables (system, printer settings, consoleKeyMap, etc.) as arguments.
Drop unused printEnable flags from host variable files.
2026-05-24 15:43:18 +02:00

78 lines
1.6 KiB
Nix

{
pkgs,
inputs,
username,
host,
profile,
system,
gitUsername,
shell,
extraMonitorSettings,
keyboardLayout,
gitEmail,
location,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager = {
useUserPackages = true;
useGlobalPkgs = false;
backupFileExtension = "backup-nixos";
extraSpecialArgs = {
inherit
inputs
username
host
profile
system
extraMonitorSettings
shell
keyboardLayout
gitEmail
gitUsername
location
;
};
users.${username} = {
imports = [
./../home
../../hosts/${host}/home-modules.nix
inputs.noctalia.homeModules.default
];
home = {
username = "${username}";
homeDirectory = "/home/${username}";
stateVersion = "25.11";
shell.enableFishIntegration = true;
};
};
};
users = {
mutableUsers = true;
users.${username} = {
isNormalUser = true;
description = "${gitUsername}";
extraGroups = [
"adbusers"
"docker" # access to docker as non-root
"libvirtd" # Virt manager/QEMU access
"lp"
"networkmanager"
"scanner"
"wheel" # sudo access
"vboxusers" # Virtual Box
"gamemode"
"lpadmin"
];
shell = with pkgs; (
if shell == "fish"
then fish
else bash
);
ignoreShellProgramCheck = true;
linger = true;
};
};
nix.settings.allowed-users = ["${username}"];
}