Change SSH agent startup

This commit is contained in:
Fabio Scotto di Santolo
2025-07-05 14:37:20 +02:00
parent 9e997c2cdf
commit 302f423720
2 changed files with 41 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
#!/bin/sh
# This script sets up ssh-agent and gpg-agent differently for WSL and Linux Mint.
# On WSL, it uses keychain to start agents.
# On Linux Mint (or other Linux), it assumes gnome-keyring manages agents automatically.
# Detect if running inside WSL by checking /proc/version for "Microsoft"
if grep -qi microsoft /proc/version; then
IS_WSL=true
else
IS_WSL=false
fi
if [ "$IS_WSL" = true ]; then
# We are in WSL - start keychain for ssh and gpg agents
# Adjust these variables to your actual SSH and GPG key names
SSH_KEY="$HOME/.ssh/id_rsa_deadalus"
GPG_KEY=9DDD59AD62494FB2
# Check if keychain is installed
if command -v keychain >/dev/null 2>&1; then
SHORT_HOST=${SHORT_HOST:-${(%):-%m}}
# Start keychain quietly with no GUI prompts for ssh and gpg agents
eval "$(keychain --quiet --nogui --agents ssh,gpg $SSH_KEY $GPG_KEY)"
# Get the filenames to store/lookup the environment from
_keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh"
_keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg"
# Source environment settings.
[ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
[ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
else
echo "Warning: keychain is not installed. Please install keychain to manage ssh/gpg agents."
fi
else
# Not WSL - assume gnome-keyring handles ssh-agent and gpg-agent
# Do nothing here to avoid conflicts with gnome-keyring
:
fi

View File

@@ -77,7 +77,6 @@ plugins=(
colored-man-pages colored-man-pages
command-not-found command-not-found
gitignore gitignore
keychain
mise mise
zoxide zoxide
zsh-interactive-cd zsh-interactive-cd