tb-dotfiles/chezmoi/dot_zshrc.d/executable_upgrade_system.sh

69 lines
1.3 KiB
Bash
Raw Normal View History

#!/bin/bash
upgrade_system() {
(
set -euo pipefail
case "$(uname | tr '[:upper:]' '[:lower:]')" in
'darwin')
if command -v brew &> /dev/null; then
brew update
brew upgrade
fi
;;
'linux')
2021-12-16 09:47:24 -05:00
# Flatpak (could be just about any distro)
if command -v flatpak &> /dev/null; then
flatpak update
fi
# Debian/Ubuntu
if command -v apt &> /dev/null; then
sudo "$SHELL" -c 'apt update && apt upgrade'
fi
# Fedora
if command -v dnf &> /dev/null; then
sudo dnf upgrade
fi
# Arch
if command -v yay &> /dev/null; then
yay -Syu --devel --timeupdate
elif command -v pacman &> /dev/null; then
sudo pacman -Syu
fi
;;
esac
2022-06-24 20:38:28 -04:00
if command -v asdf &> /dev/null; then
asdf update || true
2022-06-24 20:38:28 -04:00
asdf plugin update --all
asdf latest --all
asdf nodejs resolve lts --latest-avaliable
2022-06-24 20:38:28 -04:00
fi
if command -v fwupdmgr &> /dev/null; then
(
# 2 is a valid exit code for the fwupdmgr where
# the operation was successful but did not require
# action
set +e
fwupdmgr refresh
STATUS=$?
if [ $STATUS -ne 0 ] && [ $STATUS -ne 2 ]; then
exit $STATUS
fi
fwupdmgr upgrade
STATUS=$?
if [ $STATUS -ne 0 ] && [ $STATUS -ne 2 ]; then
exit $STATUS
fi
)
fi
)
2020-05-25 13:56:17 -04:00
}