dotfiles/dot_config/zsh/dot_zshrc
2023-07-25 14:03:33 -04:00

67 lines
1.9 KiB
Plaintext

### This configuration makes zsh fully "XDG compliant". One change is needed to
### /etc/zsh/zshenv (or equivalent upstream profile):
### `export ZDOTDIR="$HOME"/.config/zsh`
#
# Lines configured by zsh-newuser-install
export HISTFILE="$XDG_STATE_HOME"/zsh/history
mkdir -p "$(dirname $HISTFILE)"
HISTSIZE=1000
SAVEHIST=1000
setopt autocd
unsetopt beep
bindkey -v
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename "$ZDOTDIR/.zshrc"
autoload -Uz compinit
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
# End of lines added by compinstall
prependpath() {
case ":$PATH:" in
*:"$1":*)
;;
*)
PATH="$1:${PATH:+$PATH}"
esac
}
prependpath ~/bin
prependpath ~/repos/xxtools
### User configuration
# prompt configuration
autoload -Uz vcs_info
precmd_vcs_info () { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
zstyle ':vcs_info:*' formats ' %F{green}%b'
PROMPT='%F{yellow}%n@%m %F{white}%1~%(?.. %?) $ '
RPROMPT='%f$vcs_info_msg_0_ '
alias bt='bluetoothctl'
alias c='clear'
alias daybreak='mosh daybreak -p 60101'
alias epoch='mosh epoch -p 60104'
alias grc='gridcoinresearchd'
alias l='exa -lh --git --all --octal-permissions'
alias ls='exa'
alias lsa='exa -a'
alias lss='exa -a'
alias xrm='sudo xbps-remove'
# GPG setup (and SSH)
if command -v keychain >/dev/null; then
alias keychain='keychain --dir "$XDG_RUNTIME_DIR" --absolute'
eval `keychain --quiet --eval --agents gpg D7F966B85D985743C76A17AC5A9572AE7B2E7E1C`
fi
if command -v gpgconf >/dev/null; then
SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
export SSH_AUTH_SOCK
fi
### End user configuration
### hooks/includes
. /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
. /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
. /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh