Complete dotfiles and provisioning scripts for macOS development environment.
Tools & Applications:
- tmux, fzf, zoxide, neovim, zed, git
- Oh My Zsh, Powerlevel10k, zsh-syntax-highlighting
- NVM (Node Version Manager)
- Rust & Cargo
- JetBrains Mono & Commit Mono Nerd Fonts
Configuration Files:
- Zsh (aliases, functions, PATH)
- Git (user info, aliases)
- Tmux (keybindings, plugins, Gruvbox theme)
- Neovim, Zed, Ghostty
- Custom scripts (tmux-sessionizer, ready-tmux)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"git clone <your-repo-url> ~/env-provision
cd ~/env-provision./runs/00-install-dependenciesThis installs all required tools, fonts, and frameworks.
./runThis symlinks all config files to their proper locations.
Close and reopen your terminal to load the new configuration.
p10k configureAll config files in this repo are symlinked to your home directory. This means:
- Edit files in
~/env-provision→ changes apply immediately - Your home directory stays clean (no duplicate configs)
- Easy to version control and sync across machines
Structure:
env-provision/
├── .zshrc → ~/.zshrc
├── .config/
│ ├── git/ → ~/.config/git/
│ ├── tmux/ → ~/.config/tmux/
│ ├── nvim/ → ~/.config/nvim/
│ ├── zed/ → ~/.config/zed/
│ └── ghostty/ → ~/.config/ghostty/
└── .local/
├── scripts/ → ~/.local/scripts/
└── vaults/ → ~/.local/vaults/
- Edit any config file in
~/env-provision - Changes apply immediately (symlinks)
- Commit and push to keep in sync
To add new tools/configs:
- Add config files to
.config/or.local/ - Update
runs/01-symlink-configsto include the new directory - Add dependencies to
runs/00-install-dependenciesif needed
- 00-install-dependencies - Install all tools/dependencies (run once)
- 01-symlink-configs - Symlink all config files (run via
./run) - 02-refresh-tmux-plugins - Clean and reinstall tmux plugins
- run - Main script that executes all numbered scripts in order
Work-specific paths: Edit .local/scripts/tmux-sessionizer to add your project directories.
Fonts: Zed and Ghostty configs reference JetBrains Mono and Commit Mono Nerd Fonts (installed automatically).
Shell errors after install: Make sure you restarted your terminal.
Missing fonts in Zed/Ghostty: Run brew install --cask font-jetbrains-mono-nerd-font font-commit-mono-nerd-font
tmux plugins not loading: Run ./runs/02-refresh-tmux-plugins to cleanly reinstall all plugins.