feat: make propagation independent of submodules

This commit is contained in:
Jaka Hudoklin 2019-10-06 21:30:20 +02:00
parent bdc145e2bb
commit 7afbc91301
No known key found for this signature in database
GPG key ID: D1F18234B07BD6E2
4 changed files with 82 additions and 39 deletions

View file

@ -3,17 +3,37 @@
with lib;
{
options._module.features = mkOption {
description = "List of features exposed by module";
type = types.listOf types.str;
default = [];
};
options.kubenix = {
project = mkOption {
options = {
kubenix.project = mkOption {
description = "Name of the project";
type = types.str;
default = "kubenix";
};
_module.features = mkOption {
description = "List of features exposed by module";
type = types.listOf types.str;
default = [];
};
_module.propagate = mkOption {
description = "Module propagation options";
type = types.listOf (types.submodule ({config, ...}: {
options = {
features = mkOption {
description = "List of features that submodule has to have to propagate module";
type = types.listOf types.str;
default = [];
};
module = mkOption {
description = "Module to propagate";
type = types.unspecified;
default = {};
};
};
}));
default = [];
};
};
}