diff --git a/flake.nix b/flake.nix index 4b97efa..5404c37 100644 --- a/flake.nix +++ b/flake.nix @@ -16,9 +16,10 @@ inherit system; overlays = [ self.overlay ]; }; + defaultHm = home-manager.outPath; in rec { - lib.nix-on-droid = { pkgs ? defaultPkgs, config }: import ./modules { - inherit pkgs home-manager config; + lib.nix-on-droid = { pkgs ? defaultPkgs, home-manager-path ? defaultHm, config }: import ./modules { + inherit pkgs home-manager-path config; isFlake = true; }; diff --git a/modules/default.nix b/modules/default.nix index 5db61fa..adf9c74 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,16 +1,12 @@ # Copyright (c) 2019-2020, see AUTHORS. Licensed under MIT License, see LICENSE. -{ pkgs ? import { }, home-manager ? , config ? null, isFlake ? false }: +{ pkgs ? import { }, home-manager-path ? , 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 @@ -20,7 +16,7 @@ let rawModule = evalModules { modules = [ { - _module.args.home-manager = hmPath; + _module.args.home-manager-path = home-manager-path; _module.args.pkgs = mkDefault pkgs; _module.args.isFlake = isFlake; } diff --git a/modules/home-manager.nix b/modules/home-manager.nix index a3f0e7b..ac9a5d0 100644 --- a/modules/home-manager.nix +++ b/modules/home-manager.nix @@ -1,19 +1,19 @@ # Copyright (c) 2019-2021, see AUTHORS. Licensed under MIT License, see LICENSE. -{ config, lib, pkgs, home-manager, ... }: +{ config, lib, pkgs, home-manager-path, ... }: with lib; let cfg = config.home-manager; - extendedLib = import (home-manager + "/modules/lib/stdlib-extended.nix") pkgs.lib; + extendedLib = import (home-manager-path + "/modules/lib/stdlib-extended.nix") pkgs.lib; hmModule = types.submoduleWith { specialArgs = { lib = extendedLib; }; modules = [ ({ name, ... }: { - imports = import (home-manager + "/modules/modules.nix") { + imports = import (home-manager-path + "/modules/modules.nix") { inherit pkgs; lib = extendedLib; useNixpkgsModule = !cfg.useGlobalPkgs;