Commit graph

74 commits

Author SHA1 Message Date
Robert Hensing 8f31bff794 nixos/nixpkgs: Don't check when _module.args.pkgs is set 2023-06-16 22:08:16 +02:00
Robert Hensing a742767baf nixos/nixpkgs: Make default Nixpkgs lazy when overridden 2023-06-16 21:46:26 +02:00
Robert Hensing 6e594fedb3 nixos/nixpkgs: Use types.pkgs 2023-05-10 15:55:09 +02:00
figsoda fd4f865645 nixos/nixpkgs: remove unused binding 2022-11-30 17:27:31 -05:00
Brian Cooper 8b013b65a6
nixos/misc: fix grammar typo 2022-11-16 06:54:04 +00:00
Robert Hensing 5d663a9171 nixos/nixpkgs.nix: Fix assertion when nixpkgs.pkgs is set 2022-10-27 13:41:01 +02:00
Robert Hensing 1e9864c85e nixos/nixpkgs: Only error when nixpkgs options are actually used 2022-10-20 11:19:20 +02:00
Christian Kögler f7077ba131
nixos: Fix cross compilation of derivations defined in NixOS via pkgs 2022-09-11 17:11:37 +02:00
pennae f2ea09ecbe nixos/*: convert options with listings
minor rendering changes.
2022-08-31 17:27:36 +02:00
pennae 6039648c50 nixos/*: automatically convert option docs 2022-08-19 22:40:58 +02:00
pennae 087472b1e5 nixos/*: automatically convert option docs 2022-08-06 20:39:12 +02:00
pennae 16102dce2f nixos/*: replace <code> in option docs with <literal>
markdown can't represent the difference without another extension and
both the html manual and the manpage render them the same, so keeping the
distinction is not very useful on its own. with the distinction removed
we can automatically convert many options that use <code> tags to markdown.

the manpage remains unchanged, html manual does not render
differently (but class names on code tags do change from "code" to "literal").
2022-08-03 21:03:23 +02:00
Robert Hensing acd969a4dd nixos/nixpkgs.nix: Recommend hostPlatform instead of system
The ${opt.*} syntax will print the full path when NixOS is used
as a submodule.

nixpkgs.system / nixpkgs.localSystem must not be read by any
other module because its meaning is ambiguous in cross vs
non-cross contexts. hostPlatform is generally what you need.
*Where* you build something generally doesn't matter in a
system _configuration_ context like NixOS.
2022-07-10 13:36:24 +02:00
Robert Hensing 985b6812d6 nixos/nixpkgs.nix: Ignore the default system in check
We might want to make this more strict at some point.
2022-06-25 10:40:41 +02:00
Robert Hensing c9fea8c03c nixos: Add simplified nixpkgs.{hostSystem,buildSystem} 2022-06-21 14:22:36 +02:00
David Arnold 646e214e11
nixos: remove effect-less nixpgks.initialSystem
- initialSystem was keeping track of the evaluating system
- it had been used by `nesting.children`
- since, 20.09, `nesting.children` has been replaced with named
  specializations

It appears that this option was left over and not cleand up properly.
2022-05-26 20:00:05 -05:00
Robert Hensing 6b9ef93b98 Revert "flake.nix: Set nixpkgs.config.path"
This reverts commit 0b222173db.
2022-01-27 12:53:29 +01:00
Robert Hensing 0b222173db flake.nix: Set nixpkgs.config.path 2022-01-22 16:43:05 +01:00
Robert Hensing be3967e351 nixos/nixpkgs.nix: Make independent
(cherry picked from commit 62e7f0eda1c5acf0beb13a00a23f577912a6b8eb)
2022-01-10 12:26:59 +01:00
pennae fc614c37c6 nixos/documentation: split options doc build
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.
2022-01-02 19:46:13 +01:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Ben Siraphob 1c2a2b0a08 treewide: fold -> foldr 2021-01-26 10:57:07 +07:00
volth bc0d605cf1 treewide: fix double quoted strings in meta.description
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
2021-01-24 19:56:59 +07:00
Robert Hensing 4d43de37b2 nixos/nixpkgs.nix: Correct crossSystem default literal
The default is null and the documentation should reflect that.
2020-08-26 13:35:35 +02:00
Matthew Bauer 9d8d66baf5
nixos/nixpkgs.nix: Allow just using config in system (#80818)
* 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
2020-03-21 23:23:24 -04:00
Andrew Childs ce416779bb nixos/activation: use eval-config's system argument for nesting
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.
2020-03-05 20:28:31 +09:00
Silvan Mosberger ca3820dd00
nixos/misc: Fix nixpkgs.config merge function
Previously nested attrsets would override each other
2019-08-10 20:03:11 +02:00
Eelco Dolstra 7eb332af5d
Remove default value for nixpkgs.system
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.
2019-06-19 14:07:45 +02:00
Andreas Rammhold 45f58cad33
nixos/misc/nixpkgs: fixed syntax error in overlays example
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).
2019-05-04 17:29:04 +02:00
Robert Hensing db70173627 Revert "nixos/modules/misc/nixpkgs.nix: Use pure Nixpkgs function"
As a workaround for #51025 and
https://github.com/NixOS/nix/issues/1232

This reverts commit 5f894a67f5.
2019-01-15 13:11:09 +01:00
Robert Hensing b60dccbf4f NixOS: update config.nixpkgs.pkgs documentation 2018-11-10 23:21:21 +01:00
Robert Hensing b682778366 nixos/../nixpkgs.nix: Add assertions to check pkgs' system 2018-11-04 23:09:43 +01:00
Robert Hensing 51c6f51390 Merge remote-tracking branch 'upstream/master' into nixos-nixpkgs-pkgs-use-overlays 2018-11-04 21:33:16 +01:00
Matthew Bauer 4a8fc5b9aa treewide: remove pkgs_i686
This was getting evaluated eagerly causing assertion failures in
aarch64 systems. We can replace usages of pkgs_i686 with
pkgs.pkgsi686Linux.
2018-11-03 00:56:39 -05:00
Robert Hensing 696a8bd2b5 nixpkgs.overlays: Add note about nixpkgs.pkgs' treatment of other options 2018-10-28 02:11:00 +02:00
Robert Hensing 5f894a67f5 nixos/modules/misc/nixpkgs.nix: Use pure Nixpkgs function 2018-10-28 02:09:43 +02:00
Robert Hensing a54a799d59 NixOS: nixpkgs.pkgs: Append overlays when specified 2018-10-27 14:51:54 +02:00
John Ericson 9f9723b179 nixpkgs module: Fix defaulting of localSystem and system
Take two of #40708 (4fe2898608).

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
2018-09-07 16:43:56 -04:00
Matthew Bauer 05eb57b35d Revert "nixpkgs module: Fix defaulting of localSystem and system"
This reverts commit 4fe2898608.

This gives a recursion in certain nixpkgs configs.
2018-05-31 15:55:36 -04:00
John Ericson 4fe2898608 nixpkgs module: Fix defaulting of localSystem and system
My c6f7d43678 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.
2018-05-17 18:53:13 -04:00
Profpatsch b90104ea0e lib/debug: fix use-sites of deprecated debug functions 2018-04-27 18:59:39 +02:00
John Ericson c6f7d43678 nixpkgs module: Clean up platform options
- `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
2018-04-06 12:41:44 -04:00
Shea Levy 34487947ce
nixos: Add nixpkgs.crossSystem option for cross-compilation 2018-03-01 14:58:15 -05:00
Franz Pletz 7ea15ef9c6
nixpkgs module: update config example
firefox.enableGeckoMediaPlayer does not exist anymore.
2018-02-23 00:21:15 +01:00
Franz Pletz 1fcbc7055c
Merge pull request #33700 from roberth/nixos-externalpkgs
nixos: Add nixpkgs.pkgs option
2018-02-09 18:47:48 +00:00
Tuomas Tynkkynen 10c8e6d0c5 Merge remote-tracking branch 'upstream/master' into staging 2018-02-03 02:50:21 +02:00
Shea Levy 943592f698
Add setFunctionArgs lib function.
Among other things, this will allow *2nix tools to output plain data
while still being composable with the traditional
callPackage/.override interfaces.
2018-01-31 14:02:19 -05:00
Robert Hensing f2a45a47d4 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.
2018-01-30 12:57:03 +01:00
Graham Christensen e2a54266c4
openssh: Build with Kerberos by default
This reverts commit 09696e32c390c232ec7ac506df6457fb93c1f536.
which reverted f596aa0f4a
to move it to staging
2018-01-28 16:36:01 -05:00
Graham Christensen 15a4977409
Revert "openssh: Build with Kerberos by default"
This reverts commit a232dd66ee.

Moving to staging
2018-01-28 16:36:01 -05:00