26 lines
843 B
Bash
Executable File
26 lines
843 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
start_keychain() {
|
|
local ssh_key="$1"
|
|
local gpg_key="$2"
|
|
# 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 agents
|
|
eval "$(keychain --quiet --nogui $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
|
|
}
|
|
|
|
# start_keychain "$HOME/.ssh/id_ed25519_nymph" "9DDD59AD62494FB2"
|