Skip to content

Repository files navigation

Dotfiles

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.

Setup

1. Clone

git clone <this-repo> ~/dotfiles
cd ~/dotfiles

2. Run bootstrap

The 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 zsh

macOS (requires Homebrew):

./bin/bootstrap-macos.sh
exec zsh

Older or slower Macs, especially unsupported Monterey installs:

./bin/bootstrap-macos.sh --minimal
exec zsh

Minimal 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.

3. Verify

./bin/check-health.sh

This 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 --minimal

Zellij Layouts

Three built-in layouts:

  • dev.kdlagents + code (nvim) + shell tabs
  • review.kdlreview (nvim) + agents + git tabs
  • shell.kdl — plain two-pane workspace
zellij -l ~/.config/zellij/layouts/dev.kdl

Project layouts

Generate 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.kdl

Generated 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.

Uninstall

Remove symlinks and restore backed-up configs:

cd ~/dotfiles
stow -D zsh zellij alacritty starship
# then restore from ~/.dotfiles-backup/<timestamp>/ if needed

Pinned Versions (Ubuntu)

The 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

Neovim

Not managed here. These dotfiles assume nvim is on PATH and wire it into the shell and Zellij layouts.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages