#!/bin/bash set -e UNAME=$(sh -c 'uname 2>/dev/null || echo Unknown') if type pacman > /dev/null 2>&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 type apt > /dev/null 2>&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 type flatpak > /dev/null 2>&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 # Update rubygems if type gem > /dev/null 2>&1 then gem update --system gem update fi if type nvim > /dev/null 2>&1 then nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync' fi if type -f vim > /dev/null 2>&1 then command vim +PlugUpdate +qall fi if type asdf > /dev/null 2>&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) if [ "$PKG_NAME" != "java" -a "$PKG_NAME" != "ruby" ]; then PKG_VER=$(echo $PKG | cut -f2) 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 type brew > /dev/null 2>&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 type pacman > /dev/null 2>&1 then # Clear out orphans once again sudo pacman -Rns $(pacman -Qtdq) fi