Unix-philosophy dotfiles managed with chezmoi.
Design principles: Fast startup (~37ms), composable tools, minimal config, text over databases.
- macOS (Apple Silicon) — zsh, Homebrew, mise
- Linux (WSL2/Fedora) — bash, systemd, KDE/GNOME
- Windows 11 — PowerShell 7, winget
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply KevinTCoughlinwinget install twpayne.chezmoi
chezmoi init --apply KevinTCoughlin| Component | Tool | Config |
|---|---|---|
| Shell | zsh (no framework) | ~300 lines |
| Prompt | starship (minimal) | ~70 lines |
| Terminal | wezterm | ~210 lines |
| Editor | neovim + lazy.nvim | - |
| Runtimes | mise | see below |
Single tool replaces fnm/pyenv/SDKMAN:
Node, Python, Java (Temurin), Go, Ruby, Rust, Bun, Deno, Zig, SwiftFormat, SwiftLint
mise list # installed versions
mise use node@25 # project-local
mise use --global go # global default
mise upgrade --all # update all- No Oh My Zsh — plain zsh with manual config
- Cached tool inits (
~/.cache/zsh/) with auto-invalidation on binary updates - Single version manager (mise) instead of fnm/pyenv/SDKMAN
- Completions: compinit -C (cached .zcompdump)
| Standard | Replacement |
|---|---|
| ls | eza |
| cat | bat (smart: bat in tty, cat in pipes) |
| grep | ripgrep |
| find | fd |
| cd | zoxide |
| top | btop |
| ps | procs |
| dig | doggo |
| make | just |
| history | atuin |
| Category | Aliases |
|---|---|
| Git | gs ga gc gp gd gl lg |
| GitHub CLI | prc prl prv prco prm iss isc csl css |
| Just | j jl je jc ju |
| Claude CLI | ai aic aim air |
| Editors | vim/vi (nvim), em et ek (emacs) |
| OBS/Streaming | stream rec scenes ss |
| Network | ports myip localip flushdns vpn |
| Apple Dev | xc sim dd ddclean xopen |
| Android Dev | gw gwb gwc adbd adblog emu |
| Godot Dev | godot-run gdf gdl gdfmt |
| Tools | ll lt dev ps dns bench |
ai "question" # prompt
aic # continue session
aim "question" # fast (haiku)
air # resume
review # review git diff
gcai # AI-generated commit message
explain <cmd> # explain command output
aif # fzf file + claude| Key | Action |
|---|---|
Ctrl-R |
fuzzy history search |
Ctrl-T |
fuzzy file finder (with preview) |
Alt-C |
fuzzy cd (with tree preview) |
inbox "thought" # timestamped entry to ~/inbox.txt
inbox # view inbox
inbox-process # AI prioritize + categorize├── dot_zshrc # shell config (~300 lines)
├── dot_config/
│ ├── starship.toml # prompt (~70 lines)
│ ├── wezterm/ # terminal (~210 lines)
│ ├── nvim/ # neovim
│ ├── mise/config.toml # runtime versions
│ └── greet/quotes.txt # greeting quotes
├── dot_local/bin/ # scripts
├── Brewfile # homebrew packages
├── CLAUDE.md # AI assistant context
└── CLAUDE-{darwin,linux,windows}.md
chezmoi apply # apply changes
chezmoi diff # preview changes
chezmoi add <file> # track new file
chezmoi edit <file> # edit managed file
chezmoi cd # go to source dir
chezmoi git push # push to GitHubIf you find this useful, consider sponsoring.
MIT