From 00a699c41b24e6149fdf7d12ad15cb1a77024bb1 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Mon, 15 Nov 2021 03:51:19 -0600 Subject: refactor: moved everything to symlinks --- wsl/gpg.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wsl/wsl.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100755 wsl/gpg.sh create mode 100644 wsl/wsl.sh (limited to 'wsl') diff --git a/wsl/gpg.sh b/wsl/gpg.sh new file mode 100755 index 0000000..5fa3ec2 --- /dev/null +++ b/wsl/gpg.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +# https://github.com/benpye/wsl-ssh-pageant +# https://github.com/drduh/YubiKey-Guide#remote-host-configuration +# https://dev.to/dzerycz/series/11353 + +# GPG & SSH Socket +# Removing Linux Agent sockets and replace it with wsl2-ssh-pageant socket + +export SSH_AUTH_SOCK="$HOME/.ssh/agent.sock" +export GPG_AGENT_SOCK="$HOME/.gnupg/S.gpg-agent" + +function gpg-init() ( + if ! ss -a | grep -q "$SSH_AUTH_SOCK"; then + rm -f "$SSH_AUTH_SOCK" + wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe" + if test -x "$wsl2_ssh_pageant_bin"; then + (setsid nohup socat UNIX-LISTEN:"$SSH_AUTH_SOCK,fork" EXEC:"$wsl2_ssh_pageant_bin" >/dev/null 2>&1 &) + else + echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable." + fi + unset wsl2_ssh_pageant_bin + fi + + if ! ss -a | grep -q "$GPG_AGENT_SOCK"; then + rm -rf "$GPG_AGENT_SOCK" + wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe" + if test -x "$wsl2_ssh_pageant_bin"; then + (setsid nohup socat UNIX-LISTEN:"$GPG_AGENT_SOCK,fork" EXEC:"$wsl2_ssh_pageant_bin --gpg S.gpg-agent" >/dev/null 2>&1 &) + else + echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable." + fi + unset wsl2_ssh_pageant_bin + fi + + if ! ss -a | grep -q "${GPG_AGENT_SOCK}.extra"; then + rm -rf "${GPG_AGENT_SOCK}.extra" + wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe" + if test -x "$wsl2_ssh_pageant_bin"; then + (setsid nohup socat UNIX-LISTEN:"${GPG_AGENT_SOCK}.extra,fork" EXEC:"$wsl2_ssh_pageant_bin --gpg S.gpg-agent.extra" >/dev/null 2>&1 &) + else + echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable." + fi + unset wsl2_ssh_pageant_bin + fi +) + +# Reload +function gpg-reset() { + gpg-connect-agent.exe KILLAGENT /bye &>/dev/null + pkill -f 'socat.*wsl2-ssh-pageant.exe' + gpg-connect-agent.exe /bye &>/dev/null + gpg-init +} + +# Relearn card serial number +function gpg-learn { + gpg-connect-agent.exe "scd serialno" "learn --force" /bye +} + +gpg-init diff --git a/wsl/wsl.sh b/wsl/wsl.sh new file mode 100644 index 0000000..2287f15 --- /dev/null +++ b/wsl/wsl.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +WINHOME="/mnt/c/Users/$USER" +[ "$PWD" = "$WINHOME" ] && cd + +export EDITOR="code --wait" +export DOCKER_HOST=${DOCKER_HOST:-tcp://0.0.0.0:2375} +export DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME:-$HOST} + +# unalias cb 2>/dev/null +alias cb=clip.exe +alias wsl=wsl.exe +alias ykman='/mnt/c/Program\ Files/Yubico/YubiKey\ Manager/ykman.exe' +alias dmu="docker-machine-wsl" + +docker-machine-wsl() { + docker-machine-use $@ + export DOCKER_HOST=${DOCKER_HOST:-tcp://0.0.0.0:2375} + export DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME:-$HOST} +} + +wt() { + powershell.exe -NoProfile -c "wt $@" +} + +wsl_cmd_proxy() { + exe="$1" + shift # past exe + + cmd=" ${1}" + shift # past cmd + + args="" + while [[ $# -gt 0 ]]; do + case "$1" in + -*) + args+="${1} '${2}' " + shift + shift + ;; + *) + args+="'${1}'" + shift + ;; + esac + args+=" " + done + + powershell.exe -NoProfile -c 'cd $HOME;' "$exe" "$cmd" "$args" +} + +function winget { wsl_cmd_proxy "winget.exe" "$@"; } +function scoop { wsl_cmd_proxy "scoop" "$@"; } + +# https://github.com/validatedev/drop-cache-if-idle +[ -z "$(ps -ef | grep cron | grep -v grep)" ] && sudo /etc/init.d/cron start &>/dev/null -- cgit v1.2.3-70-g09d2