dotfiles/.local/bin/upgrade

32 lines
621 B
Bash
Executable file

#! /usr/bin/sh
apt_update() {
sudo --reset-timestamp
sudo apt update --audit && apt list --upgradable
sudo apt full-upgrade
sudo apt autoremove
sudo --reset-timestamp
}
cargo_update() {
# shellcheck disable=SC2046
cargo install $(cargo install --list | grep '^[a-z0-9_-]\+ v[0-9.]\+:$' | cut --delimiter=' ' --fields=1)
}
pipx_update() {
for venv in $(pipx list --json | jq --raw-output ".venvs | keys[]")
do
pipx upgrade "${venv}"
done
}
git_sync_update() {
echo Updating git-sync...
resync-git-sync
}
apt_update
pipx_update
cargo_update
ghup
git_sync_update