kubenix/modules/base.nix

40 lines
900 B
Nix
Raw Normal View History

{
2022-04-02 12:40:35 -07:00
lib,
...
}:
with lib; {
options = {
kubenix.project = mkOption {
description = "Name of the project";
type = types.str;
default = "kubenix";
};
_m.features = mkOption {
description = "List of features exposed by module";
type = types.listOf types.str;
2022-04-02 12:40:35 -07:00
default = [];
};
_m.propagate = mkOption {
description = "Module propagation options";
2022-04-02 13:43:57 -07:00
type = types.listOf (types.submodule (_: {
options = {
features = mkOption {
description = "List of features that submodule has to have to propagate module";
type = types.listOf types.str;
2022-04-02 12:40:35 -07:00
default = [];
};
module = mkOption {
description = "Module to propagate";
type = types.unspecified;
2022-04-02 12:40:35 -07:00
default = {};
};
};
}));
2022-04-02 12:40:35 -07:00
default = [];
};
};
}