Files
dotfiles/zsh/zshrc
FaultyBranches baa8f03870 fix: Updating the zshrc file to remove the explicit MacOS homebrew paths
from the shell path and relying upon local overrides for adding these
(prompted by additional needs on MacOS to override things like gnu-sed
and other binaries to use updated and standard binary calls)
2026-08-17 08:59:37 -05:00

92 lines
2.4 KiB
Bash

# 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=(
"$GOPATH/bin"
"$HOME/.cargo/bin"
"$HOME/.local/bin"
$path
)
# De-dupe path entries
typeset -U path
# 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
export ZSH="$HOME/.oh-my-zsh"
# Install the zsh-autosuggestions plugin if it doesn't exist
if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]
then
git clone https://github.com/zsh-users/zsh-autosuggestions "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions"
fi
plugins=(
fzf
virtualenvwrapper
zsh-autosuggestions
)
# Disable the startup update checks
zstyle ':omz:update' mode disabled
export ZSH_THEME="fb-custom"
# Hyphen insensitive completion, `-` and `_` are treated as interchangeable
export HYPHEN_INSENSITIVE="true"
# 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 smoothly
setopt auto_param_slash # Auto append a slash instead of a space if the completion is a dir
setopt extended_glob null_glob # Use Bash-like globbing
# Experimental
setopt no_case_glob no_case_match
# 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'
# Autoload keychain for ssh-agent handling if it is installed
if command -v keychain &> /dev/null
then
eval "$(keychain --eval --quiet --nogui --noask)"
fi
# Inclusion of files to extend the configuration
# From a theme to local specific changes, and grouping functions/aliases/exports
include_files=(
".config/zsh/zsh_local.zsh"
".config/zsh/zsh_aliases.zsh"
".config/zsh/zsh_exports.zsh"
".config/zsh/zsh_functions.zsh"
)
for file in "${include_files[@]}"; do
full_path="$HOME/$file"
if [ ! -f "$full_path" ]; then
touch "$full_path"
fi
source "$full_path"
done
source "$ZSH/oh-my-zsh.sh"
# Call to zprof for startup timings
# zprof