{ ... }: { 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."; }; }; }; }; }