# call `zprof` to profile all calls in the current shell # Uncomment here and at the bottom of the file, then fully reopen a terminal zmodload zsh/zprof # Path additions path=( $GOPATH/bin $HOME/.cargo/bin $HOME/.local/bin $NVM_CONFIG_PREFIX/bin $path ) typeset -U path if type brew; then source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh else source /usr/share/zsh/site-functions/zsh-autosuggestions.zsh fi # Install oh-my-zsh if it doesn't exist # if [ ! -d $HOME/.oh-my-zsh/ ] # then # sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # fi ### ZSH Configuration ## Path variables # Path to your oh-my-zsh installation. # export ZSH="$HOME/.oh-my-zsh" export MANPAGER="less -R --use-color -Dd+r -Du+b" # Colored MAN pages # ZSH_THEME="fb-custom" # Uncomment the following line to use hyphen-insensitive completion. # Case-sensitive completion must be off. _ and - will be interchangeable. HYPHEN_INSENSITIVE="true" DISABLE_AUTO_UPDATE="true" ### Plugins # Install the zsh-autosuggestions plugin if it doesn't exist # if [ ! -d ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions ] # then # git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions # fi # plugins=( # zsh-autosuggestions # virtualenvwrapper # Used for autoloading project .venvs # ) # ZSH autosuggestions if type brew &>/dev/null; then fi autoload -Uz compinit compinit -u # FZF load source <(fzf --zsh) # Vim mode setup set -o vi # ZSH options setopt no_clobber # Do not clobber files by default setopt hist_ignore_all_dups # Replace old history with the newest call to an identical call setopt hist_ignore_space # Remove history lines that start with spaces setopt share_history # Share history between zsh instances without needing explicit sharing setopt auto_param_slash # Auto append a slash instead of a space if the completion is a dir # Experimental setopt append_history inc_append_history setopt no_case_glob no_case_match setopt extended_glob null_glob # Completion options # Give descriptions of what the types of completions given zstyle ':completion:*:descriptions' format '%U%B%d%b%u' # Give an actual output when there is no match zstyle ':completion:*:warnings' format '%BNo matches for: %d%b' ### User configuration export EDITOR=nvim export NVM_CONFIG_PREFIX=$HOME/.local/ # Autoload keychain for ssh-agent handling if it is installed # if command -v keychain &> /dev/null # then # eval $(keychain --eval --quiet --nogui --noask) # fi # TODO: Replace above with GPG agent # GPG Agent handling of ssh key authorization and unlocks # Inclusion of files to extend the configuration # From a theme to local specific changes, and grouping functions/aliases/exports include_files=( "$HOME/.config/zsh/fb_theme.zsh" "$HOME/.config/zsh/zsh_local.zsh" "$HOME/.config/zsh/zsh_aliases.zsh" "$HOME/.config/zsh/zsh_exports.zsh" "$HOME/.config/zsh/zsh_functions.zsh" ) for file in $include_files; do if [ ! -f $file ] then touch $file fi source $file done # Call to zprof for startup timings zprof