vars/interface: make type of dependencies configurable
One vars get lifted to the global scope, dependencies need to be structured differently, eg. categorized by instances
This commit is contained in:
@@ -26,6 +26,7 @@ in
|
||||
++ lib.optionals (_class == "nixos") [
|
||||
./secret/password-store.nix
|
||||
];
|
||||
|
||||
options.clan.core.vars = lib.mkOption {
|
||||
description = ''
|
||||
Generated Variables
|
||||
@@ -36,7 +37,14 @@ in
|
||||
- generate secrets like private keys automatically when they are needed
|
||||
- output multiple values like private and public keys simultaneously
|
||||
'';
|
||||
type = submodule { imports = [ ./interface.nix ]; };
|
||||
type = submodule {
|
||||
imports = [
|
||||
./interface.nix
|
||||
{
|
||||
settings.dependenciesType = lib.types.listOf lib.types.str;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
|
||||
@@ -68,7 +68,6 @@ in
|
||||
default = generator.config._module.args.name;
|
||||
defaultText = "Name of the generator";
|
||||
};
|
||||
|
||||
dependencies = mkOption {
|
||||
description = ''
|
||||
A list of other generators that this generator depends on.
|
||||
@@ -78,7 +77,7 @@ in
|
||||
|
||||
**A file `file1` of a generator named `dep1` will be available via `$in/dep1/file1`**
|
||||
'';
|
||||
type = listOf str;
|
||||
type = config.settings.dependenciesType;
|
||||
default = [ ];
|
||||
};
|
||||
migrateFact = mkOption {
|
||||
|
||||
@@ -65,4 +65,14 @@
|
||||
Set it to pkgs.pass for GPG or pkgs.passage for age encryption.
|
||||
'';
|
||||
};
|
||||
|
||||
dependenciesType = lib.mkOption {
|
||||
type = lib.types.raw;
|
||||
description = ''
|
||||
The type of the `dependencies` option.
|
||||
'';
|
||||
internal = true;
|
||||
readOnly = true;
|
||||
visible = false;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user