Software/Sovran_SystemsOS_Updater/Updater Source Files/Update_Sovran_SystemsOS.sh

117 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
FLATPAK () {
if ! ssh root@localhost 'flatpak update -y' ; then
zenity --error \
--title="Sovran_SystemsOS Updater" \
--text="Could Not Update Flatpaks."
exit 1
fi
}
CASHU () {
if ! ssh root@localhost 'cd /etc/nixos && nix flake update && nixos-rebuild switch --impure &> /home/free/Documents/Updater_App_Logs/'$time_stamp'_Updater_Log.txt' ; then
zenity --error \
--width=400 \
--title="Sovran_SystemsOS Updater" \
--text="Could not complete the Sovran_SystemsOS update."
exit 1
else
exit 1
fi
}
SPICE () {
time_stamp=$(date +%Y-%m-%d-%T)
mkdir -p /home/free/Documents/Updater_App_Logs
if ! ssh root@localhost 'cd /etc/nixos && nix flake update' ; then
zenity --error \
--width=400 \
--title="Sovran_SystemsOS Updater" \
--text="Could not complete the Sovran_SystemsOS flake update."
exit 1
fi
if ! ssh root@localhost 'nixos-rebuild dry-activate --impure' ; then
zenity --error \
--width=400 \
--title="Sovran_SystemsOS Updater" \
--text="Could not complete the test Sovran_SystemsOS update."
exit 1
fi
if ! ssh root@localhost 'nixos-rebuild switch --impure &> /home/free/Documents/Updater_App_Logs/'$time_stamp'_Updater_Log.txt' ; then
zenity --error \
--width=400 \
--title="Sovran_SystemsOS Updater" \
--text="Could not complete the Sovran_SystemsOS update."
exit 1
else
zenity --info \
--ellipsize \
--no-wrap \
--width=500 \
--title="Sovran_SystemsOS Updater" \
--text="Yay complete! Please reboot when you are ready."
fi
}
#########
curl "https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Updater/Updater%20Source%20Files/Intro.md" |
zenity --text-info \
--width=1000 \
--height=750 \
--title="Sovran_SystemsOS Updater"
if [[ $? -eq 1 ]]; then
exit 1
else
FLATPAK | zenity --progress --no-cancel --auto-close --width=460 --pulsate --text="Updating Flatpaks now..." --title="Sovran_SystemsOS Updater"
CASHU
SPICE | zenity --progress --no-cancel --auto-close --width=850 --pulsate --text="Updating now. In rare cases, it could take up to 3 hours. Go have some herbal tea and relax while the update is in progress." --title="Sovran_SystemsOS Updater"
find /home/free/Documents/Updater_App_Logs -name "*.txt" -type f -mtime +5 -delete
fi
exit 0