53 lines
1 KiB
Nix
53 lines
1 KiB
Nix
{ self, ... }:
|
|
|
|
{
|
|
flake.lib.createUserModule =
|
|
name:
|
|
{
|
|
homeModule,
|
|
user ? { },
|
|
usesContainers ? false,
|
|
...
|
|
}:
|
|
{
|
|
inputs,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
imports = [ inputs.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 = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
backupFileExtension = "backup";
|
|
users."${name}" = {
|
|
imports = [
|
|
self.homeModules.git
|
|
homeModule
|
|
];
|
|
};
|
|
extraSpecialArgs = { inherit inputs; };
|
|
};
|
|
};
|
|
}
|