Config files for my dev setup. Managed with gnu-stow — each package directory mirrors the structure under ~.
Each package follows the stow convention:
wezterm/
└── .wezterm.lua # → ~/.wezterm.lua
<package>/
└── .config/
└── <package>/
└── config.* # → ~/.config/<package>/config.*
| Package | Tool | What it configures |
|---|---|---|
aerospace |
AeroSpace | Tiling WM — workspaces, alt-hjkl focus/move, app → workspace routing |
git |
Git | Global identity, SSH signing, delta pager, rebase-on-pull, work identity conditional include |
homebrew |
Homebrew | .Brewfile — all taps, formulas, and casks; brew bundle to install everything |
nvim |
Neovim (submodule) | Full Neovim config — tracked separately at gabrielzepeda1/nvim |
opencode |
OpenCode | AI coding agent — autoupdate, context7 MCP server |
wezterm |
WezTerm | Terminal — Catppuccin Mocha, JetBrains Mono, opacity, keybindings |
zsh |
Zsh | Shell — Starship prompt, aliases, eza/zoxide/bat/fzf, mise, plugins |
Prerequisites: git, stow (brew install stow), and any tools you want to configure.
- Clone with submodules:
git clone --recurse-submodules <repo-url> ~/dotfiles
- Stow everything or a single package:
cd ~/dotfiles stow . # all packages stow wezterm # single package
- (Optional) Add
~/.zshrc.localfor machine-specific overrides and env variables — sourced automatically by.zshrc.
- Check shell (macOS uses zsh by default):
echo $SHELL
# Should show /bin/zsh- Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- Add Homebrew to PATH (new terminal):
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"- Install stow (required for dotfiles):
brew install stow- Clone repo:
git clone --recurse-submodules <repo-url> ~/dotfiles
cd ~/dotfiles- Install all Homebrew packages from the Brewfile:
stow homebrew # symlinks ~/.Brewfile
brew bundle # installs all taps, formulas, and casks- Symlink all dotfiles:
stow .- (Optional) Add
~/.zshrc.localfor machine-specific overrides and env variables — sourced automatically by.zshrc.