Setting up a new machine sucks. I hate it, so I've taken the time to set up these dotfiles, which are managed via chezmoi. Future me: you're welcome. Keep this up to date, or you'll regret it!
| Category | Tools | Description |
|---|---|---|
| Shell | Zsh + Oh My Zsh |
The backbone shell, clean and modularized. |
| Runtimes | mise |
Fast, shimless polyglot version manager (Ruby, Node). |
| Terminal | Ghostty |
Fast, GPU-accelerated, modern terminal emulator. |
| Editor | Helix (hx) |
Modern modal editor with built-in LSP support ($EDITOR). |
| Git Engine | git-delta |
Modern, syntax-highlighted side-by-side diffs. |
| Security | 1Password |
Cryptographic Git commit signing & SSH agent integration. |
The repository is modularly structured to enforce clean separation of concerns:
.local/share/chezmoi/
├── private_dot_config/
│ ├── ghostty/
│ │ └── config # Terminal layout, theme, & shortcuts
│ ├── helix/
│ │ └── config.toml # Line numbers, LSP, mouse support
│ ├── homebrew/
│ │ └── Brewfile # Universal package manifest (apps, CLI, casks)
│ └── zsh/
│ ├── aliases.zsh # Shorthand Git, Rails, & system shortcuts
│ └── tools.zsh # Modern Rust tools & runtime hooks (mise, zoxide)
├── dot_gitconfig # Git settings, 1Password signing, Delta config
├── dot_gitignore # Global project ignore rules
└── dot_zshrc # System environment, pathing, & plugin loader
To replicate this exact environment on a brand-new Mac:
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply AudTheCodeWitchThis will:
- Install Homebrew
- Fetch CLI packages via
Brewfile - Set up
misefor Ruby & Node version management - Clone custom Zsh plugins
- Link all dotfiles to your home directory
Open 1Password from Applications, sign into your account, and enable:
- Settings → Developer → Use 1Password SSH Agent
- Settings → Developer → Integrate with 1Password CLI
eval "$(/opt/homebrew/bin/brew shellenv)" && chezmoi apply && exec zsh- Edit file:
chezmoi edit <path-in-home>(e.g.,chezmoi edit ~/.zshrc) - Inspect drift:
chezmoi diff - Apply live:
chezmoi apply - Check status:
chezmoi status
cd $(chezmoi source-path)
git add .
git commit -m "feat: update system configurations"
git push origin mainls/ll- Displays directory listings with Git status integration viaeza.cat [file]- Syntax-highlights files in terminal viabat.df- Visual disk usage statistics viaduf.z [dir]- Teleports to frequently visited folders viazoxide.Ctrl + R- Triggers a visual fuzzy-search interface for history viafzf.
g- Universal gateway to custom.gitconfigaliases.g st- Highly condensed, clean Git status.g lg- Graphical commit tree.g oops- Amends staged edits into last commit without prompt.
be-bundle execrc-bundle exec rails consoledbm-bundle exec rails db:migratedev- Spins up modernbin/devor Overmind tasks cleanly.lzd- Launches visual terminal manager for Docker vialazydocker.