Robert Hensing
42d3b54f0d
lib.types.attrTag: Take options instead of types
2024-04-04 11:54:45 +02:00
Robert Hensing
5b49672af4
lib.types.attrTag: Support module docs
2024-04-04 11:54:41 +02:00
Philip Taron
4b2e46dd39
lib.fileset: fix typo: compatibity to compatibility
2024-04-02 14:46:59 -07:00
Florian Richer
3b883d3cdf
lib/strings: Add makeIncludePath ( #296237 )
...
* Update strings.nix
* Fix typo in docs
* Update lib/strings.nix
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
* Update lib/strings.nix
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
* Add unit test with strings
* Move test to strings
* Add unit test with package structure
* testMakeIncludePathWithPkgs: use real pkgs
* Revert "testMakeIncludePathWithPkgs: use real pkgs"
This reverts commit fb1850c069
.
* Update lib/tests/misc.nix
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
* Update lib/tests/misc.nix
Co-authored-by: Silvan Mosberger <github@infinisil.com>
---------
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-04-02 19:01:05 +02:00
Sandro
c2328cf5d0
Merge pull request #297266 from ByteSudoer/init-vidmerger
...
vidmerger: init at 0.3.2
2024-03-25 20:58:14 +01:00
Silvan Mosberger
b803ba5a48
Merge pull request #295374 from philiptaron/issue-208242/lib.systems
...
lib: use explicit name imports in `lib/systems`
2024-03-25 18:41:46 +01:00
Daniel Sidhion
85a4ee7da6
Merge pull request #297993 from hsjobeki/doc/customisation
...
doc: migrate lib.customisation to use doc-comments
2024-03-24 15:04:13 -07:00
Daniel Sidhion
2a3616e0e0
Merge pull request #297990 from hsjobeki/doc/cli
...
doc: migrate lib.cli to use doc-comments
2024-03-23 21:57:21 -07:00
Artturi
2590d7a1b3
Merge pull request #295196 from tpwrules/qemu-less-libs
...
lib/systems: remove more features from qemu-user
2024-03-23 21:45:44 +02:00
Johannes Kirschbauer
3dfd61965e
doc: migrate lib.customisation to use doc-comments
2024-03-22 10:02:09 +01:00
Johannes Kirschbauer
6bcb2b90ed
doc: migrate lib.cli to use doc-comments
2024-03-22 09:54:17 +01:00
Jussi Kuokkanen
82b45bf454
treewide: remove licenses.agpl3
2024-03-21 18:09:24 +02:00
Soussi Mohamed Nour
89ea04dc70
Update licenses.nix
2024-03-21 14:54:21 +01:00
ByteSudoer
eedaca8ef1
update license: added the common clause license
2024-03-21 14:49:16 +01:00
ByteSudoer
ebdf6a1d1e
lib.licenses: added The commons clause license
2024-03-21 02:41:09 +01:00
jopejoe1
58e1eb3b78
lib/license: add hpndUc
2024-03-20 20:49:33 +01:00
jopejoe1
3f16499c48
lib/license: add giftware
2024-03-20 20:48:45 +01:00
jopejoe1
2bd2347470
lib/license: add NIST-Software
2024-03-20 20:48:44 +01:00
Johannes Kirschbauer
956fff0825
doc: migrate lib.trivial to use doc-comments ( #297270 )
...
* doc: migrate lib.trivial to use doc-comments
* Apply suggestions from code review
---------
Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
2024-03-19 19:04:14 -07:00
Daniel Sidhion
a737a78167
Merge pull request #296186 from hsjobeki/doc/attrsets
...
doc: migrate lib.attrsets to use doc-comments
2024-03-19 19:03:57 -07:00
Daniel Sidhion
d784fc138d
Apply suggestions from code review
2024-03-19 18:03:31 -07:00
Philip Taron
79ce46fe49
Avoid top-level with ...;
in lib/systems/parse.nix
2024-03-19 16:16:44 -07:00
Philip Taron
c02fcc946a
Avoid top-level with ...;
in lib/systems/inspect.nix
2024-03-19 16:16:44 -07:00
Philip Taron
07d3270dbc
lib/systems: inherit from lib.systems.inspect.predicates in lib/systems/parse.nix
2024-03-19 16:09:37 -07:00
Philip Taron
af634f14ba
lib/systems: inherit from lib.systems.parse in lib/systems/inspect.nix
2024-03-19 16:09:37 -07:00
Philip Taron
123a2f0fcc
lib/systems: use lib.systems.parse and lib.systems.inspect.predicates instead of re-importing
2024-03-19 16:09:37 -07:00
Philip Taron
5988f8f841
lib.systems: use explicit attrset instead of rec
...
This allows refactoring in the file without accidentally modifying the
public interface of the file.
Also, pull in symbols consistently from `lib` instead of `builtins`.
2024-03-19 16:09:37 -07:00
Johannes Kirschbauer
56b5634a90
doc: manual fixup after migration
2024-03-19 22:01:38 +01:00
Silvan Mosberger
c9772eaba0
Merge pull request #293901 from philiptaron/refactor-lib/generators.nix
...
lib: use explicit name imports in `lib/generators.nix`
2024-03-18 19:41:47 +01:00
Silvan Mosberger
3b988c076b
Merge pull request #295158 from philiptaron/remove-top-level-with-in-lib-part5
...
Avoid top-level `with` in `lib/tests/misc.nix`
2024-03-18 19:38:19 +01:00
Johannes Kirschbauer
c8885b86b2
lib.foldl': document eta expansion
2024-03-16 22:58:14 +01:00
Philip Taron
a7b4ee2dbe
lib: use names from lib
in lib/generators.nix
, rather than builtins
or submodules of lib
...
There's not a lot of rhyme to which names are exported from which module,
as I see it, but everything is found somewhere.
2024-03-16 11:19:38 -07:00
Johannes Kirschbauer
9beef9f1ba
lib.foldl': avoid unnecessary function call
2024-03-15 23:42:48 +01:00
Johannes Kirschbauer
f917ed536b
doc: migrate lib.attrsets to use doc-comments
2024-03-15 17:18:35 +01:00
Philip Taron
8422fe83b9
lib/generators: use the explicit public interface pattern
...
This enables further refactoring without accidentally changing the public interface.
2024-03-14 13:15:45 -07:00
Philip Taron
3a01525ae7
lib/generators: explicitly import names from lib.trivial
...
Everything else was already imported.
2024-03-14 13:15:44 -07:00
Philip Taron
b83b8a3548
lib/generators: explicitly import names from lib.attrsets
...
Everything used was already imported.
2024-03-14 13:15:44 -07:00
Philip Taron
9513152413
lib/generators: explicitly import names from lib.string
...
A couple of these were imports from `builtins`.
2024-03-14 13:15:44 -07:00
Philip Taron
a89d2ed83d
lib/generators: explicitly import names from lib
...
I followed the `inherit` chains in `lib/default.nix` to arrive at these imports.
2024-03-14 13:15:44 -07:00
Philip Taron
8041b9b2b3
lib/generators: builtins.isFloat is in Nix 2.3
...
There's a couple of aliases in play:
1. `lib.isList` is an alias for `builtins.isList`.
2. `lib.strings.concatStringsSep` is an alias for `builtins.concatStringsSep`
2024-03-14 13:15:44 -07:00
Silvan Mosberger
30f30db08d
Merge pull request #294906 from philiptaron/remove-top-level-with-in-lib-part2
...
lib: use explicit name imports in `lib/deprecated.nix`
2024-03-14 20:54:07 +01:00
Silvan Mosberger
a32800fdf3
Merge pull request #295007 from philiptaron/remove-top-level-with-in-lib-part3
...
lib: avoid top-level `with ...;` in lib/kernel.nix
2024-03-14 20:32:33 +01:00
Johannes Kirschbauer
fe9e7d313a
doc: lib.lists migrate to doc-comments ( #294257 )
...
* 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>
2024-03-13 05:53:42 -07:00
Thomas Watson
91ad438400
lib/systems: remove more features from qemu-user
...
alsaSupport/jackSupport: unnecessary multimedia systems
tpmSupport/capstoneSupport: unlikely to come up as an exe emulator
2024-03-11 20:16:04 -05:00
Philip Taron
c8a8550c28
Avoid top-level with
in lib/tests/misc.nix
2024-03-11 16:30:31 -07:00
Philip Taron
1f120c454a
Avoid top-level with ...;
in lib/kernel.nix
2024-03-11 11:24:17 -07:00
Philip Taron
20abffc0dd
Avoid top-level with ...;
in lib/tests/modules/extendModules-168767-imports.nix
2024-03-11 08:38:37 -07:00
Philip Taron
0426125c53
Avoid top-level with ...;
in lib/tests/modules/alias-with-priority.nix
2024-03-11 08:38:14 -07:00
Philip Taron
dd46445adc
Avoid top-level with ...;
in lib/tests/modules/alias-with-priority-can-override.nix
2024-03-11 08:37:31 -07:00
Philip Taron
6e2205c3eb
lib: use explicit name imports in lib/deprecated.nix
2024-03-10 20:54:56 -07:00
Valentin Gagarin
41298a0dff
doc: actually document lib.customisation.makeScope
( #294194 )
...
* doc: actually document `lib.customisation.makeScope`
2024-03-09 19:29:13 +01:00
Johannes Kirschbauer
00f00e0663
doc: lib.asserts migrate to doc-comments ( #292310 )
2024-03-07 14:04:50 +01:00
Jörg Thalheim
39ac57b7c5
Merge branch 'master' into license-updates
2024-03-06 20:26:06 +01:00
Silvan Mosberger
727958ee36
Merge pull request #292945 from adisbladis/lib-toint
...
lib.toInt/toIntBase10: Make more efficient by hoisting up internal strings into higher scope
2024-03-06 19:42:52 +01:00
Silvan Mosberger
012faf046f
Merge pull request #292941 from adisbladis/lib-getattrfrompath-env
...
lib.getAttrFromPath: Don't use errorMessage variable
2024-03-06 19:41:34 +01:00
Silvan Mosberger
2dc95cded0
Merge pull request #292938 from adisbladis/mapattrsrecursivecond-env
...
lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable environment
2024-03-06 19:40:52 +01:00
Silvan Mosberger
b180a6af30
Merge pull request #292937 from adisbladis/zipattrs-env
...
lib.zipAttrs: Remove needless function wrapping
2024-03-06 19:39:48 +01:00
Silvan Mosberger
0d49917ded
Merge pull request #292934 from adisbladis/lib-choosedevoutput
...
lib.chooseDevOutputs: Remove needless function wrapping
2024-03-06 19:39:30 +01:00
Silvan Mosberger
fc3cc21d2a
Merge pull request #292209 from hercules-ci/lazyDerivation-multi-output
...
lib.lazyDerivation: Support multi-output derivations
2024-03-06 17:14:33 +01:00
Valentin Gagarin
73c0b48dd6
doc: add details on mapAttrsRecursive[Cond]
( #293509 )
...
* 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>
2024-03-06 10:21:23 +01:00
Artturi
961ddd92a1
Merge pull request #177977 from thefloweringash/call-packages-with-function-args
...
lib/customization: propagate function arguments in callPackagesWith
2024-03-03 21:07:56 +02:00
Robert Hensing
39327e4cf2
Merge pull request #288812 from hercules-ci/lib-flake-version
...
`lib/` flake: fix `lib.version`
2024-03-03 18:19:00 +01:00
adisbladis
b3cc51a20f
lib.toInt/toIntBase10: Make more efficient by hoisting up internal strings into higher scope
2024-03-03 16:52:31 +13:00
adisbladis
948e5b841d
lib.getAttrFromPath: Don't use errorMessage variable
...
We can just pass the error message on without creating an environment.
2024-03-03 16:30:00 +13:00
adisbladis
34fefe4e16
lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable environment
2024-03-03 16:18:38 +13:00
adisbladis
4338bfde09
lib.zipAttrs: Remove needless function wrapping
...
Returning the partially applied `zipAttrsWith fn` is the same as `sets: zipAttrsWith fn sets`.
2024-03-03 16:17:49 +13:00
adisbladis
3ee9d185f3
lib.chooseDevOutputs: Remove needless function wrapping
...
Returning the partially applied `map getDev` is the same as `drvs: map getDev drvs`.
2024-03-03 16:03:01 +13:00
Silvan Mosberger
28256b81a1
Merge pull request #292340 from DanielSidhion/fix-fixed-points-doc
...
lib.fixedPoints: fix rendering of docs for `extends`
2024-02-29 16:07:03 +01:00
DS
baae71c821
lib.fixedPoints: fix rendering of docs for extends
2024-02-29 06:22:00 -08:00
Robert Hensing
612dcbe11e
lib.lazyDerivation: Support multi-output derivations
2024-02-29 12:37:52 +01:00
Silvan Mosberger
d0f7816d14
Merge pull request #287369 from tweag/lib-remove-polyfills
...
`lib`: Remove unneeded polyfills
2024-02-28 22:56:19 +01:00
Andrew Childs
741377b300
lib/customization: propagate function arguments in callPackagesWith
...
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; }
2024-02-28 15:29:08 +02:00
Robert Hensing
01973b05aa
Merge pull request #291933 from tweag/fileset-tests-posix
...
lib.fileset: Fix tests on Darwin, more POSIX
2024-02-28 01:57:33 +01:00
Silvan Mosberger
3429594114
lib.fileset: Fix tests on Darwin, more POSIX
...
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.
2024-02-27 23:26:40 +01:00
Ryan Mulligan
78d6e84385
Merge pull request #291909 from cdmistman/lib-meta-available-on-doc-example
...
lib.meta.availableOn: add example in documentation
2024-02-27 12:44:37 -08:00
Colton Donnelly
e1e3ca54eb
lib.meta.platformMatch: expand documentation
2024-02-27 14:51:33 -05:00
Colton Donnelly
3698be4ee6
lib.meta.availableOn: add example in documentation
2024-02-27 14:44:38 -05:00
Robert Hensing
bb036f2486
lib/tests/release: Test lib.version in isolation
2024-02-26 22:35:14 +01:00
Robert Hensing
f45844cb55
.version: Make lib/.version source of truth
...
This way we don't have to make sure they're in sync, and we remove
a small step from the release process.
2024-02-26 22:34:10 +01:00
Robert Hensing
17117cf565
lib flake: Fix version
...
Manually tested with
nix-repl> :lf path:lib
nix-repl> lib.version
2024-02-26 22:32:58 +01:00
Silvan Mosberger
4d11de3e80
Merge pull request #288677 from tweag/fileset.toList
...
lib.fileset.toList: init
2024-02-26 21:28:26 +01:00
Silvan Mosberger
c1cebaeb16
Merge pull request #291583 from SuperSandro2000/mergeAttrsList
...
lib: export attrsets.mergeAttrsList
2024-02-26 21:00:25 +01:00
Silvan Mosberger
e3a6e38033
lib.fileset.toList: init
2024-02-26 20:21:50 +01:00
Sandro
e426a8f097
lib: export attrsets.mergeAttrsList
2024-02-26 15:49:25 +01:00
Robert Hensing
475ee3a18e
lib/tests/test-with-nix.nix: init
...
See https://github.com/NixOS/nix/pull/9900
2024-02-23 11:07:08 +01:00
Valentin Gagarin
b4cdc15163
Merge pull request #286544 from hercules-ci/doRename-doc
...
lib.modules.doRename: Add doc comments
2024-02-22 16:05:10 +01:00
Benoit de Chezelles
eba79c6df4
lib.evalModules: Fix deprecation doc for args parameter
2024-02-18 21:33:31 +01:00
Robert Hensing
fe36252019
lib.modules.doRename: Add doc comments
...
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
2024-02-14 17:30:51 +01:00
Robert Hensing
ca81a89839
lib.types.attrTag: init
2024-02-11 18:44:52 +01:00
h7x4
8d165ba903
licenses: add mplus
2024-02-10 16:05:30 +01:00
Silvan Mosberger
f37ba19765
Merge pull request #284512 from hercules-ci/lib-types-unique-merge
...
lib.types.unique: Check inner type deeply
2024-02-10 02:52:45 +01:00
Ryan Lahfa
dbd22195df
Merge pull request #287124 from RaitoBezarius/is-sparc-64
...
lib/systems/inspect: add `isSparc64`
2024-02-09 15:07:01 +01:00
Silvan Mosberger
886e85f4f4
lib.versions: Remove unneeded polyfill
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:05 +01:00
Silvan Mosberger
f2c837700d
lib.strings: Remove unneeded polyfill
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:05 +01:00
Silvan Mosberger
46fd25dda9
lib.lists: Remove unneeded polyfills
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:05 +01:00
Silvan Mosberger
31d23ba418
lib.attrsets: Remove unneeded polyfills
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:03 +01:00
Silvan Mosberger
27488b861c
lib.trivial: Remove unneeded polyfills
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:45:31 +01:00
Silvan Mosberger
63373eba60
Merge pull request #286117 from alois31/lib-deprecations
...
lib: make deprecation warnings consistent
2024-02-09 05:03:43 +01:00
Raito Bezarius
b62bc38ac9
lib/systems/inspect: add isSparc64
...
This is useful to distinguish between SPARC64 and SPARC whatever,
because SPARC64 do support compressed kernels.
2024-02-08 05:07:39 +01:00
Robert Hensing
5d7125e01e
Merge pull request #285612 from hercules-ci/doRename-condition
...
lib.modules.doRename: Add condition parameter
2024-02-05 19:24:36 +01:00