Dotfiles setup using Stow. Yes, everything is in ~/Developer just to get the fancy little Finder icon.
- Shell: zsh
- Terminal: Ghostty
- Multiplexer: tmux
- Agents: OpenCode
- Editors: Neovim, Zed
-
Clone this repository:
git clone <your-repo-url> ~/Developer/environment cd ~/Developer/environment
-
Backup existing configs (optional):
mv ~/.zshrc ~/.zshrc.backup mv ~/.gitconfig ~/.gitconfig.backup mv ~/.config/nvim ~/.config/nvim.backup mv ~/.config/ghostty ~/.config/ghostty.backup mv ~/.config/tmux ~/.config/tmux.backup mv ~/.config/opencode ~/.config/opencode.backup mv ~/.config/zed ~/.config/zed.backup mv ~/.codex ~/.codex.backup mv ~/.ssh/config ~/.ssh/config.backup
-
Create symlinks with Stow:
cd ~/Developer stow -t ~ environment
-
Verify symlinks:
ls -la ~/.zshrc ~/.gitconfig ~/.config/nvim ~/.config/ghostty ~/.config/tmux ~/.config/opencode ~/.config/zed ~/.codex ~/.ssh/config
- Entry command:
t(create or attach todev) - Detach/reattach:
- Detach:
Ctrl+Spacethend - Reattach: run
tagain - If already inside tmux,
tswitches your client todev
- Detach:
- Default session/window:
dev/environment - Reset/rebuild layout:
treset - New page/window:
Ctrl+Spacethenc(creates a newenvironmentwindow with the same layout) - Default layout:
- left pane:
nvim - right pane:
opencode(TMUX_RIGHT_PANE_PERCENT=50) - bottom pane: terminal shell (
TMUX_BOTTOM_PANE_PERCENT=22)
- left pane:
- Status bar spacing: two-line top status bar with a blank second line for visual padding above panes
# Create symlinks
cd ~/Developer && stow -t ~ environment
# Remove symlinks
cd ~/Developer && stow -D -t ~ environment
# Re-create symlinks (useful after updates)
cd ~/Developer && stow -R -t ~ environment
# Check what would be symlinked (dry run)
cd ~/Developer && stow -n -v -t ~ environment- Copy config files to
~/Developer/environment/ - Remove originals from home directory
- Run
stow -R -t ~ environmentto create symlinks
Symlinks not working?
- Ensure you're running stow from
~/Developer - Check target directory with
stow -n -v -t ~ environment
Configs not loading?
- Restart your shell:
exec zsh - Check symlink targets:
ls -la ~/.zshrc
Want to start fresh?
- Remove symlinks:
stow -D -t ~ environment - Delete and re-clone repository
- Re-run setup steps