about summary refs log tree commit diff
path: root/lib/lists.nix
Commit message (Collapse)AuthorAge
* lib: trivial spelling fixesTom Saeger2017-04-19
|
* lib/lists: rename fold to foldr & improve fold docsProfpatsch2017-03-19
| | | | | | | In order to better distinguish foldr from foldl the default name is changed to foldr, but fold is still a synonym. Additionally the docs are improved and examples added.
* Use builtins.partition if availableEelco Dolstra2016-08-29
|
* lib: introduce listDfs and toposort, add example to hasPrefixJan Malakhovski2016-08-23
|
* flatten: drastically improve performance, see #17626Domen Kožar2016-08-10
|
* Really remove library functionsEelco Dolstra2016-07-11
| | | | | Throwing a message like "removed 2016-02-29 because unused and broken" is unhelpful because it doesn't show what function was removed.
* Remove unecessary branching on old nix versionszimbatm2016-06-17
| | | | | All these builtins are available since 1.10 or earlier (1.10 being the lib/minver.nix)
* lib.lists: fix fold exampleDomen Kožar2016-05-26
|
* lib/lists: document all functionszimbatm2016-03-10
|
* Remove lib.deepSeqList and lib.deepSeqAttrszimbatm2016-03-09
| | | | Both functions are broken and unused in the repo.
* Use builtins.sortEelco Dolstra2015-07-28
|
* Use builtins.genListEelco Dolstra2015-07-28
| | | | This fixes the quadratic complexity of functions like imap.
* Remove zipTwoListsEelco Dolstra2015-07-28
| | | | This function is redundant (we also have zipLists).
* Use builtin all and any functionsEelco Dolstra2015-07-24
|
* Use foldl' instead of fold in some placesEelco Dolstra2015-07-23
|
* Revert "Reverts a bunch of commits as a try to fix GC errors."Jaka Hudoklin2015-03-21
| | | | | | | This reverts commit 1e4ba025c260fa6852765e9f5c59e985f10c6a43. Conflicts: pkgs/development/web/nodejs/build-node-package.nix
* Reverts a bunch of commits as a try to fix GC errors.Domen Kožar2015-03-17
| | | | | | | | | Commits - 694f01db2d2e1cde06ee243a5909d196e84f0a18 - 829479d1dda5dbb579885e16dc655716127457ed - bd81885f706dae5cdeb8c03845fa43d8b74fa57c - b2fdcf801ce08bf0c44e63bafe8ae2c720704da7
* intersect -> intersectLists, subtract -> subtractListsEelco Dolstra2015-03-04
|
* substract -> subtractEelco Dolstra2015-03-04
|
* lib/lists: add intersect and substract functionsJaka Hudoklin2015-02-28
|
* Add `unique` list functionRicardo M. Correia2014-11-12
| | | | It removes duplicate elements from a list.
* lib: Use arithmetic operators rather than builtins.add etc.Eelco Dolstra2014-10-05
|
* init list helperEdward Tjörnhammar2014-09-16
|
* gnome3: use package names for environment.gnome3.excludePackagesLuca Bruno2014-04-14
|
* Add environment.gnome3.excludePackagesLuca Bruno2014-04-09
| | | | | Give the user a full desktop, and the possibility to exclude non-base packages from the default list of packages.
* Simplify crossListsShea Levy2013-12-12
| | | | Signed-off-by: Shea Levy <shea@shealevy.com>
* Add function to call a function with a cross-product of lists of argumentsShea Levy2013-12-12
| | | | Signed-off-by: Shea Levy <shea@shealevy.com>
* 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
|
* 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.
* Big cleanup of the NixOS module systemEelco Dolstra2013-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The major changes are: * The evaluation is now driven by the declared options. In particular, this fixes the long-standing problem with lack of laziness of disabled option definitions. Thus, a configuration like config = mkIf false { environment.systemPackages = throw "bla"; }; will now evaluate without throwing an error. This also improves performance since we're not evaluating unused option definitions. * The implementation of properties is greatly simplified. * There is a new type constructor "submodule" that replaces "optionSet". Unlike "optionSet", "submodule" gets its option declarations as an argument, making it more like "listOf" and other type constructors. A typical use is: foo = mkOption { type = type.attrsOf (type.submodule ( { config, ... }: { bar = mkOption { ... }; xyzzy = mkOption { ... }; })); }; Existing uses of "optionSet" are automatically mapped to "submodule". * Modules are now checked for unsupported attributes: you get an error if a module contains an attribute other than "config", "options" or "imports". * The new implementation is faster and uses much less memory.
* Manual: When building from the channel, link to the exact Git revisionEelco Dolstra2013-10-24
|
* Move pkgs/lib/ to lib/Eelco Dolstra2013-10-10