| Commit message (Collapse) | Author | Age |
|\
| |
| | |
lib/modules: Finally remove deprecated types.optionSet
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
types.optionSet has been deprecated for almost 10 years now
(0e333688cea468a28516bf6935648c03ed62a7bb)! A removal
was already attempted in 2019
(27982b408e465554b8831f492362bc87ed0ec02a), but it was promptly
reinstantiated since some third-party uses were discovered
(f531ce75e4178c6867cc1d0f7fec96b2d5c3f1cb).
It's finally time to remove it for good :)
|
|\ \
| | |
| | | |
nixos/testing: restrict arguments to makeTest
|
| |\ \ |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
lib/trivial: add warnIfNot and throwIf
|
| | |/
| |/|
| | |
| | | |
Negated versions of warnIf and throwIfNot.
|
|\ \ \
| | | |
| | | | |
Stop premature warnings, including `nix.settings` migration
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Let's keep things simple and not poke holes in the
improved migration process.
|
| | | |
| | | |
| | | |
| | | | |
Adds support for sinceRelease
|
|\ \ \ \
| |_|/ /
|/| | | |
Introduce `lib.updateManyAttrsByPath`
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
builtins.groupBy is much more performant. It was introduced in
https://github.com/NixOS/nix/pull/5715
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
mips64el support
|
| | | | |
| | | | |
| | | | |
| | | | | |
https://github.com/NixOS/nixpkgs/pull/161158#discussion_r822295406
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
MIPS has a large space of {architecture,abi,endianness}; this commit
adds all of them to lib/systems/platforms.nix so we can be done with
it.
Currently lib/systems/inspect.nix has a single "isMips" predicate,
which is a bit ambiguous now that we will have both mips32 and mips64
support, with the latter having two ABIs. Let's add four new
predicates (isMips32, isMips64, isMips64n32, and isMips64n64) and
treat the now-ambiguous isMips as deprecated in favor of the
more-specific predicates. These predicates are used mainly for
enabling/disabling target-specific workarounds, and it is extremely
rare that a platform-specific workaround is needed, and both mips32
and mips64 need exactly the same workaround.
The separate predicates (isMips64n32 and isMips64n64) for ABI
distinctions are, unfortunately, useful. Boost's user-scheduled
threading (used by nix) does does not currently supports mips64n32,
which is a very desirable ABI on routers since they rarely have
more than 2**32 bytes of DRAM.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Throw an error for options without a type
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Makes all options rendered in the manual throw an error if they don't
have a type specified.
This is a follow-up to #76184
Co-Authored-By: Silvan Mosberger <contact@infinisil.com>
|
|\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | | |
hercules-ci/issue-146882-transparent-submodule-options
lib.modules: Let module declare options directly in bare submodule
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit 6b077c47ff14cb9a4a8f5cb8986fa83ff626c732.
Thanks Infinisil for discovering this problem:
> After a lot of trial and error, trying to prove why fixupOptionType should
> be used here or not, I figured it out: It's needed for the sake of file
> locations in error messages.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This should save about four calls per module.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This scans the options with fewer function calls, improving performance.
It also removes a let Env from the happy flow of the new logic.
|
| | | | | | |
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
... where a bare submodule is an option that has a type like
`submoduleWith x`, as opposed to `attrsOf (submoduleWith x)`.
This makes migration unnecessary when introducing a freeform type
in an existing option tree.
Closes #146882
|
|\ \ \ \ \
| | | | | |
| | | | | | |
lib/modules.nix: Optimize optionSet legacy compat code
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
It's still in the hot path.
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
lib.types.package: only call toDerivation when necessary
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The current logic assumes that everything that isn't a derivation is a
store path, but it can also be something that's *coercible* to a store
path, like a flake input.
Unnecessary uses of `lib.toDerivation` result in errors in pure evaluation
mode when `builtins.storePath` is disabled.
Also document what a `package` is.
|
| | | | |
|
|/ / / |
|
|/ /
| |
| | |
uclibceabihf and uclibceabi's float hardness was flipped, which causes many headaches
|
|\ \
| | |
| | | |
lib/types: Fix functionTo description
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Introduce `types.optionType` and use it for `freeformType`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This ensures that the module file locations are propagated to the
freeform type, which makes it so that submodules in freeform types now
have their declaration location shown in the manual, fixing
https://github.com/NixOS/nixpkgs/issues/132085.
In addition, this also newly allows freeformTypes to be declared
multiple times and all declarations being merged together according to
normal option merging.
This also removes some awkwardness regarding the type of `freeformType`
|
| |/
| |
| |
| |
| |
| | |
This type correctly merges multiple option types together while also
annotating them with file information. In a future commit this will be
used for `_module.freeformType`
|