export PATH="$PATH:$HOME/bin:$HOME/projects/zig" # initialise completions with ZSH's compinit autoload -Uz compinit && compinit typeset -i updated_at=$(date +'%j' -r ~/.zcompdump 2>/dev/null || stat -f '%Sm' -t '%j' ~/.zcompdump 2>/dev/null) if [ $(date +'%j') != $updated_at ]; then compinit -i else compinit -C -i fi zmodload -i zsh/complist if ! [[ -e ${ZDOTDIR:-~}/.antidote ]]; then git clone https://github.com/mattmc3/antidote.git ${ZDOTDIR:-~}/.antidote fi # source antidote and load plugins from `${ZDOTDIR:-~}/.zsh_plugins.txt` source ${ZDOTDIR:-~}/.antidote/antidote.zsh antidote load export ASDF_DIR="$HOME/.asdf" [ -f "$ASDF_DIR/asdf.sh" ] && . "$ASDF_DIR/asdf.sh" # append completions to fpath fpath=(${ASDF_DIR}/completions $fpath) HISTFILE=$HOME/.zsh_history HISTSIZE=100000 SAVEHIST=$HISTSIZE export EDITOR=vim bindkey -e # force emacs mode setopt hist_ignore_all_dups # remove older duplicate entries from history setopt hist_reduce_blanks # remove superfluous blanks from history items setopt inc_append_history # save history entries as soon as they are entered setopt share_history # share history between different instances of the shell setopt auto_cd # cd by typing directory name if it's not a command setopt auto_list # automatically list choices on ambiguous completion setopt auto_menu # automatically use menu completion setopt always_to_end # move cursor to end if word had one match # nvm export NVM_LAZY_LOAD=true # fzf export FZF_DEFAULT_COMMAND='rg --files' export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_CTRL_T_OPTS="--preview 'bat --color=always --style=numbers --line-range=:500 {}'" [ -f /usr/local/share/fzf/bash/key-bindings.zsh ] && source /usr/local/share/fzf/bash/key-bindings.zsh [ -f /usr/local/share/fzf/bash/completion.zsh ] && source /usr/local/share/fzf/bash/completion.zsh _gen_fzf_default_opts() { local color00='#1d1f21' local color01='#282a2e' local color02='#373b41' local color03='#969896' local color04='#b4b7b4' local color05='#c5c8c6' local color06='#e0e0e0' local color07='#ffffff' local color08='#cc6666' local color09='#de935f' local color0A='#f0c674' local color0B='#b5bd68' local color0C='#8abeb7' local color0D='#81a2be' local color0E='#b294bb' local color0F='#a3685a' export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS"\ " --color=bg+:$color01,bg:$color00,spinner:$color0C,hl:$color0D"\ " --color=fg:$color04,header:$color0D,info:$color0A,pointer:$color0C"\ " --color=marker:$color0C,fg+:$color06,prompt:$color0A,hl+:$color0D" } _gen_fzf_default_opts DIRSTACKSIZE=8 setopt autopushd pushdminus pushdsilent pushdtohome alias dh='dirs -v' eval $(keychain --eval --quiet id_ed25519) #source $HOME/.config/broot/launcher/bash/br export GPG_TTY=$(tty) export TERM=xterm-256color alias config='git --git-dir=$HOME/.cfg/ --work-tree=$HOME' alias ls='ls --color=always' [ -f $HOME/.zshrc.local ] && source $HOME/.zshrc.local eval "$(starship init zsh)" # Automatically added by the Guix install script. if [ -n "$GUIX_ENVIRONMENT" ]; then if [[ $PS1 =~ (.*)"\\$" ]]; then PS1="${BASH_REMATCH[1]} [env]\\\$ " fi fi export LS_COLORS="$(vivid generate one-dark)" eval "$(direnv hook zsh)"