From ba09982edb7521b8c853818e366a391370ac858f Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Mon, 5 Oct 2009 18:10:42 +0000 Subject: [PATCH] Fix merge function of types. svn path=/nixpkgs/trunk/; revision=17649 --- pkgs/lib/types.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/lib/types.nix b/pkgs/lib/types.nix index d3cd99847db..5e0393e9604 100644 --- a/pkgs/lib/types.nix +++ b/pkgs/lib/types.nix @@ -87,7 +87,7 @@ rec { name = "attribute set of ${elemType}s"; check = x: lib.traceValIfNot builtins.isAttrs x && fold (e: v: v && elemType.check e) true (lib.attrValues x); - merge = lib.zip elemType.merge; + merge = lib.zip (name: elemType.merge); iter = f: path: set: lib.mapAttrs (name: elemType.iter f (path + "." + name)) set; fold = op: nul: set: fold (e: l: elemType.fold op l e) nul (lib.attrValues set); docPath = path: elemType.docPath (path + "."); @@ -114,6 +114,8 @@ rec { # an argument. optionSet = mkOptionType { name = "option set"; + # merge is done in "options.nix > addOptionMakeUp > handleOptionSets" + merge = lib.id; check = x: lib.traceValIfNot builtins.isAttrs x; hasOptions = true; };