Revert "nixpkgs module: Fix defaulting of localSystem and system"

This reverts commit 4fe289860888668956b7e79e24efeb101c2f51d1.

This gives a recursion in certain nixpkgs configs.
This commit is contained in:
Matthew Bauer 2018-05-31 15:55:06 -04:00
parent 0fbc3451ef
commit 05eb57b35d

View File

@ -1,10 +1,9 @@
{ config, options, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
let let
cfg = config.nixpkgs; cfg = config.nixpkgs;
opts = options.nixpgs;
isConfig = x: isConfig = x:
builtins.isAttrs x || lib.isFunction x; builtins.isAttrs x || lib.isFunction x;
@ -63,11 +62,12 @@ in
pkgs = mkOption { pkgs = mkOption {
defaultText = literalExample defaultText = literalExample
''import "''${nixos}/.." { ''import "''${nixos}/.." {
inherit (cfg) config overlays localSystem crossSystem; inherit (config.nixpkgs) config overlays localSystem crossSystem;
} }
''; '';
default = import ../../.. { default = import ../../.. {
inherit (cfg) config overlays localSystem crossSystem; localSystem = { inherit (cfg) system; } // cfg.localSystem;
inherit (cfg) config overlays crossSystem;
}; };
type = pkgsType; type = pkgsType;
example = literalExample ''import <nixpkgs> {}''; example = literalExample ''import <nixpkgs> {}'';
@ -140,7 +140,7 @@ in
localSystem = mkOption { localSystem = mkOption {
type = types.attrs; # TODO utilize lib.systems.parsedPlatform type = types.attrs; # TODO utilize lib.systems.parsedPlatform
default = { system = cfg.system or builtins.currentSystem; }; default = { system = builtins.currentSystem; };
example = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; }; example = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; };
defaultText = literalExample defaultText = literalExample
''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform''; ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform'';
@ -179,8 +179,6 @@ in
system = mkOption { system = mkOption {
type = types.str; type = types.str;
default = cfg.localSystem.system
or opts.localSystem.default.system;
example = "i686-linux"; example = "i686-linux";
description = '' description = ''
Specifies the Nix platform type on which NixOS should be built. Specifies the Nix platform type on which NixOS should be built.
@ -198,7 +196,6 @@ in
</programlisting> </programlisting>
See <code>nixpkgs.localSystem</code> for more information. See <code>nixpkgs.localSystem</code> for more information.
Ignored when <code>nixpkgs.localSystem</code> is set.
Ignored when <code>nixpkgs.pkgs</code> is set. Ignored when <code>nixpkgs.pkgs</code> is set.
''; '';
}; };