diff options
author | Erik Arvstedt <erik.arvstedt@gmail.com> | 2020-03-01 17:06:20 +0100 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2020-03-07 14:25:00 +0100 |
commit | efbe1383e64585ebc0303f4703e7e582aaf6b933 (patch) | |
tree | 619bb447d636c4e6b8f4cdbbd815ee4bbc5a2d69 /modules | |
parent | c7b43786ad5740f8ae054cb97d3493c585920031 (diff) |
nixos integration: add option 'useGlobalPkgs'
PR #1059
Diffstat (limited to 'modules')
-rw-r--r-- | modules/misc/news.nix | 15 | ||||
-rw-r--r-- | modules/modules.nix | 18 |
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 |