mirror of
https://github.com/nix-community/home-manager
synced 2024-11-24 03:59:46 +01:00
home-manager: exit with an error on build failure
Because 'set -e' has no effect on commands that run in an if condition,
the script was always exiting with no error when 'doBuild' failed.
As a bonus, $wrkdir is now always removed after building.
(cherry picked from commit a9d9fb5d75
)
This commit is contained in:
parent
5f2a6d90bd
commit
463d6db90b
1 changed files with 5 additions and 3 deletions
|
@ -91,11 +91,13 @@ function doSwitch() {
|
||||||
local wrkdir
|
local wrkdir
|
||||||
wrkdir="$(mktemp -d)"
|
wrkdir="$(mktemp -d)"
|
||||||
|
|
||||||
if doBuild "$wrkdir/generation" ; then
|
local exitCode=0
|
||||||
"$wrkdir/generation/activate"
|
doBuild "$wrkdir/generation" && "$wrkdir/generation/activate" || exitCode=1
|
||||||
fi
|
|
||||||
|
|
||||||
|
# Because the previous command never fails, the script keeps running and
|
||||||
|
# $wrkdir is always removed.
|
||||||
rm -r "$wrkdir"
|
rm -r "$wrkdir"
|
||||||
|
return $exitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
function doListGens() {
|
function doListGens() {
|
||||||
|
|
Loading…
Reference in a new issue