Production-style Nerd Fonts downloader and installer for macOS, Linux, and Windows.
- James Sawyer
- Detects the current operating system.
- Reads the official Nerd Fonts downloads page.
- Collects release ZIP URLs.
- Downloads ZIPs with retry and resume support.
- Extracts
.ttf,.otf, and.ttcfiles. - Installs fonts to user or system directories.
- Refreshes Linux font cache when
fc-cacheis available. - Registers Windows user fonts in
HKCU.
- This project is unofficial and is not affiliated with the Nerd Fonts maintainers.
- You are responsible for compliance with Nerd Fonts and upstream font licenses.
- Use at your own risk. Review install paths and overwrite behavior before running.
- System-level installs may require elevated permissions.
- Download volume can be large; ensure enough bandwidth and disk space.
- Python 3.9+
requests- Optional:
colorlogfor colored logs
Install dependencies:
python3 -m pip install requests colorlogEdit constants at the top of dl_font_install.py.
Most important settings:
USE_TEMP_DIR: use an ephemeral working directory.SYSTEM_INSTALL: install to system font directories.FONT_NAMES: optional font family filtering by metadata.MAX_FONTS: limit number of font packs processed.WORKERS: parallel download and extract workers.DRY_RUN: preview actions without making changes.OVERWRITE_MODE:ask_once,overwrite_all, orskip_all.
python3 dl_font_install.py- Set
DRY_RUN = True. - Set
MAX_FONTSto a small number. - Run and confirm output.
- Disable dry run when ready.
- Logs progress and per-pack results.
- Produces a final install summary with counts:
- total
- installed
- overwritten
- skipped_existing
- failed
- The script downloads files from links parsed from the Nerd Fonts download page.
- If page structure changes, ZIP discovery may fail.
- Review and monitor downloads in sensitive environments before production use.