This is a preparation for moving everything into clan, to make it all one module evaluation
58 lines
1.1 KiB
Nix
58 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) types;
|
|
|
|
templateType = types.submodule (
|
|
{ name, ... }:
|
|
{
|
|
options.description = lib.mkOption {
|
|
type = types.str;
|
|
default = name;
|
|
description = ''
|
|
The name of the template.
|
|
'';
|
|
};
|
|
|
|
options.path = lib.mkOption {
|
|
type = types.path;
|
|
description = ''
|
|
Holds the path to the clan template.
|
|
'';
|
|
};
|
|
}
|
|
);
|
|
in
|
|
{
|
|
options = {
|
|
# clan.templates.clan
|
|
clan = lib.mkOption {
|
|
type = types.attrsOf templateType;
|
|
default = { };
|
|
description = ''
|
|
Holds the different clan templates.
|
|
'';
|
|
};
|
|
|
|
# clan.templates.disko
|
|
disko = lib.mkOption {
|
|
type = types.attrsOf templateType;
|
|
default = { };
|
|
description = ''
|
|
Holds different disko templates.
|
|
'';
|
|
};
|
|
|
|
# clan.templates.machine
|
|
machine = lib.mkOption {
|
|
type = types.attrsOf templateType;
|
|
default = { };
|
|
description = ''
|
|
Holds the different machine templates.
|
|
'';
|
|
};
|
|
};
|
|
}
|