fix: completing this round of updates to the zsh setup for startup

times, testing with other prompts (Pure) and cleaning up the config
files for better modularity and coherent settings.
This commit is contained in:
2026-03-29 18:34:02 -05:00
parent 72ef502512
commit cc86b9d1bd
3 changed files with 38 additions and 58 deletions

View File

@@ -1,65 +1,46 @@
# 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
# zmodload zsh/zprof
# Path additions
path=(
$GOPATH/bin
$HOME/.cargo/bin
$HOME/.local/bin
$NVM_CONFIG_PREFIX/bin
$path
)
# De-dupe path entries
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
path=($^path(N-/))
# 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
if [ ! -d $HOME/.oh-my-zsh/ ]
then
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fi
autoload -Uz compinit
compinit -u
export ZSH="$HOME/.oh-my-zsh"
# FZF load
source <(fzf --zsh)
# 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=(
fzf
zsh-autosuggestions
# zsh-syntax-highlighting
virtualenvwrapper
)
# Disable the startup update checks
zstyle ':omz:update' mode disabled
ZSH_THEME="fb-custom"
# Hyphen insensitive completion, `-` and `_` are treated as interchangeable
HYPHEN_INSENSITIVE="true"
# Vim mode setup
set -o vi
@@ -70,11 +51,11 @@ setopt hist_ignore_all_dups # Replace old history with the newest call to an ide
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
setopt extended_glob null_glob
# Completion options
# Give descriptions of what the types of completions given
@@ -82,24 +63,19 @@ 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
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/fb_theme.zsh"
"$HOME/.config/zsh/zsh_local.zsh"
"$HOME/.config/zsh/zsh_aliases.zsh"
"$HOME/.config/zsh/zsh_exports.zsh"
@@ -115,6 +91,7 @@ for file in $include_files; do
source $file
done
source $ZSH/oh-my-zsh.sh
# Call to zprof for startup timings
zprof
# zprof