Fonts
Eleven monospaced families, two pixel faces, and the glyph set that makes the unpatched ones usable in a terminal.
Most of the list is a Nerd Font build: the original typeface plus several thousand glyphs from Font Awesome, Devicons, Octicons and Material. Starship, lsd, superfile and btop all draw those glyphs, and without them they render as empty boxes. Three families here have no patched build — pair those with Symbols Nerd Font as a fallback and the icons resolve anyway.
Ligatures, or not
Half this list has programming ligatures and half deliberately does not, which is the first thing to decide.
| Ligatures | Families |
|---|---|
| Yes | JetBrains Mono, Fira Code, Maple Mono, JetBrains Maple Mono, MonoLisa |
| No | IBM Plex Mono, Meslo LG, Source Code Pro, Google Sans Code, Space Mono, Departure Mono |
A ligature draws != as a single crossed-out equals sign. It reads well, and it also means the glyph on screen no longer corresponds one-to-one with the characters in the file — which is fine until you are counting columns, or reading a language where <- and < - differ. Both positions are defensible; the families in the second row simply never offer the choice.
Where these come from
Nerd Fonts patches the upstream families and publishes the results; Homebrew repackages those same archives as casks. Either route gives identical files.
Every patched family is in homebrew-cask itself — the separate homebrew/cask-fonts tap was retired, so nothing needs tapping first:
brew search '/font-.*-nerd-font/'
brew install --cask font-fira-code-nerd-fontEach family is published in three variants, which differ in how wide the icons are rather than in the typeface:
| Variant | Icon width | Use it for |
|---|---|---|
Nerd Font | Variable — icons may be wider than one cell | Editors and anywhere proportional icon width is fine |
Nerd Font Mono | Forced to a single cell | Terminals, where a double-width glyph breaks column alignment |
Nerd Font Propo | Proportional | Proportional-width UI, not code |
Turning features on and off
Ligatures live in the calt (contextual alternates) feature. ssXX stylistic sets usually change a group of characters, cvXX character variants usually change one, and zero is the slashed zero. Patching for Nerd Fonts leaves all of them intact.
Two things are worth knowing before reaching for these. Individual ligatures cannot be switched off one at a time — you disable calt wholesale, or pick the ssXX/cvXX toggles that change the glyphs involved. And disabling calt does not disable the alternates: 'calt' 0, 'zero', 'cv01' keeps a slashed zero and one character variant while dropping every ligature.
| Application | How |
|---|---|
| VS Code | "editor.fontLigatures": "'calt' 0, 'zero', 'cv01'" — a plain true or false also works |
| Zed | "buffer_font_features": { "calt": false, "ss01": true } |
| JetBrains IDEs | Settings → Editor → Font → Enable ligatures — all or nothing |
| Xcode | No OpenType control at all; install a no-ligature build instead |
| Ghostty | font-feature = -calt to disable, font-feature = ss01 to enable |
| kitty | font_family family="Fira Code" features="+zero -calt" |
| WezTerm | harfbuzz_features = { "calt=0", "clig=0", "liga=0" } |
| iTerm2 | Profiles → Text → Use ligatures — all or nothing, and calt only |
| Alacritty | No ligature support |
JetBrainsMonoNL Nerd Font.Sans-serif text faces
Not monospaced and not in the grid above — these are body-copy faces for a site or a document rather than anything a terminal would use. All five are on Google Fonts under the Open Font License, so the specimen page is also the download.
| Family | Type | Download |
|---|---|---|
| Noto Sans | Open source | fonts.google.com/specimen/Noto+Sans |
| Nunito | Open source | fonts.google.com/specimen/Nunito |
| Outfit | Open source | fonts.google.com/specimen/Outfit |
| Rubik | Open source | fonts.google.com/specimen/Rubik |
| Work Sans | Open source | fonts.google.com/specimen/Work+Sans |
Google Fonts serves a multi-family download from the same page — selecting several and taking one archive is quicker than five separate trips.
Dank Mono
A monospaced coding face sold directly by its designer rather than distributed through Google Fonts or Homebrew, so it has no cask and no specimen page to link. Italics are a true cursive rather than a slanted roman, which is the reason people buy it.
| Family | Type | Download |
|---|---|---|
| Dank Mono | Paid | dank.sh |