1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-31 04:04:32 +00:00
This commit is contained in:
Lin Xianyi 2025-03-30 12:49:28 +02:00 committed by GitHub
commit a139b17ef5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -34,26 +34,27 @@ for sourcePath in "$@" ; do
# Next, try to move the file to a backup location if configured and possible
backup="$targetPath.$HOME_MANAGER_BACKUP_EXT"
if [[ -e "$backup" ]]; then
errorEcho "Existing file '$backup' would be clobbered by backing up '$targetPath'"
collision=1
collisionErrors+=("Existing file '$backup' would be clobbered by backing up '$targetPath'")
else
warnEcho "Existing file '$targetPath' is in the way of '$sourcePath', will be moved to '$backup'"
fi
else
# Fail if nothing else works
errorEcho "Existing file '$targetPath' is in the way of '$sourcePath'"
collision=1
collisionErrors+=("Existing file '$backup' would be clobbered by backing up '$targetPath'")
fi
fi
done
if [[ -v collision ]] ; then
if [[ ${#collisionErrors[@]} -gt 0 ]] ; then
errorEcho "Please do one of the following:
- Move or remove the above files and try again.
- Move or remove the files below and try again.
- In standalone mode, use 'home-manager switch -b backup' to back up
files automatically.
- When used as a NixOS or nix-darwin module, set
'home-manager.backupFileExtension'
to, for example, 'backup' and rebuild."
for error in "${collisionErrors[@]}" ; do
errorEcho "$error"
done
exit 1
fi