From 9300b749d6bef028a7d044d46e055309ce90ce62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20K=C3=B6rber?= Date: Wed, 18 Dec 2019 10:04:20 +0100 Subject: [PATCH] Add bin directory --- bin/autostart | 22 ++++++++++++++++++++++ bin/fuck-lxc | 23 +++++++++++++++++++++++ bin/gdrive-backup | 16 ++++++++++++++++ bin/git-sm-commit | 15 +++++++++++++++ bin/git-worktree-add | 21 +++++++++++++++++++++ bin/git-worktree-rm | 8 ++++++++ bin/screencfg | 1 + bin/share-screen | 3 +++ bin/split-multiyaml-to-json | 14 ++++++++++++++ 9 files changed, 123 insertions(+) create mode 100755 bin/autostart create mode 100755 bin/fuck-lxc create mode 100755 bin/gdrive-backup create mode 100755 bin/git-sm-commit create mode 100755 bin/git-worktree-add create mode 100755 bin/git-worktree-rm create mode 120000 bin/screencfg create mode 100755 bin/share-screen create mode 100755 bin/split-multiyaml-to-json diff --git a/bin/autostart b/bin/autostart new file mode 100755 index 0000000..7c0b80e --- /dev/null +++ b/bin/autostart @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +export LOGDIR="$HOME/.var/log" +export RUNDIR="$HOME/.var/run" +export LIBDIR="$HOME/.var/lib" +export BINDIR="$HOME/bin" + +LOGFILE="$LOGDIR/autostart.log" + +log() { + echo "[$(date +%FT%T)] $*" >> "$LOGFILE" +} + +if [[ -d "$HOME/.autostart" ]] ; then + log "Looking for autostart files." + for f in "$HOME/.autostart/"*.sh ; do + if [[ -x "$f" ]] ; then + log "Executing autostart file \"$f\"" + . "$f" + fi + done +fi diff --git a/bin/fuck-lxc b/bin/fuck-lxc new file mode 100755 index 0000000..b1f5eb3 --- /dev/null +++ b/bin/fuck-lxc @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -x + +vagrant destroy -f +killall vagrant +killall -9 vagrant + +pgrep -fa lxc | grep -v fuck-lxc | awk '{print $1}' | xargs sudo kill -9 + +sudo lxc-ls -1 | xargs -l1 sudo lxc-stop --kill --name ; sudo lxc-ls -1 | xargs -l1 sudo lxc-destroy --name + +pgrep -fa lxc | grep -v fuck-lxc | awk '{print $1}' | xargs sudo kill -9 + +rm -rf .vagrant + +sudo systemctl restart nfs-kernel-server +sudo systemctl restart lxc\* + +sudo apt-get install --reinstall lxc + +sudo systemctl restart nfs-kernel-server +sudo systemctl restart lxc\* diff --git a/bin/gdrive-backup b/bin/gdrive-backup new file mode 100755 index 0000000..1fab8d7 --- /dev/null +++ b/bin/gdrive-backup @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +rclone \ + --checksum \ + --delete-excluded \ + --exclude /.cache/ \ + --exclude /.vagrant.d/ \ + --exclude /.minikube/ \ + --exclude /Downloads/ \ + --exclude /downloads/ \ + --exclude /tmp/ \ + --verbose \ + --stats 60s \ + sync \ + $HOME \ + gdrive:backup diff --git a/bin/git-sm-commit b/bin/git-sm-commit new file mode 100755 index 0000000..a5b6eb7 --- /dev/null +++ b/bin/git-sm-commit @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +set -o nounset + +submodule_count=$(git diff --staged --submodule=log | grep -c '^Submodule') + +if (( $submodule_count == 1 )) ; then + msg="Update submodule $(git diff --staged --submodule=log | grep '^Submodule' | cut -d ' ' -f 2)" +else + msg="Update submodules" +fi + +git commit --edit --no-status \ + --message="$msg" \ + --message "$(git diff --staged --color=never --submodule=log | sed 's/^S/\nS/' | sed 's/^Submodule /* /' | sed 's/ >/ */')" diff --git a/bin/git-worktree-add b/bin/git-worktree-add new file mode 100755 index 0000000..dcd0912 --- /dev/null +++ b/bin/git-worktree-add @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -o nounset +set -o xtrace +set -o errexit + +cd ./.gitdir +git fetch +if git rev-parse --verify "${1}" >/dev/null 2>&1 ; then + # local branch exists, use that + git worktree add --force ../${1} "${1}" +elif git rev-parse --verify origin/"${1}" >/dev/null 2>&1 ; then + # remove branch exists, use that + git worktree add --force -b ${1} ../${1} origin/${1} + +else + git worktree add --no-track --force -b ${1} ../${1} origin/master +fi +cd ../"${1}" +git push --set-upstream origin ${1} +git submodule update --init diff --git a/bin/git-worktree-rm b/bin/git-worktree-rm new file mode 100755 index 0000000..d62e746 --- /dev/null +++ b/bin/git-worktree-rm @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -o nounset + +rm -r "${1}" +cd ./.gitdir +git worktree remove "${1}" +git branch -D "${1}" diff --git a/bin/screencfg b/bin/screencfg new file mode 120000 index 0000000..96547c5 --- /dev/null +++ b/bin/screencfg @@ -0,0 +1 @@ +/home/hannes-work/archive/screencfg/screencfg.py \ No newline at end of file diff --git a/bin/share-screen b/bin/share-screen new file mode 100755 index 0000000..ac31df4 --- /dev/null +++ b/bin/share-screen @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +~/code/helper-scripts/sysop-share-screen.sh pi@monitor-sysop-${1:-middle}-${2:-top} 1 diff --git a/bin/split-multiyaml-to-json b/bin/split-multiyaml-to-json new file mode 100755 index 0000000..3119cd6 --- /dev/null +++ b/bin/split-multiyaml-to-json @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 + +import sys +import yaml +import json + +data = list(yaml.load_all(sys.stdin)) +files = sys.argv[1:] + +for i in range(len(data)): + doc = data[i] + path = files[i] + with open(path, 'w') as f: + json.dump(doc, f, indent=4)