diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/backup_usb32.sh | 3 | ||||
-rwxr-xr-x | bin/number-of-pr-in | 42 | ||||
-rwxr-xr-x | bin/update-everything.sh | 83 | ||||
-rwxr-xr-x | bin/update-script-repo.sh | 7 |
4 files changed, 135 insertions, 0 deletions
diff --git a/bin/backup_usb32.sh b/bin/backup_usb32.sh new file mode 100755 index 0000000..8008480 --- /dev/null +++ b/bin/backup_usb32.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rsync -az -u -v /mnt/32 ~/Documents/32.bak/ diff --git a/bin/number-of-pr-in b/bin/number-of-pr-in new file mode 100755 index 0000000..a32e4b5 --- /dev/null +++ b/bin/number-of-pr-in @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# +# number-of-pr-in +# Author : Clyhtsuriva + +usage () { + echo "Usage: number-of-pr-in <repository>" + exit 1 +} + +number-of-pr-in () { + + [ $# -eq 1 ] || usage + + GH_REPO=void-linux/$1 + LIMIT=1000 # Search API => 1000 results max + + gh repo view "$GH_REPO" 1> /dev/null || exit 1 + + GH_PR_LIST=$(gh pr list \ + --repo "$GH_REPO" \ + --author "@me" \ + --state merged \ + --limit $LIMIT) + + PARSED=$(echo "$GH_PR_LIST" | \ + awk '{ print $2 }' | \ + sed 's/://g' | \ + sort | \ + uniq -c | \ + sort -nr | \ + sed 's/ //g') + + + COLOR_ON=$(tput setaf 3; tput bold) + COLOR_OFF=$(tput sgr0) + + # shellcheck disable=SC2001 + echo "$PARSED" | sed "s/[^[:blank:]]\{1,\}/$COLOR_ON&$COLOR_OFF/1" +} + +number-of-pr-in "$@" 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 diff --git a/bin/update-script-repo.sh b/bin/update-script-repo.sh new file mode 100755 index 0000000..2edf308 --- /dev/null +++ b/bin/update-script-repo.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Author : Clyhtsuriva + +SCRIPTS_REPO_PATH="$HOME/workbench/scripts/" + +cp -rv "$HOME/.local/usr/local/bin" "$SCRIPTS_REPO_PATH" +cp -rv "$HOME/workbench/auto-void-packages" "$SCRIPTS_REPO_PATH" |