mirror of
https://github.com/nix-community/home-manager
synced 2024-12-25 11:19:47 +01:00
home-manager: set profile path variables lazily
We only need the Home Manager path variables when performing a few operations, so only set the variables for those operations. This avoids problems on fresh installations, where no profile directory exists. Fixes #4403
This commit is contained in:
parent
84ccadec72
commit
891a12fa7f
1 changed files with 6 additions and 2 deletions
|
@ -648,6 +648,8 @@ function doSwitch() {
|
|||
}
|
||||
|
||||
function doListGens() {
|
||||
setHomeManagerPathVariables
|
||||
|
||||
# Whether to colorize the generations output.
|
||||
local color="never"
|
||||
if [[ ! -v NO_COLOR && -t 1 ]]; then
|
||||
|
@ -665,6 +667,7 @@ function doListGens() {
|
|||
# Removes linked generations. Takes as arguments identifiers of
|
||||
# generations to remove.
|
||||
function doRmGenerations() {
|
||||
setHomeManagerPathVariables
|
||||
setVerboseAndDryRun
|
||||
|
||||
pushd "$HM_PROFILE_DIR" > /dev/null
|
||||
|
@ -686,6 +689,8 @@ function doRmGenerations() {
|
|||
}
|
||||
|
||||
function doExpireGenerations() {
|
||||
setHomeManagerPathVariables
|
||||
|
||||
local generations
|
||||
generations="$( \
|
||||
find "$HM_PROFILE_DIR" -name 'home-manager-*-link' -not -newermt "$1" \
|
||||
|
@ -810,6 +815,7 @@ function doShowNews() {
|
|||
}
|
||||
|
||||
function doUninstall() {
|
||||
setHomeManagerPathVariables
|
||||
setVerboseAndDryRun
|
||||
setNixProfileCommands
|
||||
|
||||
|
@ -945,8 +951,6 @@ COMMAND=""
|
|||
COMMAND_ARGS=()
|
||||
FLAKE_ARG=""
|
||||
|
||||
setHomeManagerPathVariables
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
opt="$1"
|
||||
shift
|
||||
|
|
Loading…
Reference in a new issue