aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorErik Arvstedt <erik.arvstedt@gmail.com>2020-03-01 17:06:20 +0100
committerRobert Helgesson <robert@rycee.net>2020-03-07 14:25:00 +0100
commitefbe1383e64585ebc0303f4703e7e582aaf6b933 (patch)
tree619bb447d636c4e6b8f4cdbbd815ee4bbc5a2d69 /modules
parentc7b43786ad5740f8ae054cb97d3493c585920031 (diff)
nixos integration: add option 'useGlobalPkgs'
PR #1059
Diffstat (limited to 'modules')
-rw-r--r--modules/misc/news.nix15
-rw-r--r--modules/modules.nix18
2 files changed, 27 insertions, 6 deletions
diff --git a/modules/misc/news.nix b/modules/misc/news.nix
index 0f0c2ac1674..cc2892e87b7 100644
--- a/modules/misc/news.nix
+++ b/modules/misc/news.nix
@@ -1351,6 +1351,21 @@ in
'--description', '--on-event', and more.
'';
}
+
+ {
+ time = "2020-03-07T13:11:43+00:00";
+ condition = hostPlatform.isLinux;
+ message = ''
+ The NixOS module has a new option: 'home-manager.useGlobalPkgs'.
+
+ This enables using the system configuration's 'pkgs'
+ argument in Home Manager.
+
+ To learn more, see the installation section of the manual
+
+ https://rycee.gitlab.io/home-manager/#sec-install-nixos-module
+ '';
+ }
];
};
}
diff --git a/modules/modules.nix b/modules/modules.nix
index 9d741016fbe..263c1176cc6 100644
--- a/modules/modules.nix
+++ b/modules/modules.nix
@@ -5,6 +5,9 @@
# Whether to enable module type checking.
, check ? true
+
+# If disabled, the pkgs attribute passed to this function is used instead.
+, useNixpkgsModule ? true
}:
with lib;
@@ -27,7 +30,7 @@ let
(loadModule ./misc/gtk.nix { })
(loadModule ./misc/lib.nix { })
(loadModule ./misc/news.nix { })
- (loadModule ./misc/nixpkgs.nix { })
+ (loadModule ./misc/nixpkgs.nix { condition = useNixpkgsModule; })
(loadModule ./misc/numlock.nix { condition = hostPlatform.isLinux; })
(loadModule ./misc/pam.nix { })
(loadModule ./misc/qt.nix { })
@@ -170,11 +173,14 @@ let
modules = map (getAttr "file") (filter (getAttr "condition") allModules);
pkgsModule = {
- config._module.args.baseModules = modules;
- config._module.args.pkgs = lib.mkDefault pkgs;
- config._module.check = check;
- config.lib = lib.hm;
- config.nixpkgs.system = mkDefault pkgs.system;
+ config = {
+ _module.args.baseModules = modules;
+ _module.args.pkgs = lib.mkDefault pkgs;
+ _module.check = check;
+ lib = lib.hm;
+ } // optionalAttrs useNixpkgsModule {
+ nixpkgs.system = mkDefault pkgs.system;
+ };
};
in