Shell and terminal
zsh without a framework, the Starship prompt and Ghostty; your ~/.zshrc stays yours.
zsh (macOS’s default shell) without a framework, the Starship prompt, and Ghostty as the terminal.
dot apply packages # installs Starship
dot apply shell # connects ~/.zshrc to your repo
~/.zshrc stays yours
Tools such as Homebrew and 1Password ask you to append lines to ~/.zshrc,
and they’re free to. dot never owns or rewrites the file: it keeps one marked
block in it.
# >>> dotfiles: managed by dot apply shell
eval "$('/Users/you/code/<you>/dotfiles/bin/dot' init zsh)"
# <<< dotfiles
dot check shell lists every other line as a note, so you notice what tools
added, and can move it into config/shell/ or leave it. The note shows line
numbers only, never their content, because a line may hold a secret:
✓ shell init zsh
· not from this repo: ~/.zshrc line(s) 1
What the block sets up
- Homebrew:
PATH,MANPATHand completions. - dot, as a shell function:
dot clone,dot forkanddot cdtake you to the folder. - Completion for dot: commands, config files, settings and their values.
dot apply dock visibility <Tab>offersalways autohide hidden. - Your files in
config/shell/, in alphabetical order:
| File | Does |
|---|---|
config/shell/editor.zsh |
EDITOR and VISUAL, from git’s core.editor (Editor) |
config/shell/mise.zsh |
the right tool versions per folder, and a uv project’s .venv (Languages and versions) |
config/shell/op.zsh |
1Password shell plugins: gh and vercel get their tokens from 1Password |
config/shell/prompt.zsh |
Starship |
config/shell/varlock.zsh |
Varlock completion (Secrets) |
To add something to your shell, create config/shell/<topic>.zsh.
Terminal and font
Ghostty, from config/apps.conf, includes JetBrains Mono with the Nerd Font
symbols Starship uses, so it needs no font setup. Other apps can use
JetBrains Mono Nerd Font from config/fonts.conf.