diff options
author | Silvan Mosberger <contact@infinisil.com> | 2021-10-02 16:37:22 +0200 |
---|---|---|
committer | Silvan Mosberger <contact@infinisil.com> | 2021-10-02 16:37:22 +0200 |
commit | 48293bd6b6b791b9af745e9b7b94a6856e279fa0 (patch) | |
tree | 0ea4d2706a5503ce6837fcb81d4e841d1b28c403 /lib/types.nix | |
parent | 54e1db21522a61ca771aeafbbd77c4a474e82f8e (diff) |
lib/types: Make types.anything merge functions
Previously it would give an error if there were multiple function
definitions.
Diffstat (limited to 'lib/types.nix')
-rw-r--r-- | lib/types.nix | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/types.nix b/lib/types.nix index a0be2ff3a452..c2532065d7ea 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -192,6 +192,12 @@ rec { else (listOf anything).merge; # This is the type of packages, only accept a single definition stringCoercibleSet = mergeOneOption; + lambda = loc: defs: arg: anything.merge + (loc ++ [ "<function body>" ]) + (map (def: { + file = def.file; + value = def.value arg; + }) defs); # Otherwise fall back to only allowing all equal definitions }.${commonType} or mergeEqualOption; in mergeFunction loc defs; |