aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/wsl
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2021-11-15 03:51:19 -0600
committerToby Vincent <tobyv13@gmail.com>2021-11-15 03:51:19 -0600
commit00a699c41b24e6149fdf7d12ad15cb1a77024bb1 (patch)
tree1988f8b2fac44587f43ebfd1a05c06dae2f61380 /wsl
parentf3096c5a63b1a6fb007c7a0dc522866d1fd0b320 (diff)
refactor: moved everything to symlinks
Diffstat (limited to 'wsl')
-rwxr-xr-xwsl/gpg.sh61
-rw-r--r--wsl/wsl.sh56
2 files changed, 117 insertions, 0 deletions
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