--- id: fonts title: Fonts sidebar_label: 🔤 Fonts --- import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; ### Nerd Fonts Oh My Posh was designed to use [Nerd Fonts][nerdfonts]. Nerd Fonts are popular fonts that are patched to include icons. We recommend [Meslo LGM NF][meslo], but any Nerd Font should be compatible with the standard [themes][themes]. To see the icons displayed in Oh My Posh, **install** a [Nerd Font][nerdfonts], and **configure** your terminal to use it. ### Installation Oh My Posh has a CLI to help you select and install a [Nerd Font][nerdfonts] (beta): :::caution Windows This command is best executed as admin so that fonts are installed system wide. In case you have no admin rights, you can install the fonts by adding the `--user` flag. Do know this can have side-effects when using certain applications. ::: ```bash oh-my-posh font install ``` If you're using Homebrew, you can tap the `homebrew-cask-fonts` repository and install Nerd Fonts from there instead: ```bash brew tap homebrew/cask-fonts # You only need to do this once! brew search nerd-font # Search for font packages # EXAMPLE: Install the NF version of Fira Code brew install --cask font-fira-code-nerd-font ``` ### Configuration Make sure to **configure your terminal** to use the font you have installed. The following sections will show you how to do this for the most popular terminals. :::caution Text renderer To ensure correct rendering of the glyphs you will need to enable the option `Use the new text renderer ("AtlasEngine")` in your terminal settings. For further details, see [here][wt-issue-8993]. ::: Once you have installed a Nerd Font, you will need to configure the Windows Terminal to use it. This can be easily done by modifying the Windows Terminal settings (default shortcut: `CTRL + SHIFT + ,`). In your `settings.json` file, add the `font.face` attribute under the `defaults` attribute in `profiles`: ```json { "profiles": { "defaults": { "font": { "face": "MesloLGM Nerd Font" } } } } ``` When using Visual Studio Code, you will need to configure the integrated Terminal to make use of the Nerd Font as well. This can be done by changing the `Integrated: Font Family` value in the Terminal settings (default shortcut: `CTRL + ,` and search for `Integrated: Font Family` or via `Users` -> `Features` -> `Terminal`). If you are using the JSON based settings, you will need to update the `terminal.integrated.fontFamily` value. Example in case of `MesloLGM Nerd Font` Nerd Font: ```json "terminal.integrated.fontFamily": "MesloLGM Nerd Font" ``` When using Visual Studio, you will need to configure the integrated Terminal to make use of the Nerd Font as well. This can be done by opening the settings in `Tools > Options > Fonts and Colors > Terminal` and selecting a font like `MesloLGM Nerd Font`. :::warning OTF fonts do not appear in Visual Studio's Terminal settings, only TTF fonts. See [here][vs-otf] for more information. ::: ### Other Fonts If you are not interested in using a Nerd Font, you will want to use a theme which doesn't include any Nerd Font icons. The `minimal` themes do not make use of Nerd Font icons. [Creating your own theme][configuration] is always an option too 😊 [nerdfonts]: https://www.nerdfonts.com/ [meslo]: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Meslo.zip [themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes [configuration]: /docs/installation/customize [wt-issue-8993]: https://github.com/microsoft/terminal/issues/8993 [vs-otf]: https://stackoverflow.com/questions/75252606/is-it-possible-to-use-nerd-fonts-as-the-font-for-terminals-in-visual-studio