summaryrefslogtreecommitdiff
path: root/lib (follow)
Commit message (Expand)AuthorAgeFilesLines
* nixpkgs/systems: Add ucrt64 as MinGW libc•••The Minimalist Gnu for Windows distribution comes with support for the traditional msvcrt libc, as well as ucrt64 libc. The latter being the newer universal compiler runtime. We follow the msys2 environment naming convention[1]: | name | toolchain | arch | libc | libc++ | |------------|-----------|---------|--------|-----------| | mingw32 | gcc | i686 | msvcrt | libstdc++ | | mingw64 | gcc | x86_64 | msvcrt | libstdc++ | | ucrt64 | gcc | x86_64 | ucrt | libstdc++ | | clang32 | llvm | i686 | ucrt | libc++ | | clang64 | llvm | x86_64 | ucrt | libc++ | | clangarm64 | llvm | aarch64 | ucrt | libc++ | For now nixpkgs only supports the first three with this commit. -- [1]: https://www.msys2.org/docs/environments/ Moritz Angermann2023-09-081-0/+5
* lib/systems: disable pipewireSupport in qemu-user•••Option added in 5b0ed68c106c1cbe3b573f3d1ca8c73eb203e346 it causes infinite recursion in cross builds There's a another inf rec that needs 6946977de0de845e69a805f179b96a87d17640fa which is in staging Artturin2023-09-081-0/+1
* Merge pull request #245623 from tweag/fileset.toSource•••File set combinators base: `lib.fileset.toSource`Silvan Mosberger2023-09-029-1/+1067
|\
| * lib.fileset.toSource: initSilvan Mosberger2023-09-019-1/+1067
* | Merge pull request #234615 from linsui/dconf•••nixos/dconf: support generating from attrsJan Tojnar2023-08-284-0/+392
|\ \
| * | nixos/dconf: add settings supportlinsui2023-08-151-0/+8
| * | lib/gvariant: initlinsui2023-08-153-0/+384
* | | makeScopeWithSplicing: fix `makeScopeWithSplicing'` call•••makeScopeWithSplicing: fix comment Artturin2023-08-211-4/+4
* | | Merge pull request #245957 from amjoseph-nixpkgs/pr/lib/customization/makeSco...Artturi2023-08-202-9/+22
|\ \ \
| * | | lib.customisation: add uncurried form of makeScopeWithSplicing•••Deeply-curried functions are pretty error-prone in untyped languages like Nix. This is a particularly bad case because `top-level/splice.nix` *also* declares a makeScopeWithSplicing, but it takes *two fewer arguments*. Let's add a version that uses attrset-passing form, to provide some minimal level of sanity-checking. This also provides defaults for keep and extra (these are often unneeded by the user). Adam Joseph2023-08-142-9/+22
* | | | lib/modules: Report a better error when option tree has bare type•••Improves on 0d472a62012364d064f0b75f1da491242c6ae9c6 - https://github.com/NixOS/nixpkgs/pull/242339 We actually do have the file name. Thanks Shawn8901 for the [feedback]! feedback: https://github.com/NixOS/nixpkgs/pull/242339#issuecomment-1683107055 Robert Hensing2023-08-182-6/+6
* | | | Merge pull request #238509 from amjoseph-nixpkgs/pr/knuth/respect•••lib/systems/parse.nix: show respect where deservedJohn Ericson2023-08-161-0/+2
|\ \ \ \
| * | | | lib/systems/parse.nix: show respect where deserved•••The eminent Donald E. Knuth should be recognized as having equal standing with such entities as IBM, Apple, and the Personal Computer. We should acknowledge this by including him as a "vendor". Also, `gnu-config` recognizes `mmix-knuth-*` triples (and in fact requires `vendor="knuth"` when `cpu="mmix"`) -- so we sort of have to. But we should do it anyways. Adam Joseph2023-06-181-0/+2
* | | | | Merge pull request #248895 from Scrumplex/getExe2Silvan Mosberger2023-08-162-6/+21
|\ \ \ \ \
| * | | | | lib/meta.nix: recommend use of getExe' in getExe warning•••Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net> Sefa Eyeoglu2023-08-151-1/+1
| * | | | | lib/meta.nix: introduce getExe'•••getExe' can be used to get a binary other than the mainProgram from a derivation. Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net> Sefa Eyeoglu2023-08-132-6/+21
* | | | | | lib.removePrefix: OptimiseSilvan Mosberger2023-08-141-2/+2
* | | | | | lib.removePrefix: Add testsSilvan Mosberger2023-08-141-0/+21
| |_|_|/ / |/| | | |
* | | | | Merge pull request #243511 from tweag/lib.lists.hasPrefix•••`lib.lists.{hasPrefix,removePrefix}`: initSilvan Mosberger2023-08-142-0/+72
|\ \ \ \ \
| * | | | | lib.lists.removePrefix: initSilvan Mosberger2023-07-142-0/+36
| * | | | | lib.lists.hasPrefix: initSilvan Mosberger2023-07-142-0/+36
* | | | | | Merge pull request #242339 from hercules-ci/modules-catch-bare-type•••lib/modules: Report a good error when option tree has bare typeSilvan Mosberger2023-08-145-1/+54
|\ \ \ \ \ \
| * | | | | | lib/modules: Report a good error when option tree has bare type•••Note that this removes the possibility of declaring an option named `_type`. Robert Hensing2023-08-145-1/+54
| | |_|_|/ / | |/| | | |
* / | | | | lib.customisation.makeScope: Make `overrideScope` consistent with `makeScopeW...•••Right now converting `makeScope` to `makeScopeWithSplicing` is not transparent to users and requires adding a warning for `overrideScope'` in the set itself. Warning and `overrideScope'` were added in 2018 b9dce11712d2bfc8cd367df5a7f737a5cec1e252 and there should be no users left after 5 years. Artturin2023-08-141-4/+5
|/ / / / /
* | | | | Merge pull request #247825 from tweag/lib.path-md•••Minor `lib.path` documentation consistency improvementsSilvan Mosberger2023-08-121-157/+163
|\ \ \ \ \
| * | | | | lib.path: Add argument docs when missingSilvan Mosberger2023-08-081-1/+4
| * | | | | lib.path: Indent comments the sameSilvan Mosberger2023-08-081-146/+150
| * | | | | lib.path: Make documentation more uniform•••- Always have a trailing dot after sentences - Link more things - Fix some formatting - Use `append` instead of `+ ("/"` Silvan Mosberger2023-08-081-27/+26
* | | | | | lib/path/tests: Fix test setup on darwin•••These statements are taken from the `lib/test/release.nix` tests, which previously also worked on darwin. Unblocks https://github.com/NixOS/nix/pull/8569 when backported Robert Hensing2023-08-111-1/+8
| |_|_|_|/ |/| | | |
* | | | | Merge pull request #248278 from infinisil/revert-strings-error•••Change `types.string` error to a warning insteadSilvan Mosberger2023-08-101-1/+6
|\ \ \ \ \
| * | | | | lib.types.string: Use lib.warn instead of deprecationMessage•••This will cause a poorer error message without option location information, but it will catch all uses of its use. Silvan Mosberger2023-08-101-4/+6
| * | | | | Revert "lib.types.string: Deprecation error instead of warning"•••This reverts commit c59c6b1c57da542b6b4af5d2ac27d1b99e7f0c5e. This was a bit too ambitious, because no warnings were previously triggered when `string` was nested e.g. `attrsOf string`, `nullOr string`, etc. Support for nested type deprecation warnings was introduced in 4b54aedee5e05aaf2838f6d951508b83e33d2baa, but had to be reverted in a36e6760e9be0ec260b637a06d751d39e2a78e4e because it caused infinite recursion for some users, and I couldn't remember that it was reverted. Silvan Mosberger2023-08-101-1/+4
* | | | | | Merge pull request #235625 from ShamrockLee/lib-doc-tidySilvan Mosberger2023-08-101-2/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | lib: fix nix-doc variable "Type" in comment•••Fix documentation of lib.trivial.importJSON and lib.trivial.importTOML Yueh-Shun Li2023-06-031-2/+2
* | | | | | lib.types.string: Deprecation error instead of warning•••The type has given a warning on use since [4 years ago](03392cd336b128a1639c648baf0f6c1a1271e0d2), I think it's safe to move the deprecation to the next stage: An error instead of a warning. Silvan Mosberger2023-08-081-4/+1
| |/ / / / |/| | | |
* | | | | treewide: update mainProgram docsArtturin2023-08-041-3/+2
| |_|/ / |/| | |
* | | | Merge pull request #242695 from tweag/lib.path.subpath.components•••`lib.path.subpath.components`: initRobert Hensing2023-08-043-0/+65
|\ \ \ \
| * | | | lib/path/README.md: Justify returning subpaths•••Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io> Silvan Mosberger2023-07-261-0/+21
| * | | | lib.path.subpath.components: init•••Co-authored-by: Robert Hensing <roberth@users.noreply.github.com> Silvan Mosberger2023-07-262-0/+44
* | | | | Merge pull request #243139 from hercules-ci/modules-test-default-argument•••lib/tests/modules: Test that _module.args works when a default argume…Robert Hensing2023-08-022-0/+31
|\ \ \ \ \
| * | | | | lib/tests/modules: Test that _module.args works when a default argument is setRobert Hensing2023-07-122-0/+31
| | |_|/ / | |/| | |
* | | | | lib.getExe: Do not make assumptions about the main program•••Before this commit, getExe assumes that if `meta.mainProgram` is unset, it has a main program that's named after the package name. While this is probable, it leads to a bad error when the assumption does not hold. If the user called `getExe` themselves, they might narrow down the location of the assumption quite easily, but if that's not the case, they'll have to go down the rabbit hole to figure out what went wrong. For example, a NixOS module may use `lib.getExe` on a package-typed option which is then used in the system configuration. This then typically leads to a failure *after* deployment, which is bad, and it's quite likely that the user will debug the package output contents before digging through the NixOS module, which is bad. Furthermore the `getExe` call is rather inconspicuous as it does not contain something like "/bin/foo", which is bad. Also modules can be hard to read for a newbie, which is bad. All of this can be avoided by requiring `meta.mainProgram`. Many packages already have the attribute, and I would expect 80% of `getExe` usages to be covered by 20% of packages, because plenty of packages aren't used with `getExe` anyway. Finally we could make an effort to set `mainProgram` semi-automatically using `nix-index`. Robert Hensing2023-07-311-1/+5
* | | | | Revert "lib.customisation: uncurry makeScopeWithSplicing"Silvan Mosberger2023-07-281-14/+8
* | | | | lib.makeScopeWithSplicing: provide default for keep,extra•••These are often unneeded by the user. Artturin2023-07-281-1/+9
* | | | | lib.customisation: uncurry makeScopeWithSplicing•••Deeply-curried functions are pretty error-prone in untyped languages like Nix. This is a particularly bad case because `top-level/splice.nix` *also* declares a makeScopeWithSplicing, but it takes *two fewer arguments*. Let's switch to attrset-passing form, to provide some minimal level of sanity-checking. Adam Joseph2023-07-271-8/+6
* | | | | Merge pull request #244358 from tweag/lib.path.parts•••`lib.path.splitRoot`: initRobert Hensing2023-07-272-1/+67
|\ \ \ \ \
| * | | | | lib.path.subpath.isValid: Add definition of a subpath•••Co-authored-by: Robert Hensing <roberth@users.noreply.github.com> Silvan Mosberger2023-07-261-0/+3
| * | | | | lib.path.splitRoot: init•••Co-authored-by: Robert Hensing <roberth@users.noreply.github.com> Silvan Mosberger2023-07-262-1/+64
* | | | | | Merge pull request #245271 from sternenseemann/module-system-merge-no-type•••lib/modules: handle typeless options in mergeModulesRobert Hensing2023-07-273-1/+29
|\ \ \ \ \ \
| * | | | | | lib/modules: handle typeless options in mergeModules•••mkOption does not require a `type` argument and does not set the resulting attribute if it is not given. Consequently, we need to be prepared to merge options that have no type information. sternenseemann2023-07-263-1/+29