Skip to content
w0rxbend edited this page Aug 1, 2026 · 1 revision

❓ FAQ

Does this replace the Nerd Fonts project?

No. All fonts come from ryanoasis/nerd-fonts. This tool downloads their release archives and installs them. It is a delivery mechanism, not a font foundry.


What is the difference between the archive name and the font name?

The archive name is what you put in families: β€” JetBrainsMono. The installed font is what you select in your terminal β€” JetBrainsMono Nerd Font. Use --font-names for the first; use your font picker or fc-list for the second.


Is it safe to run twice?

Yes. Each family is downloaded, verified, extracted into a temporary directory, and only then renamed into place, with the previous version kept as a .old backup until the swap succeeds. A failed or interrupted run never leaves a half-written family.


Can I pin a release?

release: v3.4.0

Pinned releases use the tagged download URL, so the same config produces the same bytes on every machine. This is the recommended setting for dotfiles.


Does it uninstall fonts?

No. Installed fonts are ordinary files β€” delete the family directory and refresh the cache:

rm -rf ~/.local/share/fonts/NerdFonts/Hack
fc-cache -f ~/.local/share/fonts/NerdFonts

Removing a family from families: stops it being reinstalled; it does not delete what is already there.


Does it work on macOS?

Yes. fc-cache usually is not installed there, so the refresh step is skipped with a note rather than failing. Some people install into a local directory and then import with Font Book; others point destination at ~/Library/Fonts and let macOS pick the files up directly.


Does it work on Windows?

Not supported. Releases are built for Linux and macOS. WSL works for Linux-side tooling, but fonts installed inside WSL are not visible to Windows applications β€” install those through Windows itself.


How many fonts install at once?

Up to four families run concurrently. Progress lines are written whole, so parallel output never interleaves mid-line. Ten families take roughly as long as the slowest one, not the sum.


Are downloads verified?

Yes. Each archive is checked against the release's SHA-256.txt manifest. A digest mismatch aborts the install. A missing manifest produces a warning and the install continues β€” some older releases do not publish one.


Does it need network access every run?

Yes. It fetches the archives from GitHub each time, and resolving latest or listing families calls the GitHub API. There is no local cache. For fully offline provisioning, install once and copy the resulting font directory.


Do I need a GitHub token?

No. Everything uses public, unauthenticated endpoints. The API's 60 requests/hour/IP limit can bite on a shared network β€” pinning release: avoids the release listing entirely.


What are Mono and Propo variants?

Nerd Fonts ships each family in three flavours:

Variant Icon width Best for
(default) Natural General use
Mono Forced single cell Terminals, where alignment matters
Propo Proportional Editors and UI

All three are inside the same archive, so installing JetBrainsMono gives you all of them. You pick which to use in your application's font setting.


Should I install SymbolsOnly?

If you want icons in fonts you have not replaced, yes. It provides the glyphs as a fallback font, which is how tools like Starship render icons without your terminal font being patched at all.


Can I use JSON instead of YAML?

Yes β€” name the file .json and it is parsed as JSON. .yaml, .yml, and .conf are parsed as YAML. Both reject unknown keys, so typos fail loudly.


Why did it exit 0 when I quit the picker?

Deciding not to install anything is not a failure. That keeps bootstrap scripts running under set -e from aborting when someone presses q. Real failures exit 1, and correctable input problems exit 2.


Where does it install by default?

~/.local/share/fonts/NerdFonts, with one subdirectory per family. Override it with destination.


Can I install system-wide?

Set destination to a system path and run with the privileges to write there. It works, but a per-user font directory is simpler and avoids needing root for a font update.


Is the TUI required?

No. The picker is a convenience for people without a config yet. The config path is the primary interface and the only one that is scriptable.


Next: 🩹 Troubleshooting · 🍳 Recipes

Clone this wiki locally