Merge pull request #44526 from samueldr/feature/actiavation-failure-identification

nixos/activation: Identifies the snippet that failed

Changed files
+6 -1
nixos
modules
system
+6 -1
nixos/modules/system/activation/activation-script.nix
···
addAttributeName = mapAttrs (a: v: v // {
text = ''
#### Activation script snippet ${a}:
+
_localstatus=0
${v.text}
+
+
if (( _localstatus > 0 )); then
+
printf "Activation script snippet '%s' failed (%s)\n" "${a}" "$_localstatus"
+
fi
'';
});
···
done
_status=0
-
trap "_status=1" ERR
+
trap "_status=1 _localstatus=\$?" ERR
# Ensure a consistent umask.
umask 0022