oh-my-posh/website/docs/installation/fonts.mdx
2023-02-15 16:23:12 +01:00

97 lines
3 KiB
Plaintext

---
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
<Tabs
defaultValue="oh-my-posh"
values={[
{ label: 'Oh My Posh', value: 'oh-my-posh' },
{ label: 'homebrew', value: 'homebrew' }
]
}>
<TabItem value="oh-my-posh">
Oh My Posh has a CLI to help you select and install a [Nerd Font][nerdfonts] (beta):
:::caution Windows
This command needs to be executed as admin. The fonts are installed system wide.
:::
```bash
oh-my-posh font install
```
</TabItem>
<TabItem value="homebrew">
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
```
</TabItem>
</Tabs>
#### Windows Terminal
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 NF"
}
}
}
}
```
#### VS Code
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 NF` Nerd Font:
```json
"terminal.integrated.fontFamily": "MesloLGM NF"
```
### 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/v2.1.0/Meslo.zip
[themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes
[font-thread]: https://github.com/JanDeDobbeleer/oh-my-posh/issues/145#issuecomment-730162622
[configuration]: /docs/configuration/overview