diff --git a/.zshrc b/.zshrc index 3ba9d7f..fdda7b5 100644 --- a/.zshrc +++ b/.zshrc @@ -16,7 +16,7 @@ alias e='emacs -nw' # Other alias i='sudo dnf install' alias d='sudo dnf' -alias u='sudo dnf update; flatpak update' +alias u='sh ~/.config/scripts/update.sh' alias dot='cd ~/dotfiles' # Git alias c='git commit -m' diff --git a/scripts/update.sh b/scripts/update.sh new file mode 100644 index 0000000..77c67ad --- /dev/null +++ b/scripts/update.sh @@ -0,0 +1,50 @@ +#! /bin/bash + +# This script is a catch all program updater. + +# DNF Updater +function dnfUpdate { + if command -v dnf &> /dev/null; then + echo Updating DNF... + sudo dnf update + fi +} + +# Apt Updater +function aptUpdate { + if command -v apt &> /dev/null; then + echo Updating APT... + sudo apt update + sudo apt upgrade + fi +} + +# Flatpack Updater +function flatpakUpdate { + if command -v flatpak &> /dev/null; then + echo Updating Flatpak... + flatpak update + fi +} + +# Checks if a program is installed and if it is runs an updater script +function updateProgram { + if command -v $1 &> /dev/null; then + sudo sh $2 + fi +} + +# Manually installed programs updater +function manualUpdate { + if command -v dnf &> /dev/null; then + echo Updating manually installed programs... + updateProgram bitwig-studio ~/.config/scripts/installers/bitwig-install.sh + updateProgram dragonframe ~/.config/scripts/installers/dragonframe-install.sh + updateProgram reaper ~/.config/scripts/installers/reaper-install.sh + fi +} + +dnfUpdate +aptUpdate +flatpakUpdate +manualUpdate