lib.attrsets: attribute set functions
lib.attrsets.attrByPath
Type: attrByPath :: [String] -> Any -> AttrSet -> Any
Return an attribute from nested attribute sets.
-
attrPath -
A list of strings representing the attribute path to return from
set -
default -
Default value if
attrPathdoes not resolve to an existing value -
set -
The nested attribute set to select values from
Example
lib.attrsets.attrByPath usage example
x = { a = { b = 3; }; }
# ["a" "b"] is equivalent to x.a.b
# 6 is a default value to return if the path does not exist in attrset
attrByPath ["a" "b"] 6 x
=> 3
attrByPath ["z" "z"] 6 x
=> 6
Located at lib/attrsets.nix:30 in <nixpkgs>.
lib.attrsets.hasAttrByPath
Type: hasAttrByPath :: [String] -> AttrSet -> Bool
Return if an attribute from nested attribute set exists.
-
attrPath -
A list of strings representing the attribute path to check from
set -
e -
The nested attribute set to check
Example
lib.attrsets.hasAttrByPath usage example
x = { a = { b = 3; }; }
hasAttrByPath ["a" "b"] x
=> true
hasAttrByPath ["z" "z"] x
=> false
Located at lib/attrsets.nix:56 in <nixpkgs>.
lib.attrsets.setAttrByPath
Type: setAttrByPath :: [String] -> Any -> AttrSet
Create a new attribute set with value set at the nested attribute location specified in attrPath.
-
attrPath -
A list of strings representing the attribute path to set
-
value -
The value to set at the location described by
attrPath
Located at lib/attrsets.nix:78 in <nixpkgs>.
lib.attrsets.getAttrFromPath
Type: getAttrFromPath :: [String] -> AttrSet -> Any
Like attrByPath, but without a default value. If it doesn't find the
path it will throw an error.
-
attrPath -
A list of strings representing the attribute path to get from
set -
set -
The nested attribute set to find the value in.
Example
lib.attrsets.getAttrFromPath usage example
x = { a = { b = 3; }; }
getAttrFromPath ["a" "b"] x
=> 3
getAttrFromPath ["z" "z"] x
=> error: cannot find attribute `z.z'
Located at lib/attrsets.nix:104 in <nixpkgs>.
lib.attrsets.concatMapAttrs
Type: concatMapAttrs :: (String -> a -> AttrSet) -> AttrSet -> AttrSet
Map each attribute in the given set and merge them into a new attribute set.
-
f -
Function argument
-
v -
Function argument
Example
lib.attrsets.concatMapAttrs usage example
concatMapAttrs
(name: value: {
${name} = value;
${name + value} = value;
})
{ x = "a"; y = "b"; }
=> { x = "a"; xa = "a"; y = "b"; yb = "b"; }
Located at lib/attrsets.nix:126 in <nixpkgs>.
lib.attrsets.updateManyAttrsByPath
Type: updateManyAttrsByPath :: [{ path :: [String]; update :: (Any -> Any); }] -> AttrSet -> AttrSet
Update or set specific paths of an attribute set.
Takes a list of updates to apply and an attribute set to apply them to,
and returns the attribute set with the updates applied. Updates are
represented as { path = ...; update = ...; } values, where path is a
list of strings representing the attribute path that should be updated,
and update is a function that takes the old value at that attribute path
as an argument and returns the new
value it should be.
Properties:
-
Updates to deeper attribute paths are applied before updates to more shallow attribute paths
-
Multiple updates to the same attribute path are applied in the order they appear in the update list
-
If any but the last
pathelement leads into a value that is not an attribute set, an error is thrown -
If there is an update for an attribute path that doesn't exist, accessing the argument in the update function causes an error, but intermediate attribute sets are implicitly created as needed
Example
lib.attrsets.updateManyAttrsByPath usage example
updateManyAttrsByPath [
{
path = [ "a" "b" ];
update = old: { d = old.c; };
}
{
path = [ "a" "b" "c" ];
update = old: old + 1;
}
{
path = [ "x" "y" ];
update = old: "xy";
}
] { a.b.c = 0; }
=> { a = { b = { d = 1; }; }; x = { y = "xy"; }; }
Located at lib/attrsets.nix:177 in <nixpkgs>.
lib.attrsets.attrVals
Type: attrVals :: [String] -> AttrSet -> [Any]
Return the specified attributes from a set.
-
nameList -
The list of attributes to fetch from
set. Each attribute name must exist on the attrbitue set -
set -
The set to get attribute values from
Located at lib/attrsets.nix:245 in <nixpkgs>.
lib.attrsets.attrValues
Type: attrValues :: AttrSet -> [Any]
Return the values of all attributes in the given set, sorted by attribute name.
Located at lib/attrsets.nix:262 in <nixpkgs>.
lib.attrsets.getAttrs
Type: getAttrs :: [String] -> AttrSet -> AttrSet
Given a set of attribute names, return the set of the corresponding attributes from the given set.
-
names -
A list of attribute names to get out of
set -
attrs -
The set to get the named attributes from
Example
lib.attrsets.getAttrs usage example
getAttrs [ "a" "b" ] { a = 1; b = 2; c = 3; }
=> { a = 1; b = 2; }
Located at lib/attrsets.nix:275 in <nixpkgs>.
lib.attrsets.catAttrs
Type: catAttrs :: String -> [AttrSet] -> [Any]
Collect each attribute named attr from a list of attribute
sets. Sets that don't contain the named attribute are ignored.
Located at lib/attrsets.nix:291 in <nixpkgs>.
lib.attrsets.filterAttrs
Type: filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet
Filter an attribute set by removing all attributes for which the given predicate return false.
-
pred -
Predicate taking an attribute name and an attribute value, which returns
trueto include the attribute, orfalseto exclude the attribute. -
set -
The attribute set to filter
Example
lib.attrsets.filterAttrs usage example
filterAttrs (n: v: n == "foo") { foo = 1; bar = 2; }
=> { foo = 1; }
Located at lib/attrsets.nix:305 in <nixpkgs>.
lib.attrsets.filterAttrsRecursive
Type: filterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet
Filter an attribute set recursively by removing all attributes for which the given predicate return false.
-
pred -
Predicate taking an attribute name and an attribute value, which returns
trueto include the attribute, orfalseto exclude the attribute. -
set -
The attribute set to filter
Example
lib.attrsets.filterAttrsRecursive usage example
filterAttrsRecursive (n: v: v != null) { foo = { bar = null; }; }
=> { foo = {}; }
Located at lib/attrsets.nix:323 in <nixpkgs>.
lib.attrsets.foldlAttrs
Type: foldlAttrs :: ( a -> String -> b -> a ) -> a -> { ... :: b } -> a
Like builtins.foldl' but for attribute sets.
Iterates over every name-value pair in the given attribute set.
The result of the callback function is often called acc for accumulator. It is passed between callbacks from left to right and the final acc is the return value of foldlAttrs.
Attention:
There is a completely different function
lib.foldAttrs
which has nothing to do with this function, despite the similar name.
-
f -
Function argument
-
init -
Function argument
-
set -
Function argument
Example
lib.attrsets.foldlAttrs usage example
foldlAttrs
(acc: name: value: {
sum = acc.sum + value;
names = acc.names ++ [name];
})
{ sum = 0; names = []; }
{
foo = 1;
bar = 10;
}
->
{
sum = 11;
names = ["bar" "foo"];
}
foldlAttrs
(throw "function not needed")
123
{};
->
123
foldlAttrs
(_: _: v: v)
(throw "initial accumulator not needed")
{ z = 3; a = 2; };
->
3
The accumulator doesn't have to be an attrset.
It can be as simple as a number or string.
foldlAttrs
(acc: _: v: acc * 10 + v)
1
{ z = 1; a = 2; };
->
121
Located at lib/attrsets.nix:394 in <nixpkgs>.
lib.attrsets.foldAttrs
Type: foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any
Apply fold functions to values grouped by key.
-
op -
A function, given a value and a collector combines the two.
-
nul -
The starting value.
-
list_of_attrs -
A list of attribute sets to fold together by key.
Example
lib.attrsets.foldAttrs usage example
foldAttrs (item: acc: [item] ++ acc) [] [{ a = 2; } { a = 3; }]
=> { a = [ 2 3 ]; }
Located at lib/attrsets.nix:410 in <nixpkgs>.
lib.attrsets.collect
Type: collect :: (AttrSet -> Bool) -> AttrSet -> [x]
Recursively collect sets that verify a given predicate named pred
from the set attrs. The recursion is stopped when the predicate is
verified.
-
pred -
Given an attribute's value, determine if recursion should stop.
-
attrs -
The attribute set to recursively collect.
Example
lib.attrsets.collect usage example
collect isList { a = { b = ["b"]; }; c = [1]; }
=> [["b"] [1]]
collect (x: x ? outPath)
{ a = { outPath = "a/"; }; b = { outPath = "b/"; }; }
=> [{ outPath = "a/"; } { outPath = "b/"; }]
Located at lib/attrsets.nix:439 in <nixpkgs>.
lib.attrsets.cartesianProductOfSets
Type: cartesianProductOfSets :: AttrSet -> [AttrSet]
Return the cartesian product of attribute set value combinations.
-
attrsOfLists -
Attribute set with attributes that are lists of values
Example
lib.attrsets.cartesianProductOfSets usage example
cartesianProductOfSets { a = [ 1 2 ]; b = [ 10 20 ]; }
=> [
{ a = 1; b = 10; }
{ a = 1; b = 20; }
{ a = 2; b = 10; }
{ a = 2; b = 20; }
]
Located at lib/attrsets.nix:464 in <nixpkgs>.
lib.attrsets.nameValuePair
Type: nameValuePair :: String -> Any -> { name :: String; value :: Any; }
Utility function that creates a {name, value} pair as expected by builtins.listToAttrs.
-
name -
Attribute name
-
value -
Attribute value
Example
lib.attrsets.nameValuePair usage example
nameValuePair "some" 6
=> { name = "some"; value = 6; }
Located at lib/attrsets.nix:483 in <nixpkgs>.
lib.attrsets.mapAttrs
Type: mapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet
Apply a function to each element in an attribute set, creating a new attribute set.
Example
lib.attrsets.mapAttrs usage example
mapAttrs (name: value: name + "-" + value)
{ x = "foo"; y = "bar"; }
=> { x = "x-foo"; y = "y-bar"; }
Located at lib/attrsets.nix:501 in <nixpkgs>.
lib.attrsets.mapAttrs'
Type: mapAttrs' :: (String -> Any -> { name :: String; value :: Any; }) -> AttrSet -> AttrSet
Like mapAttrs, but allows the name of each attribute to be
changed in addition to the value. The applied function should
return both the new name and value as a nameValuePair.
-
f -
A function, given an attribute's name and value, returns a new
nameValuePair. -
set -
Attribute set to map over.
Example
lib.attrsets.mapAttrs' usage example
mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value))
{ x = "a"; y = "b"; }
=> { foo_x = "bar-a"; foo_y = "bar-b"; }
Located at lib/attrsets.nix:518 in <nixpkgs>.
lib.attrsets.mapAttrsToList
Type: mapAttrsToList :: (String -> a -> b) -> AttrSet -> [b]
Call a function for each attribute in the given set and return the result in a list.
-
f -
A function, given an attribute's name and value, returns a new value.
-
attrs -
Attribute set to map over.
Example
lib.attrsets.mapAttrsToList usage example
mapAttrsToList (name: value: name + value)
{ x = "a"; y = "b"; }
=> [ "xa" "yb" ]
Located at lib/attrsets.nix:538 in <nixpkgs>.
lib.attrsets.mapAttrsRecursive
Type: mapAttrsRecursive :: ([String] -> a -> b) -> AttrSet -> AttrSet
Like mapAttrs, except that it recursively applies itself to
the leaf attributes of a potentially-nested attribute set:
the second argument of the function will never be an attrset.
Also, the first argument of the argument function is a list
of the attribute names that form the path to the leaf attribute.
For a function that gives you control over what counts as a leaf,
see mapAttrsRecursiveCond.
-
f -
A function, given a list of attribute names and a value, returns a new value.
-
set -
Set to recursively map over.
Example
lib.attrsets.mapAttrsRecursive usage example
mapAttrsRecursive (path: value: concatStringsSep "-" (path ++ [value]))
{ n = { a = "A"; m = { b = "B"; c = "C"; }; }; d = "D"; }
=> { n = { a = "n-a-A"; m = { b = "n-m-b-B"; c = "n-m-c-C"; }; }; d = "d-D"; }
Located at lib/attrsets.nix:563 in <nixpkgs>.
lib.attrsets.mapAttrsRecursiveCond
Type: mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet
Like mapAttrsRecursive, but it takes an additional predicate
function that tells it whether to recurse into an attribute
set. If it returns false, mapAttrsRecursiveCond does not
recurse, but does apply the map function. If it returns true, it
does recurse, and does not apply the map function.
-
cond -
A function, given the attribute set the recursion is currently at, determine if to recurse deeper into that attribute set.
-
f -
A function, given a list of attribute names and a value, returns a new value.
-
set -
Attribute set to recursively map over.
Example
lib.attrsets.mapAttrsRecursiveCond usage example
# To prevent recursing into derivations (which are attribute
# sets with the attribute "type" equal to "derivation"):
mapAttrsRecursiveCond
(as: !(as ? "type" && as.type == "derivation"))
(x: ... do something ...)
attrs
Located at lib/attrsets.nix:588 in <nixpkgs>.
lib.attrsets.genAttrs
Type: genAttrs :: [ String ] -> (String -> Any) -> AttrSet
Generate an attribute set by mapping a function over a list of attribute names.
-
names -
Names of values in the resulting attribute set.
-
f -
A function, given the name of the attribute, returns the attribute's value.
Example
lib.attrsets.genAttrs usage example
genAttrs [ "foo" "bar" ] (name: "x_" + name)
=> { foo = "x_foo"; bar = "x_bar"; }
Located at lib/attrsets.nix:617 in <nixpkgs>.
lib.attrsets.isDerivation
Type: isDerivation :: Any -> Bool
Check whether the argument is a derivation. Any set with
{ type = "derivation"; } counts as a derivation.
-
value -
Value to check.
Example
lib.attrsets.isDerivation usage example
nixpkgs = import <nixpkgs> {}
isDerivation nixpkgs.ruby
=> true
isDerivation "foobar"
=> false
Located at lib/attrsets.nix:638 in <nixpkgs>.
lib.attrsets.toDerivation
Type: toDerivation :: Path -> Derivation
Converts a store path to a fake derivation.
-
path -
A store path to convert to a derivation.
Located at lib/attrsets.nix:647 in <nixpkgs>.
lib.attrsets.optionalAttrs
Type: optionalAttrs :: Bool -> AttrSet -> AttrSet
If cond is true, return the attribute set as,
otherwise an empty attribute set.
-
cond -
Condition under which the
asattribute set is returned. -
as -
The attribute set to return if
condistrue.
Example
lib.attrsets.optionalAttrs usage example
optionalAttrs (true) { my = "set"; }
=> { my = "set"; }
optionalAttrs (false) { my = "set"; }
=> { }
Located at lib/attrsets.nix:675 in <nixpkgs>.
lib.attrsets.zipAttrsWithNames
Type: zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet
Merge sets of attributes and use the function f to merge attributes
values.
-
names -
List of attribute names to zip.
-
f -
A function, accepts an attribute name, all the values, and returns a combined value.
-
sets -
List of values from the list of attribute sets.
Example
lib.attrsets.zipAttrsWithNames usage example
zipAttrsWithNames ["a"] (name: vs: vs) [{a = "x";} {a = "y"; b = "z";}]
=> { a = ["x" "y"]; }
Located at lib/attrsets.nix:693 in <nixpkgs>.
lib.attrsets.zipAttrsWith
Type: zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet
Merge sets of attributes and use the function f to merge attribute values.
Like lib.attrsets.zipAttrsWithNames with all key names are passed for names.
Implementation note: Common names appear multiple times in the list of
names, hopefully this does not affect the system because the maximal
laziness avoid computing twice the same expression and listToAttrs does
not care about duplicated attribute names.
Example
lib.attrsets.zipAttrsWith usage example
zipAttrsWith (name: values: values) [{a = "x";} {a = "y"; b = "z";}]
=> { a = ["x" "y"]; b = ["z"]; }
Located at lib/attrsets.nix:721 in <nixpkgs>.
lib.attrsets.zipAttrs
Type: zipAttrs :: [ AttrSet ] -> AttrSet
Merge sets of attributes and combine each attribute value in to a list.
Like lib.attrsets.zipAttrsWith with (name: values: values) as the function.
-
sets -
List of attribute sets to zip together.
Example
lib.attrsets.zipAttrs usage example
zipAttrs [{a = "x";} {a = "y"; b = "z";}]
=> { a = ["x" "y"]; b = ["z"]; }
Located at lib/attrsets.nix:736 in <nixpkgs>.
lib.attrsets.mergeAttrsList
Type: mergeAttrsList :: [ Attrs ] -> Attrs
Merge a list of attribute sets together using the // operator.
In case of duplicate attributes, values from later list elements take precedence over earlier ones.
The result is the same as foldl mergeAttrs { }, but the performance is better for large inputs.
For n list elements, each with an attribute set containing m unique attributes, the complexity of this operation is O(nm log n).
-
list -
Function argument
Example
lib.attrsets.mergeAttrsList usage example
mergeAttrsList [ { a = 0; b = 1; } { c = 2; d = 3; } ]
=> { a = 0; b = 1; c = 2; d = 3; }
mergeAttrsList [ { a = 0; } { a = 1; } ]
=> { a = 1; }
Located at lib/attrsets.nix:756 in <nixpkgs>.
lib.attrsets.recursiveUpdateUntil
Type: recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet
Does the same as the update operator '//' except that attributes are merged until the given predicate is verified. The predicate should accept 3 arguments which are the path to reach the attribute, a part of the first attribute set and a part of the second attribute set. When the predicate is satisfied, the value of the first attribute set is replaced by the value of the second attribute set.
-
pred -
Predicate, taking the path to the current attribute as a list of strings for attribute names, and the two values at that path from the original arguments.
-
lhs -
Left attribute set of the merge.
-
rhs -
Right attribute set of the merge.
Example
lib.attrsets.recursiveUpdateUntil usage example
recursiveUpdateUntil (path: l: r: path == ["foo"]) {
# first attribute set
foo.bar = 1;
foo.baz = 2;
bar = 3;
} {
#second attribute set
foo.bar = 1;
foo.quz = 2;
baz = 4;
}
=> {
foo.bar = 1; # 'foo.*' from the second set
foo.quz = 2; #
bar = 3; # 'bar' from the first set
baz = 4; # 'baz' from the second set
}
Located at lib/attrsets.nix:808 in <nixpkgs>.
lib.attrsets.recursiveUpdate
Type: recursiveUpdate :: AttrSet -> AttrSet -> AttrSet
A recursive variant of the update operator โ//โ. The recursion stops when one of the attribute values is not an attribute set, in which case the right hand side value takes precedence over the left hand side value.
-
lhs -
Left attribute set of the merge.
-
rhs -
Right attribute set of the merge.
Example
lib.attrsets.recursiveUpdate usage example
recursiveUpdate {
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/hda";
} {
boot.loader.grub.device = "";
}
returns: {
boot.loader.grub.enable = true;
boot.loader.grub.device = "";
}
Located at lib/attrsets.nix:848 in <nixpkgs>.
lib.attrsets.matchAttrs
Type: matchAttrs :: AttrSet -> AttrSet -> Bool
Returns true if the pattern is contained in the set. False otherwise.
-
pattern -
Attribute set structure to match
-
attrs -
Attribute set to find patterns in
Example
lib.attrsets.matchAttrs usage example
matchAttrs { cpu = {}; } { cpu = { bits = 64; }; }
=> true
Located at lib/attrsets.nix:865 in <nixpkgs>.
lib.attrsets.overrideExisting
Type: overrideExisting :: AttrSet -> AttrSet -> AttrSet
Override only the attributes that are already present in the old set useful for deep-overriding.
-
old -
Original attribute set
-
new -
Attribute set with attributes to override in
old.
Example
lib.attrsets.overrideExisting usage example
overrideExisting {} { a = 1; }
=> {}
overrideExisting { b = 2; } { a = 1; }
=> { b = 2; }
overrideExisting { a = 3; b = 2; } { a = 1; }
=> { a = 1; b = 2; }
Located at lib/attrsets.nix:893 in <nixpkgs>.
lib.attrsets.showAttrPath
Type: showAttrPath :: [String] -> String
Turns a list of strings into a human-readable description of those
strings represented as an attribute path. The result of this function is
not intended to be machine-readable.
Create a new attribute set with value set at the nested attribute location specified in attrPath.
-
path -
Attribute path to render to a string
Example
lib.attrsets.showAttrPath usage example
showAttrPath [ "foo" "10" "bar" ]
=> "foo.\"10\".bar"
showAttrPath []
=> "<root attribute path>"
Located at lib/attrsets.nix:915 in <nixpkgs>.
lib.attrsets.getOutput
Type: getOutput :: String -> Derivation -> String
Get a package output.
If no output is found, fallback to .out and then to the default.
-
output -
Function argument
-
pkg -
Function argument
Example
lib.attrsets.getOutput usage example
getOutput "dev" pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
Located at lib/attrsets.nix:932 in <nixpkgs>.
lib.attrsets.getBin
Type: getBin :: Derivation -> String
Get a package's bin output.
If the output does not exist, fallback to .out and then to the default.
Example
lib.attrsets.getBin usage example
getBin pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r"
Located at lib/attrsets.nix:947 in <nixpkgs>.
lib.attrsets.getLib
Type: getLib :: Derivation -> String
Get a package's lib output.
If the output does not exist, fallback to .out and then to the default.
Example
lib.attrsets.getLib usage example
getLib pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-lib"
Located at lib/attrsets.nix:960 in <nixpkgs>.
lib.attrsets.getDev
Type: getDev :: Derivation -> String
Get a package's dev output.
If the output does not exist, fallback to .out and then to the default.
Example
lib.attrsets.getDev usage example
getDev pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
Located at lib/attrsets.nix:973 in <nixpkgs>.
lib.attrsets.getMan
Type: getMan :: Derivation -> String
Get a package's man output.
If the output does not exist, fallback to .out and then to the default.
Example
lib.attrsets.getMan usage example
getMan pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-man"
Located at lib/attrsets.nix:986 in <nixpkgs>.
lib.attrsets.chooseDevOutputs
Type: chooseDevOutputs :: [Derivation] -> [String]
Pick the outputs of packages to place in buildInputs
-
drvs -
List of packages to pick
devoutputs from
Located at lib/attrsets.nix:993 in <nixpkgs>.
lib.attrsets.recurseIntoAttrs
Type: recurseIntoAttrs :: AttrSet -> AttrSet
Make various Nix tools consider the contents of the resulting attribute set when looking for what to build, find, etc.
This function only affects a single attribute set; it does not apply itself recursively for nested attribute sets.
-
attrs -
An attribute set to scan for derivations.
Example
lib.attrsets.recurseIntoAttrs usage example
{ pkgs ? import <nixpkgs> {} }:
{
myTools = pkgs.lib.recurseIntoAttrs {
inherit (pkgs) hello figlet;
};
}
Located at lib/attrsets.nix:1016 in <nixpkgs>.
lib.attrsets.dontRecurseIntoAttrs
Type: dontRecurseIntoAttrs :: AttrSet -> AttrSet
Undo the effect of recurseIntoAttrs.
-
attrs -
An attribute set to not scan for derivations.
Located at lib/attrsets.nix:1026 in <nixpkgs>.
lib.attrsets.unionOfDisjoint
Type: unionOfDisjoint :: AttrSet -> AttrSet -> AttrSet
unionOfDisjoint x y is equal to x // y // z where the
attrnames in z are the intersection of the attrnames in x and
y, and all values assert with an error message. This
operator is commutative, unlike (//).
-
x -
Function argument
-
y -
Function argument
Located at lib/attrsets.nix:1038 in <nixpkgs>.