#!/bin/bash set -e UNAME=$(sh -c 'uname 2>/dev/null || echo Unknown') . ~/.local/opt/script_utils/parse-package-managers-params.bash if [ "${RUN[pacman]}" = "1" ] then # Clear out orphans sudo pacman -Rns $(pacman -Qtdq) # Update arch packages sudo pacman -Syu # Update AUR packages aurfetch update-all -q fi if [ "${RUN[apt]}" = "1" ] then # Clear out orphans sudo apt autoremove # Update apt packages sudo apt update sudo apt full-upgrade # Clear out orphans sudo apt autoremove fi if [ "${RUN[dnf]}" = "1" ] then # Clear out orphans sudo dnf autoremove # Update dnf packages sudo dnf update # Clear out orphans sudo dnf autoremove fi if [ "${RUN[flatpak]}" = "1" ] then # Clear out unused flatpak apps flatpak uninstall --unused # Update flatpak packages flatpak update # Clear out unused flatpak apps once again flatpak uninstall --unused fi if [ "${RUN[gem]}" = "1" ] then gem update --system gem update fi if [ "${RUN[nvim]}" = "1" ] then nvim --headless -c 'Lazy! sync' -c 'quitall' fi if [ "${RUN[vim]}" = "1" ] then command vim +PlugUpdate +qall fi if [ "${RUN[asdf]}" = "1" ] then asdf update asdf plugin-update --all echo "========== ASDF UPDATES ==========" echo "Available updates: " while IFS= read -r PKG; do if [ $(echo "$PKG" | cut -f3) = "missing" ]; then PKG_NAME=$(echo $PKG | cut -f1 -d " ") if [ "$PKG_NAME" != "java" -a "$PKG_NAME" != "ruby" ]; then PKG_VER=$(echo $PKG | cut -f2 -d " ") echo " $PKG_NAME - $PKG_VER (install with 'asdf install $PKG_NAME $PKG_VER' and set as global default with 'asdf global $PKG_NAME $PKG_VER')" fi fi done <<< "$(asdf latest --all)" echo "========== ASDF UPDATES ==========" fi if [ "${RUN[brew]}" = "1" ] then brew update brew upgrade if [ "$UNAME" = "Darwin" ]; then brew upgrade --cask fi if [ $? -eq 0 ]; then echo $( date +%s ) > $MY_CONFIG_CACHE_DIR/brew-upgrade-date fi fi if [ "${RUN[pacman]}" = "1" ] then # Clear out orphans once again sudo pacman -Rns $(pacman -Qtdq) fi