Terminal development environment: Alacritty, zsh, Starship, Zellij. Neovim is in a separate repo.
Replaces Oh My Zsh and Powerlevel10k with plain zsh, direct plugin loading, and Starship.
git clone <this-repo> ~/dotfiles
cd ~/dotfilesThe bootstrap script installs all dependencies, backs up any existing configs, deploys dotfiles via GNU Stow, and sets zsh as the default shell.
Ubuntu:
./bin/bootstrap-ubuntu.sh
exec zshmacOS (requires Homebrew):
./bin/bootstrap-macos.sh
exec zshIf you had Oh My Zsh or Powerlevel10k, the bootstrap backs up your old ~/.zshrc to ~/.dotfiles-backup/<timestamp>/ and tells you when ~/.oh-my-zsh and ~/.p10k.zsh are safe to remove.
./bin/check-health.shThis checks that all binaries are installed, symlinks point into the repo, and plugin files exist at expected paths.
Three built-in layouts:
dev.kdl—agents+code(nvim) +shelltabsreview.kdl—review(nvim) +agents+gittabsshell.kdl— plain two-pane workspace
zellij -l ~/.config/zellij/layouts/dev.kdlGenerate a project-specific layout with:
./bin/new-zellij-project-layout.sh bridge ~/Work/bridge
zellij -l ~/.config/zellij/layouts/projects/bridge.kdlGenerated project layouts set the Zellij session name to the layout name and reattach if that session already exists.
Use --force to overwrite an existing layout.
Remove symlinks and restore backed-up configs:
cd ~/dotfiles
stow -D zsh zellij alacritty starship
# then restore from ~/.dotfiles-backup/<timestamp>/ if neededThe Ubuntu bootstrap pins tool versions not available in apt. Update these at the top of bin/bootstrap-ubuntu.sh:
| Tool | Variable | Current |
|---|---|---|
| Starship | STARSHIP_VERSION |
1.22.1 |
| Zellij | ZELLIJ_VERSION |
0.43.1 |
| Nerd Font | NERD_FONT_VERSION |
3.3.0 |
Not managed here. These dotfiles assume nvim is on PATH and wire it into the shell and Zellij layouts.