about summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* Merge pull request #294906 from philiptaron/remove-top-level-with-in-lib-part2Silvan Mosberger2024-03-14
|\ | | | | lib: use explicit name imports in `lib/deprecated.nix`
| * lib: use explicit name imports in lib/deprecated.nixPhilip Taron2024-03-10
| |
* | Merge pull request #295007 from philiptaron/remove-top-level-with-in-lib-part3Silvan Mosberger2024-03-14
|\ \ | | | | | | lib: avoid top-level `with ...;` in lib/kernel.nix
| * | Avoid top-level `with ...;` in lib/kernel.nixPhilip Taron2024-03-11
| |/
* | doc: lib.lists migrate to doc-comments (#294257)Johannes Kirschbauer2024-03-13
| | | | | | | | | | | | | | | | | | | | | | * doc: lib.lists migrate to doc-comments * Fix extra indentation of docs lines, remove redundant comments, add inputs docs * fix: indentation & argument references --------- Co-authored-by: DS <commits@sidhion.com>
* | Avoid top-level `with ...;` in ↵Philip Taron2024-03-11
| | | | | | | | lib/tests/modules/extendModules-168767-imports.nix
* | Avoid top-level `with ...;` in lib/tests/modules/alias-with-priority.nixPhilip Taron2024-03-11
| |
* | Avoid top-level `with ...;` in ↵Philip Taron2024-03-11
|/ | | | lib/tests/modules/alias-with-priority-can-override.nix
* doc: actually document `lib.customisation.makeScope` (#294194)Valentin Gagarin2024-03-09
| | | * doc: actually document `lib.customisation.makeScope`
* doc: lib.asserts migrate to doc-comments (#292310)Johannes Kirschbauer2024-03-07
|
* Merge branch 'master' into license-updatesJörg Thalheim2024-03-06
|\
| * Merge pull request #292945 from adisbladis/lib-tointSilvan Mosberger2024-03-06
| |\ | | | | | | lib.toInt/toIntBase10: Make more efficient by hoisting up internal strings into higher scope
| | * lib.toInt/toIntBase10: Make more efficient by hoisting up internal strings ↵adisbladis2024-03-03
| | | | | | | | | | | | into higher scope
| * | Merge pull request #292941 from adisbladis/lib-getattrfrompath-envSilvan Mosberger2024-03-06
| |\ \ | | | | | | | | lib.getAttrFromPath: Don't use errorMessage variable
| | * | lib.getAttrFromPath: Don't use errorMessage variableadisbladis2024-03-03
| | |/ | | | | | | | | | We can just pass the error message on without creating an environment.
| * | Merge pull request #292938 from adisbladis/mapattrsrecursivecond-envSilvan Mosberger2024-03-06
| |\ \ | | | | | | | | lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable environment
| | * | lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable ↵adisbladis2024-03-03
| | |/ | | | | | | | | | environment
| * | Merge pull request #292937 from adisbladis/zipattrs-envSilvan Mosberger2024-03-06
| |\ \ | | | | | | | | lib.zipAttrs: Remove needless function wrapping
| | * | lib.zipAttrs: Remove needless function wrappingadisbladis2024-03-03
| | |/ | | | | | | | | | Returning the partially applied `zipAttrsWith fn` is the same as `sets: zipAttrsWith fn sets`.
| * | Merge pull request #292934 from adisbladis/lib-choosedevoutputSilvan Mosberger2024-03-06
| |\ \ | | | | | | | | lib.chooseDevOutputs: Remove needless function wrapping
| | * | lib.chooseDevOutputs: Remove needless function wrappingadisbladis2024-03-03
| | |/ | | | | | | | | | Returning the partially applied `map getDev` is the same as `drvs: map getDev drvs`.
| * | Merge pull request #292209 from hercules-ci/lazyDerivation-multi-outputSilvan Mosberger2024-03-06
| |\ \ | | | | | | | | lib.lazyDerivation: Support multi-output derivations
| | * | lib.lazyDerivation: Support multi-output derivationsRobert Hensing2024-02-29
| | | |
| * | | doc: add details on `mapAttrsRecursive[Cond]` (#293509)Valentin Gagarin2024-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc: add details on `mapAttrsRecursive[Cond]` from first reading it wasn't clear that `f` also takes the current attribute path. also the value f receives is tricky due to how the condition is evaluated. Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
| * | | Merge pull request #177977 from thefloweringash/call-packages-with-function-argsArtturi2024-03-03
| |\ \ \ | | | | | | | | | | lib/customization: propagate function arguments in callPackagesWith
| | * | | lib/customization: propagate function arguments in callPackagesWithAndrew Childs2024-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | makeOverridable is very careful to ensure the arguments to the overridden function are the same as the input function. As a result, the arguments of hello.override are exactly the same as the original arguments of the hello function that produced the derivation. However, callPackagesWith calls makeOverridable with a lambda that does not propagate the arguments. The override function for a package instantiated with callPackagesWith will not have the original arguments. For example: nix-repl> lib.functionArgs hello.override { callPackage = false; fetchurl = false; hello = false; lib = false; nixos = false; stdenv = false; testers = false; } nix-repl> lib.functionArgs openssl.override { } By copying the arguments onto the inner lambda before passing it to makeOverridable, we can make callPackage and callPackages behave the same. nix-repl> lib.functionArgs openssl.override { buildPackages = false; coreutils = false; cryptodev = false; enableSSL2 = true; enableSSL3 = true; fetchurl = false; lib = false; perl = false; removeReferencesTo = false; static = true; stdenv = false; withCryptodev = true; withPerl = true; }
| * | | | Merge pull request #288812 from hercules-ci/lib-flake-versionRobert Hensing2024-03-03
| |\ \ \ \ | | |_|_|/ | |/| | | `lib/` flake: fix `lib.version`
| | * | | lib/tests/release: Test lib.version in isolationRobert Hensing2024-02-26
| | | | |
| | * | | .version: Make lib/.version source of truthRobert Hensing2024-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | This way we don't have to make sure they're in sync, and we remove a small step from the release process.
| | * | | lib flake: Fix versionRobert Hensing2024-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually tested with nix-repl> :lf path:lib nix-repl> lib.version
| * | | | Merge pull request #292340 from DanielSidhion/fix-fixed-points-docSilvan Mosberger2024-02-29
| |\ \ \ \ | | |_|_|/ | |/| | | lib.fixedPoints: fix rendering of docs for `extends`
| | * | | lib.fixedPoints: fix rendering of docs for `extends`DS2024-02-29
| | | |/ | | |/|
| * | | Merge pull request #287369 from tweag/lib-remove-polyfillsSilvan Mosberger2024-02-28
| |\ \ \ | | |/ / | |/| | `lib`: Remove unneeded polyfills
| | * | lib.versions: Remove unneeded polyfillSilvan Mosberger2024-02-09
| | | | | | | | | | | | | | | | Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
| | * | lib.strings: Remove unneeded polyfillSilvan Mosberger2024-02-09
| | | | | | | | | | | | | | | | Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
| | * | lib.lists: Remove unneeded polyfillsSilvan Mosberger2024-02-09
| | | | | | | | | | | | | | | | Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
| | * | lib.attrsets: Remove unneeded polyfillsSilvan Mosberger2024-02-09
| | | | | | | | | | | | | | | | Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
| | * | lib.trivial: Remove unneeded polyfillsSilvan Mosberger2024-02-09
| | | | | | | | | | | | | | | | Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
| * | | Merge pull request #291933 from tweag/fileset-tests-posixRobert Hensing2024-02-28
| |\ \ \ | | | | | | | | | | lib.fileset: Fix tests on Darwin, more POSIX
| | * | | lib.fileset: Fix tests on Darwin, more POSIXSilvan Mosberger2024-02-27
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was found when trying to run the fileset tests on Darwin (https://github.com/NixOS/nix/pull/9546#issuecomment-1967409445), which mysteriously fail on Darwin: test case at lib/fileset/tests.sh:342 failed: toSource { root = "/nix/store/foobar"; fileset = ./.; } should have errored with this regex pattern: lib.fileset.toSource: `root` \(/nix/store/foobar\) is a string-like value, but it should be a path instead. \s*Paths in strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead. but this was the actual error: error: lib.fileset.toSource: `root` (/nix/store/foobar) is a string-like value, but it should be a path instead. Paths in strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead. After dissecting this, I find out that apparently \s works on Linux, but not on Darwin for some reason! From the bash source code, it looks like <regex.h> with `REG_EXTENDED` is used for all platforms the same, so there's nothing odd there. It's almost impossible to know where <regex.h> comes from, but it looks to be a POSIX thing. So after digging through the almost impossible to find POSIX specifications (https://pubs.opengroup.org/onlinepubs/007908799/xbd/re.html#tag_007_003_005), I can indeed confirm that there's no mention of \s or the like! _However_, there is a mention of `[[:blank:]]`, so we'll use that instead.
| * | | Merge pull request #291909 from cdmistman/lib-meta-available-on-doc-exampleRyan Mulligan2024-02-27
| |\ \ \ | | | | | | | | | | lib.meta.availableOn: add example in documentation
| | * | | lib.meta.availableOn: add example in documentationColton Donnelly2024-02-27
| | |/ /
| * / / lib.meta.platformMatch: expand documentationColton Donnelly2024-02-27
| |/ /
| * | Merge pull request #288677 from tweag/fileset.toListSilvan Mosberger2024-02-26
| |\ \ | | | | | | | | lib.fileset.toList: init
| | * | lib.fileset.toList: initSilvan Mosberger2024-02-26
| | | |
| * | | Merge pull request #291583 from SuperSandro2000/mergeAttrsListSilvan Mosberger2024-02-26
| |\ \ \ | | | | | | | | | | lib: export attrsets.mergeAttrsList
| | * | | lib: export attrsets.mergeAttrsListSandro2024-02-26
| | | | |
| * | | | lib/tests/test-with-nix.nix: initRobert Hensing2024-02-23
| |/ / / | | | | | | | | | | | | See https://github.com/NixOS/nix/pull/9900
| * | | Merge pull request #286544 from hercules-ci/doRename-docValentin Gagarin2024-02-22
| |\ \ \ | | | | | | | | | | lib.modules.doRename: Add doc comments
| | * | | lib.modules.doRename: Add doc commentsRobert Hensing2024-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't think these are rendered yet, but this at least provides the content. Follow-up to https://github.com/NixOS/nixpkgs/pull/285612