Files
dotfiles/zsh/zshrc
FaultyBranches a2b5bc9e0d fix: Updating with double quotations after determining the issue was
with the optional overwriting of the oh-my-zsh plugin install not
playing well. Removed the overwriting as it is not needed.
2026-08-17 06:05:40 -05:00

95 lines
2.5 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=(
/opt/homebrew/bin
/opt/homebrew/sbin
"$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 without needing explicit sharing
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 append_history inc_append_history
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