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 zshOlder or slower Macs, especially unsupported Monterey installs:
./bin/bootstrap-macos.sh --minimal
exec zshMinimal mode installs only zsh, Stow, Zellij, Starship, zsh plugins, and a few shell tools. It skips brew update, Alacritty, and the Nerd Font cask so one slow or unsupported GUI package does not block a usable terminal setup. Zellij is installed from its official prebuilt zellij-no-web macOS release instead of Homebrew to avoid slow source builds on older macOS versions.
If 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.
For a minimal macOS install, use:
./bin/check-health.sh --minimalThree 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 single-pane claude, codex, and
grok tabs, a code tab running Neovim, and two-pane tools and shell
tabs:
./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.