From d848df3a33f390529c858575c78cece6ca76f6ef Mon Sep 17 00:00:00 2001 From: Tobias Happ Date: Sun, 5 Jan 2020 23:34:46 +0100 Subject: [PATCH] Increase priority value to avoid conflict When enabling useUserPackages, there is a conflict of duplicate package installations. --- modules/build/activation.nix | 1 + modules/home-manager.nix | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) 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;