Compare commits

...

3 Commits

Author SHA1 Message Date
Icedream 56c289a05a
Add opam support. 2022-06-15 17:10:31 +02:00
Icedream 772fed9938
Implement GnuPG SSH agent support.
Replaces SSH_AUTH_SOCK with GnuPG SSH agent if already running. Otherwise, can
be forced to be used by setting ZSH_GPG_SSH_AGENT=1.
2022-06-15 17:09:14 +02:00
Icedream 4bfc1c741c
Implement fixes for gcloud. 2022-06-15 17:02:20 +02:00
1 changed files with 45 additions and 0 deletions

View File

@ -19,8 +19,11 @@ ZSH_ALIAS=${ZSH_ALIAS:-1}
ZSH_COMPAT_BASH_COMPLETION=${ZSH_COMPAT_BASH_COMPLETION:-1}
ZSH_CUSTOM=${ZSH_CUSTOM:-1}
ZSH_DEFAULT_TERM=${ZSH_DEFAULT_TERM:-1}
ZSH_GCLOUD_FIXES=${ZSH_GCLOUD_FIXES:=$(when_binary_available gcloud)}
ZSH_GPG_PINENTRY_FIX=${ZSH_GPG_PINENTRY_FIX:-1}
ZSH_GPG_SSH_AGENT=${ZSH_GPG_SSH_AGENT:-$(has_binary gpgconf && [ -z "${SSH_AUTH_SOCK:-}" ] && [ -f $(gpgconf --list-dirs agent-ssh-socket) ] && printf 1 || printf 0)}
ZSH_LOGO_LS=${ZSH_LOGL_LS:-$(when_binary_available logo-ls)}
ZSH_OPAM=${ZSH_OPAM:-$(when_binary_available opam)}
ZSH_PIPX=${ZSH_PIPX:-$(when_binary_available pipx)}
ZSH_POWERLINE="${ZSH_POWERLINE:-1}"
ZSH_PRESERVE_HISTORY="${ZSH_PRESERVE_HISTORY:-1}"
@ -166,6 +169,40 @@ if [ $ZSH_SYNTAX_HIGHLIGHTING -gt 0 ]; then
fi
section_end
# opam
section "opam"
if [ $ZSH_OPAM -gt 0 ]; then
[[ ! -r ~/.opam/opam-init/init.zsh ]] || source ~/.opam/opam-init/init.zsh >/dev/null 2>/dev/null
fi
section_end
# gcloud fixes
section "gcloud fixes"
if [ $ZSH_GCLOUD_FIXES -gt 0 ]; then
log "Overriding gcloud command"
_local_zshrc_ssh_config_needs_cleanup() {
[ ! -f ~/.ssh/config ] || grep -iq '^\s\+IdentityFile' ~/.ssh/config
}
_local_zshrc_clean_up_ssh_config() {
if [ -f ~/.ssh/config ]; then
# avoid apps such as gcloud referencing their own SSH key, we have our own hardware-backed one, damn it!
sed -i -e 's/^\(\s\+\)IdentityFile/\1# Modified by ~\/.local_zshrc\n\1#IdentityFile/i' ~/.ssh/config
fi
}
gcloud() {
command gcloud "$@"
}
if has_binary gke-gcloud-auth-plugin; then
# avoid deprecation warning about gcloud auth by simply using the new plugin
log "Setting USE_GKE_GCLOUD_AUTH_PLUGIN=True to avoid deprecation warning"
USE_GKE_GCLOUD_AUTH_PLUGIN=True
fi
fi
section_end
# symfony cli
section "symfony cli"
if [ $ZSH_SYMFONY_CLI -gt 0 ]; then
@ -203,6 +240,14 @@ if [ $ZSH_GPG_PINENTRY_FIX -gt 0 ]; then
fi
section_end
# gpg ssh agent
section "gpg ssh agent"
if [ $ZSH_GPG_SSH_AGENT -gt 0 ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
log "Changed SSH_AUTH_SOCK to $SSH_AUTH_SOCK (GnuPG SSH agent)"
gpgconf --launch gpg-agent
fi
# logo-ls
section "logo-ls"
if [ $ZSH_LOGO_LS -gt 0 ]; then