#!/bin/bash

set -e

# Ensure screensaver/sleep doesn't set in during updates
hyprctl dispatch tagwindow +noidle &>/dev/null || true

# Capture update logs (CLICOLOR_FORCE keeps gum styled when stdout is piped through tee)
export CLICOLOR_FORCE=1
exec > >(tee "/tmp/nomarchy-update.log") 2>&1

# Perform all update steps
nomarchy-update-keyring
nomarchy-update-available-reset
nomarchy-update-system-pkgs
nomarchy-migrate
nomarchy-update-aur-pkgs
nomarchy-update-orphan-pkgs
nomarchy-hook post-update

nomarchy-update-analyze-logs

nomarchy-update-restart

# Re-enable screensaver/sleep after updates
hyprctl dispatch tagwindow -- -noidle &>/dev/null || true
