Your current .zshrc has been reorganized into modular files. Here's where everything went:
Old location: Directly in ~/.zshrc
New location: zsh/oh-my-zsh.zsh
# Your Oh My Zsh settings are now in:
zsh/oh-my-zsh.zsh
- ZSH theme (robbyrussell)
- zsh-vi-mode plugin configuration
- Vi mode escape key (kj)Old location: Scattered throughout ~/.zshrc
New location: zsh/version-managers.zsh
# All version managers in one place:
zsh/version-managers.zsh
- Homebrew shellenv
- pyenv (Python)
- nvm (Node.js)
- SDKMAN (Java/Kotlin/Scala)
- mise (optional, commented out)Old location: Multiple PATH exports in ~/.zshrc
New location: zsh/path.zsh
zsh/path.zsh
- Postgres.app
- ~/Applications
- ~/.local/bin
- Dotfiles scriptsOld location: Hardcoded in ~/.zshrc
New location: ~/.zshrc.local (NOT version controlled)
These items should go in ~/.zshrc.local:
LOCALSTACK_AUTH_TOKENAWS_VAULT_KEYCHAIN_NAMEAWS_VAULT_PROMPTFOREFLIGHT_SERVER_DIR- Custom PATH for deployer scripts
- duster source
.local/bin/envsource
Old location: ~/.zshrc
New location: zsh/aliases.zsh
Your sprof alias is already included!
cp ~/.zshrc ~/.zshrc.backup
cp ~/.zshrc.local ~/.zshrc.local.backup 2>/dev/null || true# Copy the example
cp ~/.dotfiles/.zshrc.local.example ~/.zshrc.local
# Edit and add your secrets
$EDITOR ~/.zshrc.localAdd these lines to ~/.zshrc.local:
# LocalStack
export LOCALSTACK_AUTH_TOKEN="ls-jAHeSewe-BiGu-7813-0452-QuMAjIJU1a44"
# AWS Vault
export AWS_VAULT_KEYCHAIN_NAME=login
export AWS_VAULT_PROMPT=osascript
# ForeflightServer
export FOREFLIGHT_SERVER_DIR=/Users/toverly/foreflight
# Custom paths
export PATH="$PATH:$HOME/code/server/scripts/deployer"
# Custom sources
if [ -f ~/code/duster/dust ]; then
source ~/code/duster/dust all
fi
if [ -f "$HOME/.local/bin/env" ]; then
. "$HOME/.local/bin/env"
fiYou need the zsh-vi-mode plugin:
# Install zsh-vi-mode
git clone https://github.com/jeffreytse/zsh-vi-mode \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-vi-modecd ~/code/dotfiles
./scripts/bin/dotfiles-install# Reload your shell
source ~/.zshrc
# Test that everything loads
echo "Dotfiles dir: $DOTFILES_DIR"
echo "Pyenv: $(which pyenv)"
echo "Node: $(which node)"
echo "Oh My Zsh: $ZSH"# Check version managers work
pyenv --version
nvm --version
sdk version
# Check paths
which postgres
echo $FOREFLIGHT_SERVER_DIR
# Check aliases
alias sprof- Modular: Each concern has its own file
- Maintainable: Easy to find and update specific settings
- Version Controlled: Everything except secrets is in git
- Portable: Install on new machines with one command
- Organized: AI workflows, scripts, and configs all have homes
Files are loaded in this order:
version-managers.zsh- So tools are available earlypath.zsh- Set up PATHeditor.zsh- Editor settingsshell.zsh- Shell behavioroh-my-zsh.zsh- Oh My Zsh and pluginsaliases.zsh- Command aliasesai.zsh- AI workflow configs~/.zshrc.local- Your local overrides (last, so you can override anything)
# Check if Oh My Zsh is installed
ls -la ~/.oh-my-zsh
# If not installed:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# Install the plugin
git clone https://github.com/jeffreytse/zsh-vi-mode \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-vi-mode
# Reload
source ~/.zshrc# Check if they're installed
which pyenv
which nvm
sdk version
# If not, install them first before using the dotfilesCheck your ~/.zshrc.backup for any custom functions or configurations that weren't migrated. Add them to ~/.zshrc.local or create a new module in zsh/.