Personal dotfiles managed with Dotbot.
| File | Description |
|---|---|
zshrc |
Zsh config with Oh My Zsh, Powerlevel10k, and performance optimizations |
vimrc |
Vim configuration |
git clone https://github.com/YOUR_USERNAME/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./installThis will symlink the config files to your home directory.
Install these before running:
# macOS (Homebrew)
brew install zsh-autosuggestions zsh-syntax-highlighting powerlevel10k
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"cd ~/.dotfiles
git pull
./installThe install script is idempotent—run it anytime to sync changes:
./installOh My Zsh initializes completions once, including its cache invalidation and
permission checks. Register Homebrew's completion directory before loading it,
preserve inherited completion-path order, and keep both PATH and FPATH unique.
Load zsh/complist before initialization to preserve the completion-menu widget.
Running compinit again afterwards adds startup work and clears plugin completion
registrations.
On this Mac, nine-run median startup times measured in a pseudo-terminal were:
| Shell | Before | After |
|---|---|---|
Interactive zsh (zsh -ic 'exit 0') |
117 ms | 67 ms |
Login interactive zsh (zsh -lic 'exit 0') |
123 ms | 84 ms |
Bash and sh had no personal startup configuration and already started in a few milliseconds. These are full initialization timings, not time to the instant prompt; timings vary with system load and cache state.
Validation covered aliases, shell options, PATH order, completion registrations, ZLE widgets, prompt/plugins, nested-shell cache reuse, real Tab completion, and lazy Conda activation/deactivation. Bun and OpenCode settings remain enabled.
To spot-check startup from an existing terminal:
/usr/bin/time /bin/zsh -ic 'exit 0'
/usr/bin/time /bin/zsh -lic 'exit 0'