Modular ZSH and Vim configurations for macOS and Linux with machine-specific customization support.
# clone this repo to /projects/dev-environment
cd ~/projects/dev-environment
./install.shThe installer backs up existing configs, creates symlinks, and prompts for your machine type.
- Custom keybindings (see
zsh/widgets.zsh-⚠️ some override defaults) - Git workflow functions:
update-main(alias:gum),backup-branch,reset-branch-to-origin,rebase-on - Enhanced shell history: 10M line buffer, timestamps, shared across sessions
- Machine-specific configs: Set
MACHINEvariable in.zshrcto load appropriate paths/tools
Install these before using:
- Oh-My-Zsh
- zsh-completions plugin
- fzf (fuzzy finder)
- the_silver_searcher (ag)
- Linux only:
xclipfor clipboard support
Install based on your needs (see machine configs for what's included):
- pyenv
- poetry
- nvm
- SDKMAN
- AWS CLI
- Homebrew
- Homebrew multi-user issues: See this guide. Note:
brewalias inzsh/aliases.zshruns as usernickengelhardt- modify as needed.
- Homebrew multi-user issues: See this guide. Note:
Custom keybindings that override ZSH defaults (see zsh/widgets.zsh to disable):
| Key | Custom | Default | Line to Comment |
|---|---|---|---|
| Ctrl+W | Copy pwd to clipboard | Delete word | 7-8 |
| Ctrl+F | Toggle sudo | Move forward char | 19-20 |
| Ctrl+D | Delete next word | Delete char/exit | 26 |
| Ctrl+S | Forward history search | Stop output | 31 |