#!/usr/bin/env bash set -o nounset ID=$(timeout 1 -k dig @resolver4.opendns.com myip.opendns.com +short -4) ID6=$(timeout 1 dig -t aaaa +short myip.opendns.com @resolver1.opendns.com) curl "https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Updater/Updater%20Source%20Files/Intro.md" | zenity --text-info \ --title="Sovran_SystemsOS Updater" \ --width=1000 \ --height=700 if [[ $? -eq 1 ]]; then exit 1 else ssh root@${ID} || ssh root@${ID6} 'flatpak update -y' | zenity --progress \ --no-cancel \ --auto-close \ --pulsate \ --width=500 \ --text="Updating Flatpaks" \ --title="Sovran_SystemsOS Updater" if [[ $? != 0 ]]; then echo "Could Not Update Flatpaks -- Exiting" | zenity --text-info \ --title="Sovran_SystemsOS Updater" \ --width=500 \ exit 1 fi ssh root@${ID} || ssh root@${ID6} 'cd /etc/nixos; nix flake update' | zenity --progress \ --no-cancel \ --auto-close \ --pulsate \ --width=500 \ --text="Moving Files Into Place..." \ --title="Sovran_SystemsOS Updater" if [[ $? != 0 ]]; then echo "Could Not Update Flake -- Exiting" | zenity --text-info \ --title="Sovran_SystemsOS Updater" \ --width=500 \ exit 1 fi ssh root@${ID} || ssh root@${ID6} 'nixos-rebuild switch --impure' | zenity --progress \ --no-cancel \ --auto-close \ --pulsate \ --width=500 \ --text="Updating, In Rare Cases, It Could Take Up To 3 Hours, Please Be Patient..." \ --title="Sovran_SystemsOS Updater" if [[ $? != 0 ]]; then echo "Could Not Update Sovran_SystemsOS -- Exiting" | zenity --text-info \ --title="Sovran_SystemsOS Updater" \ --width=500 \ exit 1 fi zenity --info \ --ellipsize \ --no-wrap \ --width=500 \ --title="Sovran_SystemsOS Updater" \ --text="Yay Complete! Please Reboot When You Are Ready." fi exit 0