diff --git a/hostsModules/laptop/scripts/autoUpdate.nix b/hostsModules/laptop/scripts/autoUpdate.nix index 08411b8..4da52bd 100644 --- a/hostsModules/laptop/scripts/autoUpdate.nix +++ b/hostsModules/laptop/scripts/autoUpdate.nix @@ -19,23 +19,32 @@ pkgs.writeShellApplication { FLAKE="$FLAKE_DIR#laptop" TIME=$(date -u +"%Y-%m-%dT%H-%M-%SZ") - git -C "$FLAKE_DIR" pull - git -C "$FLAKE_DIR" tag "pre-autoupdate-$TIME" + ERROR_FILE=$(mktemp) - nix flake update --flake "$FLAKE_DIR" - - if sudo nixos-rebuild switch --flake "$FLAKE"; then + if sudo nixos-rebuild switch --flake "$FLAKE" 2> "$ERROR_FILE"; then git -C "$FLAKE_DIR" restore . git -C "$FLAKE_DIR" add flake.lock git -C "$FLAKE_DIR" commit -m "flake: autoupdate $TIME" git -C "$FLAKE_DIR" push notify-send "Flake autoupdate" "Rebuild OK" - matrix-commander-rs -m "Flake rebuild succesfull.
@notificationbot_0000" --html -r "\!7j-78_02dHROeLj4Ns8F12eo4IiZGv4zNsQ_1-WlyIU" + + matrix-commander-rs -m "Flake rebuild succesfull.
@notificationbot_0000" \ + --html \ + -r "\!7j-78_02dHROeLj4Ns8F12eo4IiZGv4zNsQ_1-WlyIU" + else + ERROR_MSG=$(cat "$ERROR_FILE") + notify-send -u critical "Flake autoupdate" "FAILED" - matrix-commander-rs -m "Flake rebuild FAILED" - git reset --hard "pre-autoupdate-$TIME" + + matrix-commander-rs -m "Flake rebuild failed.
Error:
$ERROR_MSG

@notificationbot_0000" \ + --html \ + -r "\!7j-78_02dHROeLj4Ns8F12eo4IiZGv4zNsQ_1-WlyIU" + + git -C "$FLAKE_DIR" reset --hard "pre-autoupdate-$TIME" fi + + rm -f "$ERROR_FILE" ''; }