dotfiles/.local/bin/upgrade

26 lines
524 B
Bash
Executable file

#! /usr/bin/sh
apt_update() {
sudo --reset-timestamp
sudo apt update && 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
}
apt_update
pipx_update
cargo_update
ghup