nix-config/modules/top/inventory/hosts.nix

54 lines
1.2 KiB
Nix

{ lib, ... }:
{
options.dendritic.hosts = lib.mkOption {
type = lib.types.attrsOf (
lib.types.submodule (
{ name, ... }:
{
options = {
name = lib.mkOption {
type = lib.types.str;
default = name;
};
system = lib.mkOption {
type = lib.types.str;
};
type = lib.mkOption {
type = lib.types.enum [
"laptop"
"desktop"
"server"
];
};
roles = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
};
primaryUser = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
};
primaryUserExtraGroups = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [
"wheel"
"networkmanager"
];
};
nixosModules = lib.mkOption {
type = lib.types.listOf lib.types.deferredModule;
default = [ ];
};
};
}
)
);
default = { };
};
}