diff options
Diffstat (limited to 'bin/update-everything.sh')
-rwxr-xr-x | bin/update-everything.sh | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/bin/update-everything.sh b/bin/update-everything.sh new file mode 100755 index 0000000..f38d4cf --- /dev/null +++ b/bin/update-everything.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash +# +# Author: Clyhtsuriva + + +# FUNCTIONS +# +# echo_n_notify +# local_update +# remote_update +# non_free_update +# pip_update + + +xi='sudo xbps-install' +xr='sudo xbps-remove' + +# Print to stdout +# And as a notification +echo_n_notify(){ + printf "%s\n" "[$1]" + notify-send "[$1]" +} + +echo_n_notify "Updating everything ..." + +# Update local xbps packages +# And clean the cache and remove orphans +local_update(){ + + echo_n_notify "local update" + + $xi --sync --update --verbose && \ + $xr --clean-cache --remove-orphans --verbose + +} + +# Update remote debian server using Ansible +remote_update(){ + + echo_n_notify "remote update" + + ansible-playbook --inventory-file "$HOME/workbench/ansible/hosts" \ + "$HOME/workbench/ansible/update_adjutor.yml" + +} + +# Update non-free xbps packages +non_free_update(){ + + echo_n_notify "non-free update" + + pushd ~/workbench/auto-void-packages || exit 1 + ./update-git-repo.sh + cd ../void-packages || exit 1 + ./xbps-src pkg teams-bin && \ + $xi --repository=hostdir/binpkgs/nonfree teams-bin + ./xbps-src pkg discord && \ + $xi --repository=hostdir/binpkgs/nonfree discord + ./xbps-src pkg spotify && \ + $xi --repository=hostdir/binpkgs/nonfree spotify + popd || exit 1 + +} + +# Update pip packages needing one +pip_update(){ + + echo_n_notify "pip update" + + python3 -m pip list --outdated --format=json | \ + jq -r '.[] | "\(.name)==\(.latest_version)"' | \ + xargs -n1 pip3 install -U + +} + + +# MAIN + +local_update +remote_update +non_free_update +pip_update |