Software/Sovran_SystemsOS_Updater/Updater Source Files/Update_Sovran_SystemsOS.sh

118 lines
2.6 KiB
Bash
Executable File

#!/usr/bin/env bash
FLATPAK () {
if ! ssh root@localhost 'flatpak update -y' ; then
zenity --error \
--width=550 \
--title="Sovran_SystemsOS_Updater" \
--text="Could Not Update Flatpaks."
exit 1
fi
}
SPICE-FLAKE () {
time_stamp=$(date +%Y-%m-%d-%T)
mkdir -p /home/free/Documents/Updater_App_Logs
ssh root@localhost "cd /etc/nixos && nix flake update 2>&1 | tee /home/free/Documents/Updater_App_Logs/{$time_stamp}-Updater_Flake_Log.txt"
}
TACO-FLAKE () {
pushd /home/free/Documents/Updater_App_Logs
file=$(ls -Art | tail -n 1)
if grep -w "nix: error" $file ; then
zenity --error \
--width=1300 \
--title="Sovran_SystemsOS_Updater" \
--text="Could not complete the Flake update. Check the Updater_Flake_Log.txt in your Documents under Updater_App_Logs folder for more details."
exit 1
fi
popd
}
SPICE () {
time_stamp=$(date +%Y-%m-%d-%T)
mkdir -p /home/free/Documents/Updater_App_Logs
xterm -T "Sovran_SystemsOS_Updater" -fa 'Noto Mono' -fs 15 -fg white -bg black -e bash -c "ssh root@localhost 'cd /etc/nixos && nixos-rebuild switch --impure 2>&1 | tee /home/free/Documents/Updater_App_Logs/{$time_stamp}-Updater_Log.txt'"
}
TACO () {
pushd /home/free/Documents/Updater_App_Logs
file=$(ls -Art | tail -n 1)
if grep -w "error:" $file ; then
zenity --error \
--width=1300 \
--title="Sovran_SystemsOS_Updater" \
--text="Could not complete the Sovran_SystemsOS Update. Check the Updater_Log.txt in your Documents under Updater_App_Logs folder for more details."
else
zenity --info \
--ellipsize \
--no-wrap \
--width=550 \
--title="Sovran_SystemsOS_Updater" \
--text="Yay complete! Please reboot when you are ready."
exit 1
fi
popd
}
###########
curl "https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Updater/Updater%20Source%20Files/Intro.md" |
zenity --text-info \
--width=1100 \
--height=830 \
--title="Sovran_SystemsOS_Updater"
if [[ $? -eq 1 ]]; then
exit 1
else
FLATPAK | zenity --progress --no-cancel --auto-close --width=500 --pulsate --text="Updating Flatpaks now..." --title="Sovran_SystemsOS_Updater"
SPICE-FLAKE | zenity --progress --no-cancel --auto-close --width=500 --pulsate --text="Updating Flake now..." --title="Sovran_SystemsOS_Updater"
TACO-FLAKE
SPICE | zenity --progress --no-cancel --auto-close --width=1050 --pulsate --text="Updating Entire System 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"
TACO
fi
find /home/free/Documents/Updater_App_Logs -name "*.txt" -type f -mtime +3 -delete
exit 0