Modern macOS terminal stack: Ghostty + Catppuccin, tmux, starship prompt, and a curated set of CLI replacements and security tools.
git clone https://github.com/eilonc-pillar/dotfiles.git ~/Documents/GitHub/dotfiles
cd ~/Documents/GitHub/dotfiles
./install.shThe installer is idempotent — safe to re-run at any time.
If you use Claude Code, you can install interactively:
/dotfiles:install
This fetches configs from GitHub and lets you pick which components to install.
| Tool | Description |
|---|---|
| Ghostty | GPU-accelerated terminal with Catppuccin theme, transparency, quick terminal |
| JetBrains Mono Nerd Font | Monospace font with ligatures and icon glyphs |
| tmux | Terminal multiplexer with Catppuccin status bar and session persistence |
| Starship | Minimal prompt with git status, language versions, Catppuccin colors |
| Alias | Tool | Replaces |
|---|---|---|
ls, ll, lt |
eza | ls — icons, tree view, git status |
cat |
bat | cat — syntax highlighting, line numbers |
grep |
ripgrep | grep — fast regex search |
find |
fd | find — fast file finder |
diff |
delta | diff — side-by-side diffs with syntax highlighting |
dig |
doggo | dig — modern DNS client |
md |
glow | — — render markdown in terminal |
cd (via z) |
zoxide | cd — smart directory jumping |
| Ctrl+T | fzf | — — fuzzy file/directory finder |
| Alias | Tool | Purpose |
|---|---|---|
secrets |
gitleaks | Scan git history for secrets |
scan |
semgrep | Static analysis with auto-config |
vulns |
trivy | Scan for vulnerabilities, secrets, misconfigs |
| — | httpie | Human-friendly HTTP client |
| — | mitmproxy | Interactive HTTPS proxy for debugging |
- Delta as default pager — side-by-side diffs, syntax highlighting, Catppuccin theme
- Gitleaks pre-push hook — blocks pushes containing secrets
| File | Installs to | Safe to overwrite? |
|---|---|---|
configs/ghostty/config |
~/Library/Application Support/com.mitchellh.ghostty/config |
Yes |
configs/starship.toml |
~/.config/starship.toml |
Yes |
configs/tmux.conf |
~/.tmux.conf |
Yes |
configs/zshrc |
Sourced from ~/.zshrc |
Yes (snippet, not full replacement) |
configs/gitconfig-delta |
Merged into ~/.gitconfig via git config |
Yes (additive) |
hooks/pre-push |
~/.dotfiles/hooks/pre-push |
Yes |
The installer backs up existing files before overwriting (.backup.<timestamp> suffix).
configs/zshrc is a sourceable snippet, not a full .zshrc replacement. The installer appends a source line to your existing ~/.zshrc, preserving your PATH entries, completions, and other customizations.
| Key | Action |
|---|---|
| `Cmd+`` | Toggle quick terminal (drops down from top) |
| Key | Action |
|---|---|
Ctrl+a |
Prefix (replaces default Ctrl+b) |
Prefix | |
Split pane horizontally |
Prefix - |
Split pane vertically |
Alt+Arrow |
Navigate panes (no prefix needed) |
Prefix Alt+Arrow |
Resize pane |
Prefix r |
Reload config |
Prefix I |
Install/update TPM plugins |
Prefix [ |
Enter copy mode (vi keys, v to select, y to copy) |
| Key | Action |
|---|---|
Ctrl+T |
Fuzzy find files |
Ctrl+R |
Fuzzy search command history |
Alt+C |
Fuzzy find and cd into directory |
Add overrides after the source line in your ~/.zshrc:
source "$HOME/.dotfiles/configs/zshrc"
# Override: use eza without icons
alias ls="eza --group-directories-first"The configs use Catppuccin Mocha (dark). To switch to Latte (light), Frappe, or Macchiato:
- Starship: Change
paletteand[palettes.*]section inconfigs/starship.toml - fzf: Update the
FZF_DEFAULT_OPTScolors inconfigs/zshrc - bat: Download the matching
.tmThemefrom catppuccin/bat - tmux: Change
@catppuccin_flavorinconfigs/tmux.conf - Ghostty: Already auto-switches between Latte/Mocha based on macOS appearance
git config --global --unset core.hooksPathOr for a single repo:
git config --local core.hooksPath ""- macOS (Homebrew-based installer)
- Ghostty terminal (for the Ghostty config; other configs work in any terminal)