nixos-config/lib/createUser.nix

29 lines
746 B
Nix

name:
{ user ? { }, hm ? { }, modules ? [ ], config, usesContainers ? false, ... }:
{ 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) ];
} // hm;
}