summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* Merge pull request #172813 from hercules-ci/functionTo-properlyRobert Hensing2022-05-17
|\ | | | | `lib.types.functionTo` type merging and docs
| * lib/tests/modules: Test functionTo submodule merging tooRobert Hensing2022-05-13
| |
| * lib.types.functionTo: Add pseudo-attr to generated docsRobert Hensing2022-05-13
| |
| * lib.types.functionTo: Support type mergingRobert Hensing2022-05-13
| |
* | Merge pull request #170561 from klemensn/types-descriptionSilvan Mosberger2022-05-16
|\ \ | | | | | | lib/types: Drop misleading plural from type descriptions
| * | lib/tests/modules.sh: Fix for singular type descriptionsRobert Hensing2022-05-02
| | |
| * | lib/types: Drop misleading plural from type descriptions #170561Klemens Nanni2022-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Probably being the most prominent document demonstrating the problem, configuration.nix(5) describes various types in plural, e.g. - ` Type: list of strings` - ` Type: list of systemd options` However, there are other cases where appending "s" to the inner type effectively changes the type, e.g. - ``` Type: list of string matching the pattern [a-zA-Z0-9@%:_.\-]+[.](service|socket|device|mount|automount|swap|target|path|timer|scope|slice)s ``` This should've read "list of string[s]..." but instead changes the regular expression. Simply drop the best-effort plural in favour of correctness and simplicity rather than adding more grammar related logic/trying to fix this.
* | | Revert "lib: init flakes.nix"adisbladis2022-05-15
| |/ |/| | | | | | | | | | | This reverts commit PR #167947. Flakes aren't standardised and the `lib` namespace shouldn't be polluted with utilities that serve only experimental uses.
* | Merge pull request #171946 from ncfavier/toShellVars-derivationsRobert Hensing2022-05-12
|\ \ | | | | | | lib/strings/toShellVars: handle derivations as strings
| * | lib/strings/toShellVars: handle derivations as stringsNaïm Favier2022-05-07
| | |
* | | lib.licenses: add DRL-1.0Fabian Affolter2022-05-10
|/ / | | | | | | | | https://spdx.org/licenses/DRL-1.0.html https://github.com/SigmaHQ/sigma/blob/master/LICENSE.Detection.Rules.md
* | Merge pull request #161156 from ↵Rick van Schijndel2022-05-04
|\ \ | | | | | | | | | | | | a-m-joseph/abort-on-failed-platform-detection-instead-of-silently-assuming-pc platforms.nix: use {} on failed detection instead of silently assuming pc
| * | platforms.nix: use {} on failed detection instead of silently assuming pcAdam Joseph2022-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch causes the autodetection code in lib/systems/platforms.nix to return {} if it cannot detect the platform and one of the platform.nix-detection-provided attributes (linux-kernel, gcc, and rustc) are accessed, rather than silently assuming the "pc" platform as was previously done. It is definitely safe to assume that code using these attributes is prepared to deal with `gcc` and `rustc` not being defined, because many of the working entries in this file don't define it. Regarding `linux-kernel` the situation is less certain, but some code (`lib/systems/default.nix` for example) is already designed to deal with that attribute being missing. At worst it would result in an "attribute not found" error. While adding mips64el bootstrap support to nixpkgs, the silent assumption that mips64el routers are actually Intel PCs caused significant frustration. This commit removes that assumption in order to save people who port nixpkgs to new platforms in the future from this frustration.
* | | Merge pull request #170090 from danth/has-infix-toStringRobert Hensing2022-05-02
|\ \ \ | | | | | | | | lib/strings: call toString within hasInfix
| * | | lib/tests: add tests for hasInfixDaniel Thwaites2022-05-02
| | | | | | | | | | | | | | | | Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
| * | | lib/strings: convert to string within hasInfixDaniel Thwaites2022-05-01
| | | | | | | | | | | | | | | | | | | | This should fix the issue mentioned here: https://github.com/NixOS/nixpkgs/pull/168175#issuecomment-1107830574
* | | | Merge pull request #167947 from MatthewCroughan/mc/callLocklessFlakeArtturi2022-05-01
|\ \ \ \ | |/ / / |/| | | lib: add callLocklessFlake
| * | | lib/tests: evaluate value from subflake with callLocklessFlakematthewcroughan2022-04-12
| | | |
| * | | lib/tests: use subflake to test callLocklessFlakematthewcroughan2022-04-12
| | | |
| * | | lib/tests: add test for callLocklessFlakematthewcroughan2022-04-12
| | | |
| * | | lib: init flakes.nixmatthewcroughan2022-04-12
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | lib: add callLocklessFlakematthewcroughan2022-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge pull request #167776 from ↵Robert Hensing2022-04-30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | hercules-ci/lib-modules-allow-disable-_modules.args-docs-internal lib.modules: Allow making _module.args internal
| * | | | lib.modules: Allow making _module.args internalRobert Hensing2022-04-11
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows other module system consumers to disable these docs via option merging. For instance arion uses asciidoc instead of docbook so that would look awful.
* | | | lib.systems: add riscv{32,64} sets and filtersAlyssa Ross2022-04-28
| | | | | | | | | | | | | | | | | | | | | | | | For other platforms like Intel and ARM, we can do e.g. lib.platforms.aarch64 to get only the 64-bit ARM platorms, but until now there were no equivalents for RISC-V.
* | | | lib/tests: add RISC-V testAlyssa Ross2022-04-28
| | | |
* | | | Merge pull request #170583 from ncfavier/mkShellVarsRobert Hensing2022-04-27
|\ \ \ \ | |_|_|/ |/| | | lib/strings: add toShellVars
| * | | lib/strings: fix quoting of exampleNaïm Camille Favier2022-04-27
| | | | | | | | | | | | Co-authored-by: Silvan Mosberger <github@infinisil.com>
| * | | lib/strings: add toShellVarsNaïm Favier2022-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A straightforward piece of plumbing to safely inject Nix variables into shell scripts: '' ${lib.toShellVars { inherit foo bar; }} cmd "$foo" --bar "$bar" ''
* | | | Merge pull request #167247 from Artturin/addgetmainprogArtturi2022-04-26
|\ \ \ \ | |/ / / |/| | | lib/meta: add getExe to get the main program of a drv
| * | | lib/meta: add getExe to get the main program of a drvArtturin2022-04-24
| | | |
* | | | Merge pull request #168778 from ↵Robert Hensing2022-04-26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | hercules-ci/issue-168767-extendModules-module-dedup-collision `lib.types.submoduleWith`: Avoid `_key` collisions after `extendModules` (issue #168767)
| * | | | lib.types.submoduleWith: Avoid _key collisions after extendModulesRobert Hensing2022-04-24
| | |/ / | |/| |
* | | | Merge pull request #168111 from a-m-joseph/lib-systems-inspect-powerpcSandro2022-04-25
|\ \ \ \ | | | | | | | | | | lib/systems/inspect.nix: add isPower64
| * | | | lib/systems/inspect.nix: add isPower64Adam Joseph2022-04-10
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds an `isPower64` predicate to the two existing predicates for this architecture (`isPower` and `isPowerPC`). Note that `isPowerPC` matches only 32-bit machines, whereas `isPower` matches both 64-bit and 32-bit machines. Prior to this commit there was no single `isXXX` predicate for `powerpc64le`.
* | / / lib/strings: optimise hasInfix function (#168175)Daniel Thwaites2022-04-22
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/strings: optimise hasInfix function * lib/strings: optimise hasInfix further using regex * rstudio: call hasInfix with a string * lib/strings: remove let from hasInfix Co-authored-by: pennae <82953136+pennae@users.noreply.github.com> Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
* | | lib/systems/platforms: correctly import examples.nixArtturin2022-04-15
|/ / | | | | | | | | before: :p lib.systems failed with error: getting status of '...examples': no such file or directory
* | Merge pull request #164088 from ↵Silvan Mosberger2022-04-06
|\ \ | |/ |/| | | | | Profpatsch/lib.generators-add-toINIWithGlobalSection lib.generators: add toINIWithGlobalSection
| * lib.generators: fix references to test fileProfpatsch2022-03-14
| |
| * lib.generators: add toINIWithGlobalSectionProfpatsch2022-03-14
| | | | | | | | | | | | | | As discussed in https://github.com/NixOS/nixpkgs/pull/118925#issuecomment-821112723, this is the best way of adding global sections to `toINI` without employing heuristics (i.e. checking whether something is an attrset).
* | Merge pull request #165540 from Infinisil/module-args-docsRobert Hensing2022-04-05
|\ \ | | | | | | lib/modules: Document `_module.args`
| * | lib/modules: Document _module.argsSilvan Mosberger2022-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documents the _module.args option, motivated by many usages in Flakes, especially with the deprecation of extraArgs (https://github.com/NixOS/nixpkgs/commit/78ada833615d241ed76463aa5a024b614150eb4d) The documentation rendering for this option had to be handled a bit specially, since it's not declared in nixos/modules like all the other NixOS options. Co-Authored-By: pennae <github@quasiparticle.net> Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
* | | Merge pull request #166383 from hercules-ci/always-sanitize-derivation-nameRobert Hensing2022-04-05
|\ \ \ | | | | | | | | Always sanitize derivation name
| * | | lib.sanitizeDerivationName: Simplify regexRobert Hensing2022-04-05
| | | | | | | | | | | | | | | | `^` and `$` are implicit in `match`.
| * | | lib.sanitizeDerivationName: Test with unicodeRobert Hensing2022-03-31
| | | |
| * | | lib.sanitizeDerivationName: Optimize the common caseRobert Hensing2022-03-31
| | | |
* | | | lib/customization: Improve callPackage error message for missing argsSilvan Mosberger2022-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses the levenshtein distance to look through all possible arguments to find ones that are close to what was requested: error: Function in /home/infinisil/src/nixpkgs/pkgs/tools/text/ripgrep/default.nix called without required argument "fetchFromGithub", did you mean "fetchFromGitHub" or "fetchFromGitLab"? With https://github.com/NixOS/nix/pull/3468 (in current nixUnstable) the error message becomes even better, adding line location info
* | | | lib/tests: Add tests for levenshtein functionsSilvan Mosberger2022-04-01
| | | |
* | | | lib/strings: Add levenshtein distance functionsSilvan Mosberger2022-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds some functions related to string similarity: - lib.strings.commonPrefixLength - lib.strings.commonSuffixLength - lib.strings.levenshtein - lib.strings.levenshteinAtMost
* | | | Merge master into haskell-updatesgithub-actions[bot]2022-03-29
|\| | |