Fonts
Nerd Fonts
Oh My Posh was designed to use Nerd Fonts. Nerd Fonts are popular fonts that are patched to include icons. To see the icons displayed in Oh My Posh, install a Nerd Font, and configure your terminal to use it.
Fonts need to be installed on the host system as this is a UI setting, not a command line, or shell configuration. This means when running inside a container or WSL, you need to install the font on the host system and configure your terminal emulator to use it.
Installation
- Oh My Posh
- homebrew
Oh My Posh has a CLI to help you select and install a Nerd Font:
When running as root/administrator, the fonts will be installed system-wide.
When running as a regular user, the fonts will be installed in the user's font directory.
By default, Oh My Posh installs the .ttf
version of the font in case multiple versions are available.
oh-my-posh font install
This will present a list of Nerd Font libraries, from which you can select Meslo
, which includes the Meslo LGM NF
font we recommend. Note that you can also install it directly via:
oh-my-posh font install meslo
If you have a font that has specific flavors of a font inside sub folders, you can specify the sub folder name:
oh-my-posh font install --zip-folder ttf/static "CascadiaCode (MS)"
If you're using Homebrew, you can search for and install Nerd Fonts directly:
brew search nerd-font
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.
- Windows Terminal
- Visual Studio Code
- Visual Studio
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.
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
:
{
"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:
"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
.
OTF fonts do not appear in Visual Studio's Terminal settings, only TTF fonts. See here 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 is always an option too 😊