summaryrefslogtreecommitdiffstats
path: root/lib/types.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/types.nix')
-rw-r--r--lib/types.nix18
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/types.nix b/lib/types.nix
index aae45366b8fb..77105740bc23 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -299,16 +299,14 @@ rec {
check = isList;
merge = loc: defs:
map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
- if isList def.value then
- imap1 (m: def':
- (mergeDefinitions
- (loc ++ ["[definition ${toString n}-entry ${toString m}]"])
- elemType
- [{ inherit (def) file; value = def'; }]
- ).optionalValue
- ) def.value
- else
- throw "The option value `${showOption loc}` in `${def.file}` is not a list.") defs)));
+ imap1 (m: def':
+ (mergeDefinitions
+ (loc ++ ["[definition ${toString n}-entry ${toString m}]"])
+ elemType
+ [{ inherit (def) file; value = def'; }]
+ ).optionalValue
+ ) def.value
+ ) defs)));
emptyValue = { value = {}; };
getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["*"]);
getSubModules = elemType.getSubModules;