43 lines
1.3 KiB
Nix
43 lines
1.3 KiB
Nix
{ ... }: {
|
|
flake.nixosModules.usersCatalogOptions =
|
|
{ lib, ... }:
|
|
{
|
|
options.chiasson.users = {
|
|
catalog = lib.mkOption {
|
|
type = lib.types.attrs;
|
|
default = { };
|
|
description = ''
|
|
User records merged from `usersCatalogDefaults`; override with `hostOverrides` or `mkForce`.
|
|
'';
|
|
};
|
|
enabled = lib.mkOption {
|
|
type = lib.types.listOf lib.types.str;
|
|
default = [ ];
|
|
description = "Catalog names to materialize as `users.users` on this machine.";
|
|
};
|
|
hostOverrides = lib.mkOption {
|
|
type = lib.types.attrs;
|
|
default = { };
|
|
description = ''
|
|
`recursiveUpdate`d onto catalog users.
|
|
'';
|
|
};
|
|
extraModules = lib.mkOption {
|
|
type = lib.types.attrsOf (lib.types.listOf lib.types.unspecified);
|
|
default = { };
|
|
description = ''
|
|
Per-user Home Manager `extraModules` keyed by catalog user name.
|
|
Keys must match `chiasson.users.enabled`.
|
|
'';
|
|
};
|
|
homeManager = {
|
|
autoWire = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Create HM users from the catalog when true.";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|