diff --git a/modules/build/activation.nix b/modules/build/activation.nix index ae50010..2021576 100644 --- a/modules/build/activation.nix +++ b/modules/build/activation.nix @@ -17,6 +17,7 @@ let pkgs.coreutils pkgs.diffutils pkgs.findutils + pkgs.gnugrep pkgs.gnused pkgs.ncurses # For `tput`. pkgs.nix diff --git a/modules/home-manager.nix b/modules/home-manager.nix index cb1186a..adb5802 100644 --- a/modules/home-manager.nix +++ b/modules/home-manager.nix @@ -49,9 +49,19 @@ in inherit (cfg.config) assertions warnings; - build.activationAfter.homeManager = '' - ${cfg.config.home.activationPackage}/activate - ''; + build = { + activationBefore = mkIf cfg.useUserPackages { + setPriorityHomeManagerPath = '' + if nix-env -q | grep '^home-manager-path$'; then + $DRY_RUN_CMD nix-env $VERBOSE_ARG --set-flag priority 120 home-manager-path + fi + ''; + }; + + activationAfter.homeManager = '' + ${cfg.config.home.activationPackage}/activate + ''; + }; environment.packages = mkIf cfg.useUserPackages cfg.config.home.packages;