aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorclyhtsuriva <aimeric@adjutor.xyz>2022-11-02 22:21:53 +0100
committerclyhtsuriva <aimeric@adjutor.xyz>2022-11-02 22:21:53 +0100
commit98da0fa1869757734610ec34fbeb0396f26c0026 (patch)
treeb0aeaa30a96f27bccfc4b463861b1fd476155d43 /bin
parent852a96b3cf69bb80773f926921c9d3f6b0101faf (diff)
Putting the first scripts in a bin/ folder
Diffstat (limited to 'bin')
-rwxr-xr-xbin/backup_usb32.sh3
-rwxr-xr-xbin/number-of-pr-in42
-rwxr-xr-xbin/update-everything.sh83
-rwxr-xr-xbin/update-script-repo.sh7
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"