From b1086df5324f85107f2300385f1f9b091980aade Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Fri, 3 Dec 2021 09:32:29 -0800 Subject: [PATCH] modules: Accept a path-like for home-manager We don't actually use the initialized attrset for anything other than its path. --- modules/default.nix | 8 ++++++-- modules/home-manager.nix | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/default.nix b/modules/default.nix index 254f66d..5db61fa 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,12 +1,16 @@ # Copyright (c) 2019-2020, see AUTHORS. Licensed under MIT License, see LICENSE. -{ pkgs ? import { }, home-manager ? import { }, config ? null, isFlake ? false }: +{ pkgs ? import { }, home-manager ? , config ? null, isFlake ? false }: with pkgs.lib; let defaultConfigFile = "${builtins.getEnv "HOME"}/.config/nixpkgs/nix-on-droid.nix"; + hmPath = if home-manager ? install then + pkgs.lib.warn "Passing an initialized home-manager is useless - The overridden pkgs will not be used" home-manager.path + else home-manager; + configModule = if config != null then config else if builtins.pathExists defaultConfigFile then defaultConfigFile @@ -16,7 +20,7 @@ let rawModule = evalModules { modules = [ { - _module.args.home-manager = home-manager; + _module.args.home-manager = hmPath; _module.args.pkgs = mkDefault pkgs; _module.args.isFlake = isFlake; } diff --git a/modules/home-manager.nix b/modules/home-manager.nix index f4aa7dd..a3f0e7b 100644 --- a/modules/home-manager.nix +++ b/modules/home-manager.nix @@ -7,13 +7,13 @@ with lib; let cfg = config.home-manager; - extendedLib = import (home-manager.path + "/modules/lib/stdlib-extended.nix") pkgs.lib; + extendedLib = import (home-manager + "/modules/lib/stdlib-extended.nix") pkgs.lib; hmModule = types.submoduleWith { specialArgs = { lib = extendedLib; }; modules = [ ({ name, ... }: { - imports = import (home-manager.path + "/modules/modules.nix") { + imports = import (home-manager + "/modules/modules.nix") { inherit pkgs; lib = extendedLib; useNixpkgsModule = !cfg.useGlobalPkgs;