diff options
author | Robert Helgesson <robert@rycee.net> | 2017-09-09 17:14:07 +0200 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2017-09-09 17:14:07 +0200 |
commit | cda222d2ec652e870676d40fbf0c91ab90ce37e0 (patch) | |
tree | 4ba00f7df1573c34411d647862fdc11e9851d155 /home-manager | |
parent | 07b4228988711fd4a23547fa7a9bc78f56254135 (diff) |
home-manager: present news even if assertion failed
Diffstat (limited to 'home-manager')
-rw-r--r-- | home-manager/home-manager | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/home-manager/home-manager b/home-manager/home-manager index 329dd8d5cbe..97166d6f99b 100644 --- a/home-manager/home-manager +++ b/home-manager/home-manager @@ -73,9 +73,10 @@ function doBuildAttr() { --argstr confAttr "$HOME_MANAGER_CONFIG_ATTRIBUTE" } +# Presents news to the user. Takes as argument the path to a "news +# info" file as generated by `buildNews`. function presentNews() { - local infoFile - infoFile=$(buildNews) || return 1 + local infoFile="$1" # shellcheck source=/dev/null . "$infoFile" @@ -111,11 +112,22 @@ function presentNews() { } function doBuild() { - doBuildAttr -A activationPackage - presentNews + local newsInfo + newsInfo=$(buildNews) + + local exitCode + doBuildAttr -A activationPackage \ + && exitCode=0 || exitCode=1 + + presentNews "$newsInfo" + + return $exitCode } function doSwitch() { + local newsInfo + newsInfo=$(buildNews) + local generation local exitCode=0 local wrkdir @@ -132,9 +144,7 @@ function doSwitch() { # running and $wrkdir is always removed. rm -r "$wrkdir" - if [[ $exitCode -eq 0 ]]; then - presentNews - fi + presentNews "$newsInfo" return $exitCode } |