nixos-config/lib/createUser.nix

53 lines
882 B
Nix
Raw Normal View History

2021-08-08 17:44:59 +02:00
name:
2024-05-26 16:45:38 +02:00
{
user ? { },
hm ? { },
modules ? [ ],
config,
usesContainers ? false,
...
}:
2021-08-08 17:44:59 +02:00
2024-05-26 16:45:38 +02:00
{
inputs,
pkgs,
lib,
home-manager,
...
}:
{
2021-08-08 17:44:59 +02:00
imports = [ home-manager.nixosModules.home-manager ];
users.users."${name}" = {
isNormalUser = true;
shell = pkgs.zsh;
# increase sub{u,g}id range for container user namespaces
2024-05-26 16:45:38 +02:00
subUidRanges = lib.optionals usesContainers [
{
startUid = 100000;
count = 60000000;
}
];
subGidRanges = lib.optionals usesContainers [
{
startGid = 100000;
count = 60000000;
}
];
2021-08-08 17:44:59 +02:00
} // user;
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
2024-05-26 16:45:38 +02:00
users."${name}" = lib.mkMerge [
{ imports = modules; }
(import config)
];
extraSpecialArgs = {
inherit inputs;
};
2021-08-08 17:44:59 +02:00
} // hm;
}