summary refs log tree commit diff
path: root/lib/attrsets.nix
Commit message (Collapse)AuthorAge
* lib/attrsets: document all the functionszimbatm2016-03-09
|
* Remove lib.deepSeqList and lib.deepSeqAttrszimbatm2016-03-09
| | | | Both functions are broken and unused in the repo.
* Revert "Merge #12357: nixos docs: show references to packages"Vladimír Čunát2016-02-03
| | | | | | The PR wasn't good enough yet. This reverts commit b2a37ceeea8c38ec71447f8dae1e6890a8cf982d, reversing changes made to 7fa9a1abce623aaf18b22f5dca3fc8a44a494e8d.
* nixos manuals: allow displaying package referencesVladimír Čunát2016-01-13
| | | | | | | | | | | | | | The manuals are now evaluated with each derivation in `pkgs` (recursively) replaced by a fake with path "\${pkgs.path.to.the.attribute}". It isn't perfect, but it seems to cover a vast majority of use cases. Caveat: even if the package is reached by a different means, the path above will be shown and not e.g. `${config.services.foo.package}`. As before, defaults created by `mkDefault` aren't displayed, but documentation shouldn't (mostly) be a reason to use that anymore. Note: t wouldn't be enough to just use `lib.mapAttrsRecursive`, because derivations are also (special) attribute sets.
* add helper to lib/attrsets: hasAttrByPathChristian Zagrodnick2015-12-07
|
* Add stdenv bootstrap tools generation to release.nixEelco Dolstra2015-10-23
|
* Add lib.filterAttrsRecursive functionJaka Hudoklin2015-09-19
|
* Allow options with type "package" to be store pathsEelco Dolstra2015-08-07
| | | | | | | | For example, this allows writing nix.package = /nix/store/786mlvhd17xvcp2r4jmmay6jj4wj6b7f-nix-1.10pre4206_896428c; Also, document types.package in the manual.
* Rename misc.nix -> deprecated.nixEelco Dolstra2015-07-23
|
* More efficient version of filterAttrsEelco Dolstra2015-07-23
|
* lib: Fix matchAttrs by importing builtins.lengthBenjamin Staffin2014-12-30
| | | | | | | | | | | | | | | | Before: nix-repl> :l <nixpkgs> nix-repl> lib.matchAttrs { foo = "bar"; } { bar = "bas"; } error: undefined variable ‘length’ at "/home/benley/nix/nixpkgs/lib/attrsets.nix":317:10 After: nix-repl> :l <nixpkgs> nix-repl> lib.matchAttrs { foo = "bar"; } { bar = "bas"; } false Change-Id: I548d69d50cffe1c63a6f39f76fd09d1835d8d9a2
* Replace hasAttr/getAttr calls with the ? and . operatorsEelco Dolstra2014-10-05
| | | | | For NixOS evaluation, this gives a ~21% reduction in the number of values allocated and a ~4% speedup. It's also more readable.
* Use new primopsEelco Dolstra2014-10-05
|
* Remove backward-compatible implementations of some primopsEelco Dolstra2013-11-12
| | | | Nixpkgs requires at least Nix 1.2 anyway, so these are now useless.
* Add some primops to libEelco Dolstra2013-11-12
|
* Inline some functions on the critical pathEelco Dolstra2013-10-28
|
* Keep position information for option declarations and definitionsEelco Dolstra2013-10-28
| | | | | | | Also, when an option definition fails to type-check, print the file name of the module in which the offending definition occurs, e.g. error: user-thrown exception: The option value `boot.loader.grub.version' in `/etc/nixos/configuration.nix' is not a integer.
* Move pkgs/lib/ to lib/Eelco Dolstra2013-10-10