aboutsummaryrefslogtreecommitdiff
path: root/bin/update-everything.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/update-everything.sh')
-rwxr-xr-xbin/update-everything.sh83
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