if test "$NEED_WSL_SOCAT" = "1" # WSL Socket forwarding if begin status is-interactive; and string sub (uname -r) WSL >/dev/null end # Commands to run in interactive sessions can go here # Channel Pageant to WSL2 set -x SSH_AUTH_SOCK "$HOME/.ssh/agent.sock" if not ss -a | grep -q "$SSH_AUTH_SOCK" rm -f "$SSH_AUTH_SOCK" set wsl2_ssh_pageant_bin "$HOME/.ssh/wsl2-ssh-pageant.exe" if test -x "$wsl2_ssh_pageant_bin" 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." end set --erase wsl2_ssh_pageant_bin end # machina else if not set -q SSH_AUTH_SOCK or string match -q "$HOME/.cache/keyring-*/ssh" $SSH_AUTH_SOCK set -gx SSH_AUTH_SOCK {$XDG_RUNTIME_DIR}gnupg/S.gpg-agent.ssh end end