about summary refs log tree commit diff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2023-05-11Merge pull request #230523 from hercules-ci/fast-nixos-test-evalRobert Hensing1-0/+8
Fast nixos test eval
2023-05-10lib.types.pkgs: initRobert Hensing1-0/+8
A nominal type.
2023-05-09lib.systems: remove (accidental?) rust/rustc aliasAlyssa Ross1-1/+1
I imagine this was supposed to be rustc = args.rustc, like the other two lines. This meant that we accepted both rust and rustc attributes, with the same effect. I doubt anybody was using the undocumented, probably-accidental "rust" spelling, but we should remove it before somebody starts. In fact, we don't need to set rustc here at all, because no value platforms.select could return will ever include a rustc key (unlike the other two), so then rustc will be filled in later, when args is merged into final.
2023-05-09Merge pull request #228013 from amjoseph-nixpkgs/pr/qemuArch/mipsAdam Joseph1-0/+1
lib/systems: add mips64[el] entries to qemuArch
2023-05-08Merge pull request #230353 from ncfavier/defaultText-onlyNaïm Favier1-3/+3
lib/options: fix rendering of options with only a defaultText
2023-05-07Merge master into staging-nextgithub-actions[bot]10-49/+261
2023-05-06lib.modules: configurationClass -> classRobert Hensing2-2/+2
This simplifies the documentation. `configuration` is implied by `_type`.
2023-05-06lib.modules: in evalModules return move _module.class -> configurationClassRobert Hensing2-11/+2
2023-05-06lib.modules: Change class declaration in module to _classRobert Hensing4-10/+10
2023-05-06lib/tests/modules.sh: Add submodule + class testsRobert Hensing2-1/+49
2023-05-06lib/modules: Move class out of specialArgsRobert Hensing3-12/+30
2023-05-06lib/modules.nix: Deduplicate documentationRobert Hensing1-29/+2
`file://./..` looks redundant, but makes the url clickable in vscode.
2023-05-06lib/modules: Only interpret class declaration in non-shorthand modeRobert Hensing4-1/+19
This is to avoid stealing keys from submodules. `class` might be common enough that reinterpreting existing `class` attributes in configurations as a declaration leads to fairly widespread problems.
2023-05-06lib/modules.nix: Refactor: extract applyModuleArgsRobert Hensing1-5/+6
2023-05-06lib/modules.nix: Refactor: evaluate applyModuleArgsIfFunction in attrs caseRobert Hensing1-1/+1
2023-05-06lib/modules.nix: Restore old collectModules interfaceRobert Hensing1-1/+1
2023-05-06lib/modules: Explain that a configuration can't be loaded as a moduleRobert Hensing2-2/+7
2023-05-06lib/modules: Improve error when a configuration is importedRobert Hensing3-0/+14
This is appears to be a fairly common mistake for beginners who want to build larger things from the system configurations, such as NixOps networks, etc. Further explanation seems appropriate.
2023-05-06lib/modules: Check against importing things with a _typeRobert Hensing4-1/+20
2023-05-06lib/modules: Add class concept to check importsRobert Hensing5-4/+69
This improves the error message when an incompatible module is imported.
2023-05-06lib/modules.nix: Make some functions privateRobert Hensing1-11/+22
The supposedly public nature of these functions has been holding back module system maintenance, while usages of these functions are expected to be rare. If used anywhere, presumably they're emulating module system behavior because some use case isn't supported properly. We should try to support such a use case directly, if it even exists.
2023-05-06lib/modules.nix: Use explicit exportsRobert Hensing1-4/+52
2023-05-06lib/tests/modules.sh: Unload implicit modulesRobert Hensing1-0/+1
I had some trouble understanding this. Let's try to keep new tests a bit more stateless and explicit.
2023-05-06lib/options: fix rendering of options with only a defaultTextNaïm Favier1-3/+3
Some options have their default value set in the `config` instead of `default`, for example to push `mkDefault`s down an attribute set. In those cases, it's useful to provide a `defaultText` for informational purposes.
2023-05-06Merge master into staging-nextgithub-actions[bot]3-0/+72
2023-05-05Merge pull request #223407 from AngryAnt/toplist-pathtoonn3-0/+72
lib.toPlist: Add support for path values
2023-05-04Merge master into staging-nextgithub-actions[bot]1-4/+4
2023-05-04lib/systems: move loongarch64-linux out of mips blockWeijia Wang1-4/+4
2023-05-01Merge staging-next into staginggithub-actions[bot]2-3/+61
2023-05-01Merge pull request #227714 from ony/feature/generateLuarocksConfig-toLuaMatthieu Coudron2-3/+61
lua.lib: use toLua in generateLuarocksConfig
2023-05-01Merge staging-next into staginggithub-actions[bot]1-3/+4
2023-05-01lib.kernel.unset: initAlyssa Ross1-3/+4
Previously, there was no way to unset an option when overriding a kernel, apart from writing out the attrset yourself. Now it's possible with lib.mkForce lib.kernel.unset. It's important to be able to do this, because setting an option in the override may cause other options to become unused, which would fail the config build unless they were overridden too.
2023-04-29lib.generators.toLua: asBindings optionMykola Orliuk2-3/+61
Allows to generate code block for setting of global variables
2023-04-28Merge staging-next into staginggithub-actions[bot]6-2/+11
2023-04-28Merge pull request #227560 from jackyliu16/loongnix-commitWeijia Wang6-2/+11
lib.platforms.loongarch64: init
2023-04-28lib.systems: allow specifying libc = nullAlyssa Ross1-0/+1
It makes sense to allow platform definitions to opt out of having libc at all. One use case would be targetting some obscure new Linux target that doesn't have a libc implementation yet, and another is UEFI, which is basically libc-less Windows. Not having libc is not commonly specified in (GNU) triples (even Linux's build system will just target either -gnu or -musl depending on the platform), so instead, we use a separate attribute for it.
2023-04-27lib.platforms.loongarch64: initjackyliu166-2/+11
2023-04-24lib/systems: add mips64[el] entries to qemuArchAdam Joseph1-0/+1
This commit adds `mips64el` to the `qemuArch` table.
2023-04-24Merge pull request #191995 from amjoseph-nixpkgs/lib/systems/inspect/commentAdam Joseph1-0/+8
lib/systems/inspect.nix: explanatory comment
2023-04-23Merge pull request #225496 from ony/feature/generators-toLuaMatthieu Coudron2-0/+143
lib/generators: add toLua/mkLuaInline
2023-04-23lib.generators.toLua: allow disabling multilineMykola Orliuk2-10/+23
2023-04-23lib.generators.toLua: tune comment for noogle useMykola Orliuk1-22/+36
See https://github.com/nix-community/noogle
2023-04-23lib/generators: add toLua/mkLuaInlineMykola Orliuk2-0/+116
Suitable to simplify Lua-based configurations like neovim-lspconfig that might need to interpolate Nix package paths.
2023-04-22lib/systems: disable docs in qemu-userArtturin1-0/+1
45M -> 31M
2023-04-19lib: add missing removeAttrs builtinzimbatm1-1/+1
I'm expecting all the builtins.* functions to be available in lib.*
2023-04-04Merge pull request #221204 from tweag/deprecate-paths-to-stringsSilvan Mosberger1-11/+75
lib.strings: Prevent paths as inputs in some functions
2023-04-04Merge pull request #222516 from ncfavier/options-better-errorNaïm Favier2-5/+9
lib/modules: better error for invalid option declarations
2023-04-01Merge pull request #219826 from noctarius/masterMario Rodas1-0/+7
Fixed TimescaleDB License Information
2023-03-27lib.toPlist: keep test output in external files for their tab indentsEmil "AngryAnt" Johansen2-46/+47
2023-03-27lib.toPlist: basic test coverageEmil "AngryAnt" Johansen1-0/+69