From 18a1e055011f6d321ea58edff5c97254d27290d1 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 6 Jul 2026 08:27:20 +0200 Subject: [PATCH 1/3] Standardize README landing page --- README.md | 147 +++--------------------------------------------------- 1 file changed, 8 insertions(+), 139 deletions(-) diff --git a/README.md b/README.md index 4e5bf49..56eff0f 100644 --- a/README.md +++ b/README.md @@ -1,158 +1,27 @@ # NerdFonts -This is a PowerShell module for installing NerdFonts on your system. This module and repository does not contain the fonts themselves, -but rather a way to install them on your system. - -🎉 Kudos to owner of NerdFonts, @ryanoasis and the rest of the NerdFonts community! 🎉 -For any issues with the fonts themselves, please refer to the [NerdFonts](https://github.com/ryanoasis/nerd-fonts/) repository. -All donations on this repository will go to the NerdFonts project. - -## Prerequisites - -- This module is cross-platform and supports the latest LTS version of [PowerShell](https://learn.microsoft.com/en-us/powershell/scripting/overview) on Windows, Linux, and macOS. This is not to be confused with Windows PowerShell. Install PowerShell by following the [official installation guide](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell). -- This module depends on the [Fonts](https://psmodule.io/Fonts) module to manage fonts on the system. This will be installed automatically when installing the module. +NerdFonts is a PowerShell module for downloading and installing fonts from Nerd Fonts. ## Installation -To install the module simply run the following command in a PowerShell terminal. +Install the module from the PowerShell Gallery: ```powershell Install-PSResource -Name NerdFonts Import-Module -Name NerdFonts ``` -## Usage - -### Install a NerdFont - -To install a NerdFont on the system you can use the following command. - -```powershell -Install-NerdFont -Name 'FiraCode' # Tab completion works on name -``` - -To download the font from the NerdFonts repository and install it on the system, run the following command. - -```powershell -Install-NerdFont -Name 'FiraCode' -Scope AllUsers #Tab completion works on Scope too -``` - -To install only a specific variant from the archive, use the `-Variant` parameter. `Mono` is useful for terminal and editor setups where you only want the monospace family. - -```powershell -Install-NerdFont -Name 'FiraCode' -Variant Mono -``` - -### Install all NerdFonts - -To install all NerdFonts on the system you can use the following command. +## Documentation -This will download and install all NerdFonts to the current user. - -```powershell -Install-NerdFont -All -``` - -To install all NerdFonts on the system for all users, run the following command. -This requires the shell to run in an elevated context (sudo or run as administrator). - -```powershell -Install-NerdFont -All -Scope AllUsers -``` - -You can combine `-All` with `-Variant` to limit what gets installed from each archive: - -```powershell -Install-NerdFont -All -Variant Mono -``` - -### Check if a NerdFont is installed - -The [Fonts](https://psmodule.io/Fonts) module is installed automatically as a dependency and provides the -[`Get-Font`](https://psmodule.io/Fonts/Functions/Get-Font/) command for querying installed fonts on the system. - -To check if a specific NerdFont is installed for the current user: - -```powershell -Get-Font -Name 'FiraCode*' -``` +Documentation is published at [psmodule.io/NerdFonts](https://psmodule.io/NerdFonts/). -To check across all users on the system: +Use PowerShell help and command discovery for module details: ```powershell -Get-Font -Name 'FiraCode*' -Scope AllUsers -``` - -If the command returns results, the font is installed. If it returns nothing, the font is not installed in that scope. - -When you run `Install-NerdFont` again without `-Force`, fonts that are already installed in the requested scope are skipped. Downloaded archives are also cached per Nerd Fonts release so retries and repeated installs do not need to fetch the same ZIP again. - -Cache locations: - -- Windows: `%LOCALAPPDATA%/PSModule/NerdFonts/cache` -- macOS and Linux: `$HOME/.cache/PSModule/NerdFonts` - -You can inspect the active cache path in PowerShell with: - -```powershell -if ($IsWindows) { - Join-Path ([Environment]::GetFolderPath('LocalApplicationData')) 'PSModule/NerdFonts/cache' -} else { - Join-Path $HOME '.cache/PSModule/NerdFonts' -} -``` - -### Update an installed NerdFont - -Individual font files do not embed a NerdFonts release version, so there is no direct way to check whether an installed -NerdFont is outdated. To ensure you have the version bundled with the module, reinstall the font using the `-Force` parameter: - -```powershell -Install-NerdFont -Name 'FiraCode' -Force -``` - -If the font was originally installed for all users, update it with the matching scope (requires elevated privileges): - -```powershell -Install-NerdFont -Name 'FiraCode' -Force -Scope AllUsers -``` - -This re-downloads and installs the font version bundled with your installed NerdFonts module, overwriting any existing -files. `-Force` also bypasses the local archive cache so the font ZIP is fetched again before reinstalling. To pick up newer font releases, update the NerdFonts module first (`Update-PSResource -Name NerdFonts` if you -installed via PSResourceGet, or `Update-Module -Name NerdFonts` if you installed via PowerShellGet). - -### Uninstall a NerdFont - -To uninstall a NerdFont, use the [`Uninstall-Font`](https://psmodule.io/Fonts/Functions/Uninstall-Font/) command -from the [Fonts](https://psmodule.io/Fonts) module (installed automatically as a dependency). - -To uninstall a NerdFont from the current user: - -```powershell -Uninstall-Font -Name 'FiraCode*' # Tab completion works on name -``` - -To uninstall a NerdFont for all users (requires elevated privileges): - -```powershell -Uninstall-Font -Name 'FiraCode*' -Scope AllUsers +Get-Command -Module NerdFonts +Get-Help -Examples ``` ## Contributing -Coder or not, you can contribute to the project! We welcome all contributions. - -### For Users - -If you don't code, you still sit on valuable information that can make this project even better. If you experience that the -product does unexpected things, throw errors or is missing functionality, you can help by submitting bugs and feature requests. -Please see the issues tab on this project and submit a new issue that matches your needs. - -### For Developers - -If you do code, we'd love to have your contributions. Please read the [Contribution guidelines](CONTRIBUTING.md) for more information. -You can either help by picking up an existing issue or submit a new one if you have an idea for a new feature or improvement. - -## Links - -- NerdFonts | [GitHub](https://github.com/ryanoasis/nerd-fonts) | [Web](https://www.nerdfonts.com/) +Issues and pull requests are welcome. Please use the repository issue tracker to report bugs, request features, or discuss improvements. From a23b39d5c1b8b0df79bb5246a8d7ba98715290fb Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 9 Jul 2026 06:15:26 +0200 Subject: [PATCH 2/3] Preserve prerequisites, usage, caching, and attribution Applies the content-preserving README default: keeps the upstream attribution and donation note, prerequisites and the Fonts dependency, a representative usage showcase, and the caching plus update/versioning behavior, instead of deleting them. --- README.md | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 56eff0f..c4ab9f0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,13 @@ # NerdFonts -NerdFonts is a PowerShell module for downloading and installing fonts from Nerd Fonts. +NerdFonts is a PowerShell module for downloading and installing [Nerd Fonts](https://www.nerdfonts.com/) on Windows, macOS, and Linux. The module installs the fonts on your system; it does not bundle the fonts themselves. + +🎉 Kudos to @ryanoasis and the Nerd Fonts community! 🎉 For issues with the fonts themselves, see the [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts/) repository. All donations on this repository go to the Nerd Fonts project. + +## Prerequisites + +- Cross-platform: supports the latest LTS version of [PowerShell](https://learn.microsoft.com/powershell/scripting/overview) on Windows, Linux, and macOS (not Windows PowerShell). +- Depends on the [Fonts](https://psmodule.io/Fonts) module for system font management. It is installed automatically with this module. ## Installation @@ -11,6 +18,34 @@ Install-PSResource -Name NerdFonts Import-Module -Name NerdFonts ``` +## Usage + +Install a Nerd Font for the current user (the name supports tab completion): + +```powershell +Install-NerdFont -Name 'FiraCode' +``` + +Install every Nerd Font, or limit an install to a single variant such as the monospace family: + +```powershell +Install-NerdFont -All +Install-NerdFont -Name 'FiraCode' -Variant Mono +``` + +Install for all users (requires an elevated session), and uninstall through the Fonts module: + +```powershell +Install-NerdFont -Name 'FiraCode' -Scope AllUsers +Uninstall-Font -Name 'FiraCode*' +``` + +## Behavior and caching + +- Already-installed fonts are skipped unless you pass `-Force`. Downloaded archives are cached per Nerd Fonts release, so repeated installs do not re-download the same ZIP. +- Cache locations: `%LOCALAPPDATA%/PSModule/NerdFonts/cache` on Windows, and `$HOME/.cache/PSModule/NerdFonts` on macOS and Linux. +- Font files do not embed a Nerd Fonts version, so there is no version check. Reinstall with `-Force` to get the version bundled with the module (`-Force` also bypasses the archive cache). To pick up newer font releases, update the module first with `Update-PSResource -Name NerdFonts`. + ## Documentation Documentation is published at [psmodule.io/NerdFonts](https://psmodule.io/NerdFonts/). @@ -19,9 +54,9 @@ Use PowerShell help and command discovery for module details: ```powershell Get-Command -Module NerdFonts -Get-Help -Examples +Get-Help -Name Install-NerdFont -Examples ``` -## Contributing +## Links -Issues and pull requests are welcome. Please use the repository issue tracker to report bugs, request features, or discuss improvements. +- Nerd Fonts: [GitHub](https://github.com/ryanoasis/nerd-fonts) | [Web](https://www.nerdfonts.com/) From 57ab104efb907da16773d943498ad4f9c1bd91d4 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Thu, 9 Jul 2026 06:51:46 +0200 Subject: [PATCH 3/3] Preserve full README content; add generated-docs pointer The README is the published psmodule.io landing page and the only home for prerequisites, upstream attribution/donations, usage, cache locations and inspection, update/versioning semantics, and uninstall guidance. Restores that content and adds a Documentation section pointing to the generated command reference and Get-Help. --- README.md | 145 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 125 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index c4ab9f0..e39da46 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,20 @@ # NerdFonts -NerdFonts is a PowerShell module for downloading and installing [Nerd Fonts](https://www.nerdfonts.com/) on Windows, macOS, and Linux. The module installs the fonts on your system; it does not bundle the fonts themselves. +This is a PowerShell module for installing NerdFonts on your system. This module and repository does not contain the fonts themselves, +but rather a way to install them on your system. -🎉 Kudos to @ryanoasis and the Nerd Fonts community! 🎉 For issues with the fonts themselves, see the [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts/) repository. All donations on this repository go to the Nerd Fonts project. +🎉 Kudos to owner of NerdFonts, @ryanoasis and the rest of the NerdFonts community! 🎉 +For any issues with the fonts themselves, please refer to the [NerdFonts](https://github.com/ryanoasis/nerd-fonts/) repository. +All donations on this repository will go to the NerdFonts project. ## Prerequisites -- Cross-platform: supports the latest LTS version of [PowerShell](https://learn.microsoft.com/powershell/scripting/overview) on Windows, Linux, and macOS (not Windows PowerShell). -- Depends on the [Fonts](https://psmodule.io/Fonts) module for system font management. It is installed automatically with this module. +- This module is cross-platform and supports the latest LTS version of [PowerShell](https://learn.microsoft.com/en-us/powershell/scripting/overview) on Windows, Linux, and macOS. This is not to be confused with Windows PowerShell. Install PowerShell by following the [official installation guide](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell). +- This module depends on the [Fonts](https://psmodule.io/Fonts) module to manage fonts on the system. This will be installed automatically when installing the module. ## Installation -Install the module from the PowerShell Gallery: +To install the module simply run the following command in a PowerShell terminal. ```powershell Install-PSResource -Name NerdFonts @@ -20,43 +23,145 @@ Import-Module -Name NerdFonts ## Usage -Install a Nerd Font for the current user (the name supports tab completion): +### Install a NerdFont + +To install a NerdFont on the system you can use the following command. ```powershell -Install-NerdFont -Name 'FiraCode' +Install-NerdFont -Name 'FiraCode' # Tab completion works on name ``` -Install every Nerd Font, or limit an install to a single variant such as the monospace family: +To download the font from the NerdFonts repository and install it on the system, run the following command. + +```powershell +Install-NerdFont -Name 'FiraCode' -Scope AllUsers #Tab completion works on Scope too +``` + +To install only a specific variant from the archive, use the `-Variant` parameter. `Mono` is useful for terminal and editor setups where you only want the monospace family. ```powershell -Install-NerdFont -All Install-NerdFont -Name 'FiraCode' -Variant Mono ``` -Install for all users (requires an elevated session), and uninstall through the Fonts module: +### Install all NerdFonts + +To install all NerdFonts on the system you can use the following command. + +This will download and install all NerdFonts to the current user. ```powershell -Install-NerdFont -Name 'FiraCode' -Scope AllUsers -Uninstall-Font -Name 'FiraCode*' +Install-NerdFont -All ``` -## Behavior and caching +To install all NerdFonts on the system for all users, run the following command. +This requires the shell to run in an elevated context (sudo or run as administrator). -- Already-installed fonts are skipped unless you pass `-Force`. Downloaded archives are cached per Nerd Fonts release, so repeated installs do not re-download the same ZIP. -- Cache locations: `%LOCALAPPDATA%/PSModule/NerdFonts/cache` on Windows, and `$HOME/.cache/PSModule/NerdFonts` on macOS and Linux. -- Font files do not embed a Nerd Fonts version, so there is no version check. Reinstall with `-Force` to get the version bundled with the module (`-Force` also bypasses the archive cache). To pick up newer font releases, update the module first with `Update-PSResource -Name NerdFonts`. +```powershell +Install-NerdFont -All -Scope AllUsers +``` -## Documentation +You can combine `-All` with `-Variant` to limit what gets installed from each archive: + +```powershell +Install-NerdFont -All -Variant Mono +``` + +### Check if a NerdFont is installed + +The [Fonts](https://psmodule.io/Fonts) module is installed automatically as a dependency and provides the +[`Get-Font`](https://psmodule.io/Fonts/Functions/Get-Font/) command for querying installed fonts on the system. + +To check if a specific NerdFont is installed for the current user: + +```powershell +Get-Font -Name 'FiraCode*' +``` + +To check across all users on the system: + +```powershell +Get-Font -Name 'FiraCode*' -Scope AllUsers +``` + +If the command returns results, the font is installed. If it returns nothing, the font is not installed in that scope. + +When you run `Install-NerdFont` again without `-Force`, fonts that are already installed in the requested scope are skipped. Downloaded archives are also cached per Nerd Fonts release so retries and repeated installs do not need to fetch the same ZIP again. + +Cache locations: + +- Windows: `%LOCALAPPDATA%/PSModule/NerdFonts/cache` +- macOS and Linux: `$HOME/.cache/PSModule/NerdFonts` + +You can inspect the active cache path in PowerShell with: -Documentation is published at [psmodule.io/NerdFonts](https://psmodule.io/NerdFonts/). +```powershell +if ($IsWindows) { + Join-Path ([Environment]::GetFolderPath('LocalApplicationData')) 'PSModule/NerdFonts/cache' +} else { + Join-Path $HOME '.cache/PSModule/NerdFonts' +} +``` + +### Update an installed NerdFont + +Individual font files do not embed a NerdFonts release version, so there is no direct way to check whether an installed +NerdFont is outdated. To ensure you have the version bundled with the module, reinstall the font using the `-Force` parameter: + +```powershell +Install-NerdFont -Name 'FiraCode' -Force +``` + +If the font was originally installed for all users, update it with the matching scope (requires elevated privileges): + +```powershell +Install-NerdFont -Name 'FiraCode' -Force -Scope AllUsers +``` + +This re-downloads and installs the font version bundled with your installed NerdFonts module, overwriting any existing +files. `-Force` also bypasses the local archive cache so the font ZIP is fetched again before reinstalling. To pick up newer font releases, update the NerdFonts module first (`Update-PSResource -Name NerdFonts` if you +installed via PSResourceGet, or `Update-Module -Name NerdFonts` if you installed via PowerShellGet). + +### Uninstall a NerdFont + +To uninstall a NerdFont, use the [`Uninstall-Font`](https://psmodule.io/Fonts/Functions/Uninstall-Font/) command +from the [Fonts](https://psmodule.io/Fonts) module (installed automatically as a dependency). + +To uninstall a NerdFont from the current user: -Use PowerShell help and command discovery for module details: +```powershell +Uninstall-Font -Name 'FiraCode*' # Tab completion works on name +``` + +To uninstall a NerdFont for all users (requires elevated privileges): + +```powershell +Uninstall-Font -Name 'FiraCode*' -Scope AllUsers +``` + +## Documentation + +Every command has full reference documentation, generated from its comment-based help and published at [psmodule.io/NerdFonts](https://psmodule.io/NerdFonts/). Explore the commands and read detailed help directly from PowerShell: ```powershell Get-Command -Module NerdFonts Get-Help -Name Install-NerdFont -Examples ``` +## Contributing + +Coder or not, you can contribute to the project! We welcome all contributions. + +### For Users + +If you don't code, you still sit on valuable information that can make this project even better. If you experience that the +product does unexpected things, throw errors or is missing functionality, you can help by submitting bugs and feature requests. +Please see the issues tab on this project and submit a new issue that matches your needs. + +### For Developers + +If you do code, we'd love to have your contributions. Please read the [Contribution guidelines](CONTRIBUTING.md) for more information. +You can either help by picking up an existing issue or submit a new one if you have an idea for a new feature or improvement. + ## Links -- Nerd Fonts: [GitHub](https://github.com/ryanoasis/nerd-fonts) | [Web](https://www.nerdfonts.com/) +- NerdFonts | [GitHub](https://github.com/ryanoasis/nerd-fonts) | [Web](https://www.nerdfonts.com/)