nixos-config/lib/createUser.nix
Felix Schröter 10c0834daa
refactor(flake): optimize structure
- get rid of some `rec`s
- move lib & overlays into flake modules
2023-09-30 16:40:05 +02:00

30 lines
798 B
Nix

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