Skip to content

Document how to check installed fonts, detect outdated fonts, and uninstall fonts #66

@MariusStorhaug

Description

Users who install NerdFonts through this module have no guidance on how to perform common post-install tasks: checking whether a specific NerdFont is already installed, determining if an installed NerdFont is outdated compared to the latest release, or removing a previously installed NerdFont. The module's README only covers Get-NerdFont (which lists available fonts from the release catalog) and Install-NerdFont, leaving users to discover the underlying Fonts module on their own.\n\n## Request\n\n### Desired capability\n\nThe README and module documentation should clearly explain how to accomplish the three most common post-install workflows using the existing Fonts module dependency:\n\n1. Check if a NerdFont is installed — use Get-Font to query installed fonts by name pattern (e.g., Get-Font -Name 'FiraCode*').\n2. Detect whether an installed NerdFont is outdated — compare the installed font files against the version in the current FontsData.json download URLs (currently v3.4.0). Since individual font files do not embed a NerdFonts release version, an exact version comparison is not possible without additional tracking. A pragmatic approach is to re-run Install-NerdFont -Name '' -Force, which re-downloads and overwrites with the latest version.\n3. Uninstall a NerdFont — use Uninstall-Font from the Fonts module directly (e.g., Uninstall-Font -Name 'FiraCode*'). A dedicated Uninstall-NerdFont wrapper is not practical because the module cannot reliably determine whether a given font was originally installed through the NerdFonts module or by other means.\n\n### Acceptance criteria\n\n- The README Usage section includes examples for all three workflows (check installed, update/reinstall, uninstall)\n- Each example references the relevant Fonts module command with a link to its documentation\n- The limitation around detecting outdated fonts (no embedded version tracking) is mentioned explicitly so users understand the reinstall approach\n\n---\n\n## Technical decisions\n\nNo new commands: Adding Uninstall-NerdFont or Test-NerdFont wrappers is not warranted. The underlying Fonts module already provides Get-Font and Uninstall-Font with wildcard support and tab completion. Thin wrappers would duplicate functionality and introduce ambiguity — Uninstall-NerdFont could not verify that a font was installed via this module versus another method.\n\nOutdated detection approach: The FontsData.json catalog embeds the release version in download URLs (e.g., v3.4.0), but installed font files have no corresponding version metadata. Reliable outdated detection would require persisting the installed version per font, which adds complexity disproportionate to the benefit. The documented workaround is Install-NerdFont -Name '' -Force to ensure the latest version.\n\nDocumentation placement: Usage examples go in the README under new subsections within the existing ## Usage section, following the established pattern of the ### Install a NerdFont and ### Install all NerdFonts subsections.\n\n---\n\n## Implementation plan\n\n### Documentation\n\n- [x] Add ### Check if a NerdFont is installed subsection to README.md with Get-Font -Name '*' examples for both CurrentUser and AllUsers scopes\n- [x] Add ### Update an installed NerdFont subsection to README.md explaining the reinstall approach with Install-NerdFont -Name '' -Force\n- [x] Add ### Uninstall a NerdFont subsection to README.md with Uninstall-Font -Name '*' examples for both scopes, linking to the Fonts module documentation\n- [x] Add a note explaining that the Fonts module is installed automatically as a dependency and does not require separate installation

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions