diff options
author | Robert Helgesson <robert@rycee.net> | 2020-07-31 00:33:12 +0200 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2020-08-19 00:33:25 +0200 |
commit | 9854342b9f088712ca3c5b67059fff5ec4f59182 (patch) | |
tree | 74d86bf1b86037de6ef3471324788a0acd02e4c1 /modules | |
parent | a3dd580adc46628dd0c970037b6c87cff1251af5 (diff) |
nixpkgs: take Nixpkgs path from argument
This removes the dependency on the `nixpkgs` channel within the
modules for state version ≥ 20.09. The default Nixpkgs source starting
from this state version is the path of the `pkgs` argument used to
bootstrap the Home Manager modeuls.
This is a prerequisite for using Home Manager withing Nix flakes.
PR #1420
Diffstat (limited to 'modules')
-rw-r--r-- | modules/misc/nixpkgs.nix | 4 | ||||
-rw-r--r-- | modules/modules.nix | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/modules/misc/nixpkgs.nix b/modules/misc/nixpkgs.nix index 7b0904a5f20..511dbec10b2 100644 --- a/modules/misc/nixpkgs.nix +++ b/modules/misc/nixpkgs.nix @@ -1,6 +1,6 @@ # Adapted from Nixpkgs. -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, pkgsPath, ... }: with lib; @@ -49,7 +49,7 @@ let merge = lib.mergeOneOption; }; - _pkgs = import <nixpkgs> ( + _pkgs = import pkgsPath ( filterAttrs (n: v: v != null) config.nixpkgs ); diff --git a/modules/modules.nix b/modules/modules.nix index 1744b4fd096..fa9c7f38cb7 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -197,9 +197,14 @@ let modules = map (getAttr "file") (filter (getAttr "condition") allModules); - pkgsModule = { + pkgsModule = { config, ... }: { config = { _module.args.baseModules = modules; + _module.args.pkgsPath = lib.mkDefault ( + if versionAtLeast config.home.stateVersion "20.09" then + pkgs.path + else + <nixpkgs>); _module.args.pkgs = lib.mkDefault pkgs; _module.check = check; lib = lib.hm; |