summary refs log tree commit diff
path: root/pkgs/lib/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/lib/default.nix')
-rw-r--r--pkgs/lib/default.nix4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkgs/lib/default.nix b/pkgs/lib/default.nix
index eaeea3af8c1c..a99f09c80dfb 100644
--- a/pkgs/lib/default.nix
+++ b/pkgs/lib/default.nix
@@ -366,6 +366,10 @@ rec {
   # calls a function (f attr value ) for each record item. returns a list
   mapRecordFlatten = f : r : map (attr: f attr (builtins.getAttr attr r) ) (attrNames r);
 
+  # maps a function on each attr value
+  # f = name : attrValue : ..
+  mapAttrs = f : r : listToAttrs ( mapRecordFlatten (n : a : nv n ( f n a ) )  r);
+
   # to be used with listToAttrs (_a_ttribute _v_alue)
   nv = name : value : { inherit name value; };
   # attribute set containing one attribute