Font configuration¶
How fonts are set up, rendered, and installed in these dotfiles.
Recommended fonts¶
Primary: JetBrains Mono Nerd Font¶
The default font is JetBrains Mono with Nerd Font patches. It's designed for code readability, supports ligatures, includes Powerline/Nerd Font glyphs, and clearly distinguishes similar characters (0/O, 1/l/I).
Alternatives¶
| Font | Style | Best for |
|---|---|---|
| Fira Code | Modern | Ligature fans |
| Cascadia Code | Microsoft | VS Code users |
| Hack | Classic | Traditional monospace look |
| Source Code Pro | Adobe | Clean aesthetic |
| Iosevka | Narrow | Small screens |
Installation¶
macOS (Homebrew)¶
brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font
# Or use the dot CLI
dot fonts install
Linux (manual)¶
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/JetBrainsMono.zip
unzip JetBrainsMono.zip -d ~/.local/share/fonts/
fc-cache -fv
Patching your own fonts¶
To patch a custom font with Nerd Font glyphs:
Terminal configuration¶
Ghostty¶
WezTerm¶
Alacritty¶
Kitty¶
Font size recommendations¶
| Display | Size |
|---|---|
| 13" laptop | 12-13pt |
| 15" laptop | 13-14pt |
| 24" monitor | 14-15pt |
| 27" 4K monitor | 15-16pt |
Troubleshooting¶
Fonts not displaying correctly¶
- Verify the font is installed:
fc-list | grep JetBrains - Restart your terminal
- Double-check the terminal's font settings
Nerd Font icons missing¶
- Make sure you're using a Nerd Font variant (not the plain version)
- Confirm the terminal supports the required Unicode range
- Try a different Nerd Font if the issue persists
Ligatures not working¶
- Enable ligatures in your terminal's settings
- Some terminals don't support ligatures (e.g.,
Terminal.app) - Ghostty, WezTerm, and Kitty all handle ligatures well