From 9854342b9f088712ca3c5b67059fff5ec4f59182 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Fri, 31 Jul 2020 00:33:12 +0200 Subject: nixpkgs: take Nixpkgs path from argument MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- modules/misc/nixpkgs.nix | 4 ++-- modules/modules.nix | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'modules') 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 ( + _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 + ); _module.args.pkgs = lib.mkDefault pkgs; _module.check = check; lib = lib.hm; -- cgit v1.2.3