Silvan Mosberger
0a60663e67
Merge pull request #206611 from h7x4/lib-lists-add-repeat
...
lib.lists: add `replicate`
2023-02-07 06:16:09 +01:00
h7x4
7c4abbf80e
lib.lists: add replicate
...
`replicate` returns n copies of an element as a list.
Co-Authored-By: Silvan Mosberger <contact@infinisil.com>
2023-02-06 20:40:47 +01:00
Silvan Mosberger
50e4dbf35b
Merge pull request #205557 from ncfavier/concatLines
...
lib/strings: add `concatLines`
2023-01-31 18:05:53 +01:00
Silvan Mosberger
d35cae9696
Merge pull request #208674 from YoshiRulz/yoshi-lib-docs
...
lib: Fix mismatched quotes in `lib.*` doc comments
2023-01-05 19:00:38 +01:00
pennae
9da5f12ecf
modules: add mkPackageOptionMD
...
another transitional option factory, like mkAliasOptionModuleMD.
2023-01-05 02:33:13 +01:00
pennae
4c1cfbdb84
modules: add mkAliasOptionModuleMD
...
mkAliasOptionModule should not default to mdDoc descriptions because
that can break out-of-tree users of documentation infrastructure. add an
explicitly-MD variant for now, to be removed some time after the MD
transition is complete.
2023-01-05 02:33:13 +01:00
Robert Hensing
f61d4d346b
Merge pull request #205190 from NixOS/lib.path.relativeNormalise
...
lib.path.subpath.{isValid,normalise}: init
2023-01-03 13:46:11 +01:00
Silvan Mosberger
98fbcf1788
lib.path.subpath.isValid: init
...
The first path library function
2023-01-03 13:20:36 +01:00
YoshiRulz
7fba83890c
lib: Fix mismatched quotes in lib.*
doc comments
...
caused problems for automated rich text generation such as
https://teu5us.github.io/nix-lib.html#customisation-functions
2023-01-02 08:25:17 +10:00
Robert Hensing
cb98e26aaf
lib: Add isStringLike
2022-12-31 01:47:28 +01:00
Robert Hensing
d0d0f7d0aa
lib: Add isPath
...
Available since Nix 2.3, which is the Nixpkgs minimum version.
Thanks zimbatm!
2022-12-31 01:33:47 +01:00
Naïm Favier
ed0b8c26f1
lib/strings: add concatLines
...
Like `unlines` from Haskell.
The aim is to replace the `concatStringsSep "\n"` pattern for generated
files, which doesn't add a final newline.
2022-12-10 15:56:30 +01:00
AndersonTorres
85b6175ccb
lib/default.nix: include mesonOption-related functions
...
To bring them to the scope when calling `lib`.
2022-12-06 23:09:36 -03:00
figsoda
f993f8a186
lib/attrsets: add concatMapAttrs
2022-11-17 10:41:53 -05:00
Jacob Abel
39a4ab78a1
lib/strings: Refactor toInt into toInt and toIntBase10
2022-10-23 17:50:24 -04:00
Robert Hensing
fce8b018f0
lib: Add lazyDerivation
2022-09-21 10:55:07 +01:00
Robert Hensing
89b4bd8b24
lib/options: Add showOptionWithDefLocs
2022-06-21 14:22:33 +02:00
pennae
320aa2a791
treewide: attempt at markdown option docs
2022-06-12 12:44:38 +02:00
Robert Hensing
b37801bc3f
Merge pull request #157480 from MatthewCroughan/in-pure-eval-mode
...
lib: add inPureEvalMode
2022-06-10 16:31:31 +02:00
Robert Scott
da9162f667
add mechanism for handling meta.sourceProvenance attributes
...
heavily based on patterns used by licenses infrastructure, so may
appear overengineered for its initial level of use
2022-05-30 16:27:34 +08:00
adisbladis
161776ec1e
Revert "lib: init flakes.nix"
...
This reverts commit PR #167947 .
Flakes aren't standardised and the `lib` namespace shouldn't be
polluted with utilities that serve only experimental uses.
2022-05-15 22:39:46 +12:00
matthewcroughan
4d9801a78f
lib: add inPureEvalMode
...
This makes a value that is true if builtins does not contain the
currentSystem function, but false if it does.
2022-05-06 15:42:52 +01:00
Artturi
a5357d06e4
Merge pull request #167947 from MatthewCroughan/mc/callLocklessFlake
...
lib: add callLocklessFlake
2022-05-01 23:06:17 +03:00
Robert Hensing
5f8cb21011
Merge pull request #170583 from ncfavier/mkShellVars
...
lib/strings: add toShellVars
2022-04-27 23:33:28 +02:00
Naïm Favier
226bc99659
lib/strings: add toShellVars
...
A straightforward piece of plumbing to safely inject Nix variables into
shell scripts:
''
${lib.toShellVars { inherit foo bar; }}
cmd "$foo" --bar "$bar"
''
2022-04-27 16:04:17 +02:00
Artturin
379b9c8be3
lib/meta: add getExe to get the main program of a drv
2022-04-24 04:19:49 +03:00
matthewcroughan
cad8bbe589
lib: init flakes.nix
...
This commit creates flakes.nix, which is a library containing functions
which relate to interacting with flakes. It also moves related functions
from trivial.nix into it.
2022-04-12 19:28:23 +01:00
matthewcroughan
c190b08bb7
lib: add callLocklessFlake
...
This is essentially a copy of the function of the same name, from
flake-compat. callLocklessFlake is useful when trying to utilise a
flake.nix without a lock file, often for when you want to create a
subflake from within a parent flake.
Co-authored-by: Tom Bereknyei <tomberek@gmail.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-04-12 19:27:24 +01:00
Naïm Favier
9f5796be49
lib/trivial: actually expose warnIfNot and throwIf
2022-03-27 16:48:33 +02:00
Robert Hensing
6c469679f6
Merge remote-tracking branch 'upstream/master' into tests-restrict-arguments
2022-03-21 23:17:17 +01:00
Robert Hensing
84274cbc95
lib: Add toFunction
2022-03-21 23:14:10 +01:00
Robert Hensing
6a0b24b276
lib: applyIfFunction -> applyModuleArgsIfFunction
2022-03-21 23:14:10 +01:00
Kevin Cox
8ce16fcf62
Merge pull request #163451 from hercules-ci/stop-premature-warnings
...
Stop premature warnings, including `nix.settings` migration
2022-03-21 10:10:40 -04:00
Silvan Mosberger
85003ecdbb
lib.attrsets: Introduce updateManyAttrsByPath
2022-03-18 00:08:29 +01:00
Silvan Mosberger
71b130c581
lib.attrsets: Introduce showAttrPath
2022-03-18 00:05:08 +01:00
Robert Hensing
7377ea57ff
lib: Add mkRenamedOptionModuleWith
...
Adds support for sinceRelease
2022-03-09 14:50:51 +01:00
0x4A6F
3362ff0f7b
Merge pull request #157301 from pennae/lib-add-mkPackageOption
...
lib: add mkPackageOption to default.nix
2022-02-28 20:37:59 +01:00
pennae
1c0918d828
lib: add mkPackageOption to default.nix
...
this was forgotten in #155669
2022-01-29 18:28:20 +01:00
Naïm Favier
5a07097772
lib/modules: introduce setDefaultModuleLocation
...
Wraps a module with a default location for reporting errors.
2022-01-27 22:12:53 +01:00
Robert Hensing
ba3e91ed43
lib.types: Add unique like uniq, but custom errors
...
Couldn't extend types.uniq and it had a silly name anyway.
Now we can have better error messages.
2022-01-24 16:14:55 +01:00
José Romildo
4fc67da841
lib.checkListOfEnum: init
2022-01-09 19:21:08 -03:00
Robert Hensing
f2c5c706f4
lib.throwIfNot: init
2021-12-22 13:13:50 +01:00
Shamrock Lee
60950f739e
lib/meta: add getLicenseFromSpdxId function
...
Move function spdxLicense, internally used in yarn2nix
to lib/meta.nix, and
rename to getLicenseFromSpdxId
A similar function is implemented in poetry2nix,
but the one originally in yarn2nix seems beter.
since it falls back to an license-like attrset
for mismatched case
instead of a plain string
2021-12-02 18:33:48 +08:00
Taeer Bar-Yam
0bef0c38f7
lib.modules: add mkDerivedConfig
...
mkDerivedConfig : Option a -> (a -> Definition b) -> Definition b
Create config definitions with the same priority as the definition of another option.
This should be used for option definitions where one option sets the value of another as a convenience.
For instance a config file could be set with a `text` or `source` option, where text translates to a `source`
value using `mkDerivedConfig options.text (pkgs.writeText "filename.conf")`.
It takes care of setting the right priority using `mkOverride`.
2021-11-15 07:03:41 -05:00
Robert Hensing
0699530f08
Merge pull request #136909 from ncfavier/cleanup-defaults-examples
...
nixos/doc: clean up defaults and examples
2021-10-04 20:37:42 +02:00
Naïm Favier
52a2e4136e
lib/options: add literalExpression and literalDocBook, deprecate literalExample
2021-10-03 17:19:19 +02:00
Robert Helgesson
e75f346aa3
lib: add function escapeXML
...
Given a string, this function returns a string that can be inserted
verbatim in an XML document.
2021-10-03 11:28:03 +02:00
Harrison Houghton
9d71711aec
lib: export strings/escapeRegex
...
I see no reason why I should be disallowed from using it.
2021-08-22 00:01:38 -04:00
lassulus
229ff549e6
lib: inherit mkImageMediaOverride
2021-08-18 14:21:16 +02:00
Robert Hensing
cad20d8983
lib.mkFixStrictness: Deprecate
2021-07-12 07:31:29 +02:00