| Commit message (Collapse) | Author | Age |
|
|
|
| |
This reverts commit 0b222173dba00680074ef9e98a5bad224f62967e.
|
| |
|
|
|
|
| |
(cherry picked from commit 62e7f0eda1c5acf0beb13a00a23f577912a6b8eb)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
most modules can be evaluated for their documentation in a very
restricted environment that doesn't include all of nixpkgs. this
evaluation can then be cached and reused for subsequent builds, merging
only documentation that has changed into the cached set. since nixos
ships with a large number of modules of which only a few are used in any
given config this can save evaluation a huge percentage of nixos
options available in any given config.
in tests of this caching, despite having to copy most of nixos/, saves
about 80% of the time needed to build the system manual, or about two
second on the machine used for testing. build time for a full system
config shrank from 9.4s to 7.4s, while turning documentation off
entirely shortened the build to 7.1s.
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
|
|
|
| |
The default is null and the documentation should reflect that.
|
|
|
|
|
|
|
|
|
|
| |
* nixos/nixpkgs.nix: Allow just using config in system
This assertion requires system to work properly. We might not have
this in cases where the user just sets config and wants Nixpkgs to
infer system from that. This adds a default for when this happens,
using doubleFromSystem.
* parens
|
|
|
|
|
|
|
|
|
| |
This avoids a possible surprise if the user is using `nixpkgs.system`
and `nesting.children`. `nesting.children` is expected to ignore all
parent configuration so we shouldn't propagate the user-facing option
`nixpkgs.system`. To avoid doing so, we introduce a new internal
option for holding the value passed to eval-config.nix, and use that
when recursing for nesting.
|
|
|
|
| |
Previously nested attrsets would override each other
|
|
|
|
|
|
|
| |
Using "builtins.currentSystem" doesn't work in pure evaluation mode,
and even when it's explicitly set (which it always is, in
nixos/lib/eval-config.nix), it breaks manual generation because the
manual tries to render the default value.
|
|
|
|
|
|
|
|
|
| |
I was pointed towards a small syntax error in the `nixpkgs.overlays`
documentation. There was a trailing semicolon after the overlay
function.
I also aligned the code a bit better so opening and closing brackets can
be visually matched much better (IMO).
|
|
|
|
|
|
|
| |
As a workaround for #51025 and
https://github.com/NixOS/nix/issues/1232
This reverts commit 5f894a67f565129ac683434c3040ba85c2df3750.
|
| |
|
| |
|
|\
| |
| |
| | |
nixos-nixpkgs-pkgs-use-overlays
|
| |
| |
| |
| |
| |
| | |
This was getting evaluated eagerly causing assertion failures in
aarch64 systems. We can replace usages of pkgs_i686 with
pkgs.pkgsi686Linux.
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Take two of #40708 (4fe289860888668956b7e79e24efeb101c2f51d1).
That PR attempted to bidirectionally default `config.nixpkgs.system` and
`config.nixpkgs.localSystem.system` to each be updated by the other. But
this is not possible with the way the module system works. Divergence in
certain cases in inevitable.
This PR is more conservative and just has `system` default `localSystem`
and `localSystem` make the final call as-is. This solves a number of
issues.
- `localSystem` completely overrides `system`, just like with nixpkgs
proper. There is no need to specify `localSystem.system` to clobber the
old system.
- `config.nixpkgs.localSystem` is exactly what is passed to nixpkgs. No
spooky steps.
- `config.nixpkgs.localSystem` is elaborated just as nixpkgs would so
that all attributes are available, not just the ones the user
specified.
The remaining issue is just that `config.nixpkgs.system` doesn't update
based on `config.nixpkgs.localSystem.system`. It should never be
referred to lest it is a bogus stale value because
`config.nixpkgs.localSystem` overwrites it.
Fixes #46320
|
|
|
|
|
|
| |
This reverts commit 4fe289860888668956b7e79e24efeb101c2f51d1.
This gives a recursion in certain nixpkgs configs.
|
|
|
|
|
|
|
|
|
| |
My c6f7d4367894047592cc412740f0c1f5b2ca2b59 made the mistake of not
having enough defaults. Now both variables are default as the *explicit*
value of the other, or a fallback. The fallback of `system` is the
default of `localSystem.system`. The fallback of `localSystem` is not
the other default (projected), as that would cause a cycle, but `{
system = builtins.currentTime; }` just as nixpkgs itself does it.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- `localSystem` is added, it strictly supercedes system
- `crossSystem`'s description mentions `localSystem` (and vice versa).
- No more weird special casing I don't even understand
TEMP
|
| |
|
|
|
|
| |
firefox.enableGeckoMediaPlayer does not exist anymore.
|
|\
| |
| | |
nixos: Add nixpkgs.pkgs option
|
| |
| |
| |
| |
| | |
This lets the user set pkgs directly, so that it can be injected
externally and be reused among evaluations of NixOS.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Among other things, this will allow *2nix tools to output plain data
while still being composable with the traditional
callPackage/.override interfaces.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit a232dd66ee0b390dc4d82858af7e15713bd60327.
Moving to staging
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This can be disabled with the `withKerberos` flag if desired.
Make the relevant assertions lazy,
so that if an overlay is used to set kerberos to null,
a later override can explicitly set `withKerberos` to false.
Don't build with GSSAPI by default;
the patchset is large and a bit hairy,
and it is reasonable to follow upstream who has not merged it
in not enabling it by default.
|
| |
| |
| |
| |
| |
| | |
This reverts commit 09696e32c390c232ec7ac506df6457fb93c1f536.
which reverted f596aa0f4a35f613422f85a4486e32ea20ca7739
to move it to staging
|
| |
| |
| |
| |
| |
| | |
This reverts commit a232dd66ee0b390dc4d82858af7e15713bd60327.
Moving to staging
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This can be disabled with the `withKerberos` flag if desired.
Make the relevant assertions lazy,
so that if an overlay is used to set kerberos to null,
a later override can explicitly set `withKerberos` to false.
Don't build with GSSAPI by default;
the patchset is large and a bit hairy,
and it is reasonable to follow upstream who has not merged it
in not enabling it by default.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is primarily to ensure that
-I nixpkgs=https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz
and
-I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz
and
-I nixpkgs=https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz
behave consistently.
It also allows installing packages via "nix-env -iA nixos.<pkg>"
rather than "nixos.pkgs.<pkg>". It would be even better to allow
"nixpkgs.<pkg>", but that requires a change to nix-channel.
Fixes #7659.
|
| |
|
|
|
|
| |
the manual.
|
| |
|
| |
|
| |
|