2023-12-12 13:42:26 -08:00
#!/usr/bin/env bash
2023-12-05 16:56:37 -08:00
2024-03-30 14:20:20 -07:00
LOGIN ( ) {
2024-03-15 11:35:36 -07:00
2024-03-30 14:20:20 -07:00
mkdir -p /home/free/Documents/Updater_App_Logs
2023-12-09 10:50:27 -08:00
2024-03-30 14:20:20 -07:00
time_stamp = $( date +%Y-%m-%d-%T)
2023-12-06 10:43:02 -08:00
2024-03-30 14:20:20 -07:00
ssh root@localhost flatpak update -y & > /home/free/Documents/Updater_App_Logs/{ $time_stamp } -Updater_Login_Log.txt
2023-12-06 10:43:02 -08:00
2023-12-12 13:57:21 -08:00
}
2023-12-06 10:08:06 -08:00
2024-03-30 14:20:20 -07:00
HUNGRY ( ) {
2024-03-30 10:08:37 -07:00
2024-03-30 14:20:20 -07:00
pushd /home/free/Documents/Updater_App_Logs
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
file = $( ls -Art | tail -n 1)
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
if grep -w "Permission denied" $file ; then
zenity --error \
--width= 500 \
--title= "Sovran_SystemsOS_Updater" \
2024-03-31 11:17:33 -07:00
--text= "Authentication Canceled. Exiting..."
exit 1
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
fi
2024-03-31 11:17:33 -07:00
2024-03-30 14:20:20 -07:00
popd
2024-03-30 09:31:18 -07:00
}
2024-03-30 14:20:20 -07:00
FLAKE ( ) {
2024-03-30 10:08:37 -07:00
2024-03-30 14:20:20 -07:00
time_stamp = $( date +%Y-%m-%d-%T)
2024-03-30 09:31:18 -07:00
2024-03-31 11:17:33 -07:00
ssh root@localhost " cd /etc/nixos && nix flake update &> /home/free/Documents/Updater_App_Logs/{ $time_stamp }-Updater_Flake_Log.txt "
}
PANCAKE-FLAKE ( ) {
2024-03-30 09:31:18 -07:00
2024-03-31 11:17:33 -07:00
pushd /home/free/Documents/Updater_App_Logs
file = $( ls -Art | tail -n 1)
if grep -w "nix: error" $file ; then
2024-03-30 09:31:18 -07:00
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."
2024-03-30 14:20:20 -07:00
exit 1
2024-03-30 09:31:18 -07:00
fi
2024-03-31 11:17:33 -07:00
popd
2024-03-30 09:31:18 -07:00
}
2024-03-31 11:17:33 -07:00
YOGURT-FLAKE ( ) {
2024-03-30 10:08:37 -07:00
pushd /home/free/Documents/Updater_App_Logs
file = $( ls -Art | tail -n 1)
if ! grep -w "updating" $file ; then
zenity --info \
--ellipsize \
--no-wrap \
2024-03-30 10:10:29 -07:00
--width= 600 \
2024-03-30 10:08:37 -07:00
--title= "Sovran_SystemsOS_Updater" \
--text= "There are no updates at this time. Your Sovran Pro is up to date!"
2024-03-31 11:17:33 -07:00
exit 1
2024-03-30 10:08:37 -07:00
fi
popd
}
2024-03-31 11:17:33 -07:00
2024-03-13 20:40:08 -07:00
SPICE ( ) {
2024-03-13 20:35:00 -07:00
2024-03-14 11:58:32 -07:00
time_stamp = $( date +%Y-%m-%d-%T)
2024-03-13 21:07:20 -07:00
2024-03-30 09:31:18 -07:00
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' "
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
}
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
TACO ( ) {
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
pushd /home/free/Documents/Updater_App_Logs
2024-03-13 20:35:00 -07:00
2024-03-15 11:35:36 -07:00
file = $( ls -Art | tail -n 1)
2024-03-30 09:31:18 -07:00
if grep -w "error:" $file ; then
2024-03-15 11:35:36 -07:00
zenity --error \
--width= 1300 \
--title= "Sovran_SystemsOS_Updater" \
2024-03-30 09:31:18 -07:00
--text= "Could not complete the Sovran_SystemsOS Update. Check the Updater_Log.txt in your Documents under Updater_App_Logs folder for more details."
2024-03-15 11:35:36 -07:00
else
2024-03-14 11:58:32 -07:00
zenity --info \
--ellipsize \
--no-wrap \
2024-03-15 13:01:33 -07:00
--width= 550 \
2024-03-15 11:35:36 -07:00
--title= "Sovran_SystemsOS_Updater" \
2024-03-14 11:58:32 -07:00
--text= "Yay complete! Please reboot when you are ready."
2024-03-15 11:35:36 -07:00
2024-03-31 11:17:33 -07:00
exit 1
2023-12-12 13:42:26 -08:00
2023-12-06 10:43:02 -08:00
fi
2023-12-05 16:56:37 -08:00
2024-03-15 11:35:36 -07:00
popd
2023-12-06 10:43:02 -08:00
}
2023-12-06 10:08:06 -08:00
2024-03-30 09:31:18 -07:00
###########
2023-12-12 13:57:21 -08:00
2023-12-13 10:48:48 -08:00
curl "https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Updater/Updater%20Source%20Files/Intro.md" |
2023-12-09 10:50:27 -08:00
2024-03-30 14:20:20 -07:00
zenity --text-info \
--width= 1100 \
2024-03-31 11:17:33 -07:00
--height= 830 \
2024-03-30 14:20:20 -07:00
--title= "Sovran_SystemsOS_Updater"
2023-12-06 09:14:02 -08:00
2023-12-06 10:08:06 -08:00
if [ [ $? -eq 1 ] ] ; then
2023-12-06 09:14:02 -08:00
2023-12-13 10:48:48 -08:00
exit 1
2023-12-06 09:14:02 -08:00
2023-12-12 13:46:28 -08:00
else
2024-03-30 09:31:18 -07:00
2024-03-30 14:20:20 -07:00
LOGIN | zenity --progress --no-cancel --auto-close --width= 500 --pulsate --text= "Updating Flatpaks now..." --title= "Sovran_SystemsOS_Updater"
HUNGRY
FLAKE | zenity --progress --no-cancel --auto-close --width= 500 --pulsate --text= "Updating Flake now..." --title= "Sovran_SystemsOS_Updater"
2024-03-30 09:31:18 -07:00
2024-03-30 10:08:37 -07:00
PANCAKE-FLAKE
2024-03-31 11:17:33 -07:00
YOGURT-FLAKE
SPICE | zenity --progress --no-cancel --auto-close --width= 1050 --pulsate --text= "Updating entire system now. In rare cases, it could take up to 1 hour. Go have some herbal tea and relax while the update is in progress." --title= "Sovran_SystemsOS_Updater"
2024-03-15 11:35:36 -07:00
TACO
2023-12-12 10:17:30 -08:00
2023-12-06 10:08:06 -08:00
fi
2023-12-06 09:15:50 -08:00
2024-03-30 09:49:23 -07:00
find /home/free/Documents/Updater_App_Logs -name "*.txt" -type f -mtime +3 -delete
2024-03-15 11:35:36 -07:00
exit 0