Nerd Fonts
Installs Nerd Fonts system-wide. Defaults to FiraCode.
Demo

What it does
- Installs
fontconfigandunzipvia apt - Downloads each font in
nerdfonts_fontsfrom the upstream Nerd Fonts release into/usr/local/share/fonts/NerdFontsand refreshes the font cache; on macOS installs the matchingfont-<name>-nerd-fontHomebrew cask - On WSL, also mirrors the fonts into the Windows per-user font store and registers them with Windows, so Windows Terminal and other Windows apps can select them, see Windows (WSL)
- Tracks the installed release: on Linux it records the release tag in a marker file (
/usr/local/share/fonts/NerdFonts/.nerd-fonts-version), so adotpro apply --upgradethat lands a newer Nerd Fonts release re-extracts the fonts and logs the bump (nerd-fonts v3.3.0 -> v3.4.0) indotpro versions/versions-history. A normal apply trusts the marker and never re-downloads or hits the network. macOS versioning is handled by Homebrew and captured by the brew upgrade snapshot.
Variables
| Variable | Default | Description |
|---|---|---|
nerdfonts_fonts | [FiraCode] | Nerd Fonts to install, by upstream release name (e.g. FiraCode, JetBrainsMono, Hack) |
nerdfonts_version | latest | Pin the Nerd Fonts release, or track the newest |
nerdfonts_windows | true | On WSL, mirror the fonts into the Windows per-user font store |
Example
nerdfonts_fonts: # default: [FiraCode]
- FiraCode
- JetBrainsMonoOn macOS the name maps to the Homebrew cask font-<name>-nerd-font, hyphenated at case boundaries (FiraCode → font-fira-code-nerd-font); a multi-word cask whose split differs may need its exact name listed.
Windows (WSL)
Windows applications only see Windows-side fonts, so on WSL the Linux install alone is invisible to Windows Terminal. The role therefore mirrors the downloaded fonts into the per-user Windows store (%LOCALAPPDATA%\Microsoft\Windows\Fonts) and registers them under HKCU, both of which need no elevation, over the same interop bridge the wsl and windows roles use. The Windows store keeps its own release marker, so a machine whose Linux fonts were already current still gets the Windows copy on the next apply.
After the apply, select the font (e.g. "FiraCode Nerd Font") in the Windows Terminal profile; installing it does not switch the profile. The starship role's Nerd Font probe looks at the same Windows store on WSL, so its auto icon mode picks up the install. Set nerdfonts_windows: false to keep the fonts Linux-only.