Nerd Fonts: агрегатор шрифтов с иконкамиИногда ставишь красивый prompt, открываешь
nvim,
lazygit,
tmux или
starship, а вместо иконок видишь квадраты. Примерно так:
□ ~/projects/app main ✗
□ src/
□ docker-compose.yml
Это не баг терминала. Чаще всего просто выбран шрифт, в котором нет нужных символов.
Как исправитьNerd Fonts — это репозиторий с уже готовыми шрифтами для разработчиков, куда добавили иконки: Devicons, Font Awesome, Octicons, Powerline-символы и другие. То есть можно взять привычный шрифт, но в версии Nerd Font:
🟡JetBrainsMono Nerd Font
🟡FiraCode Nerd Font
🟡Hack Nerd Font
🟡Meslo Nerd Font
Весь репозиторий скачивать не обязательно. Он большой. Обычно достаточно скачать только нужный шрифт из релизов. Например, JetBrains Mono:
mkdir -p ~/.local/share/fonts/JetBrainsMonoNF
curl -L \
https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz \
-o /tmp/JetBrainsMonoNF.tar.xz
tar -xf /tmp/JetBrainsMonoNF.tar.xz -C ~/.local/share/fonts/JetBrainsMonoNF
fc-cache -fv
Если
fc-cache не найден:
apt install -y fontconfig
Посмотреть доступные шрифты можно на
странице загрузок Nerd Fonts или в списке релизов. Обычно имя архива совпадает с названием шрифта:
Hack.tar.xz
FiraCode.tar.xz
JetBrainsMono.tar.xz
UbuntuMono.tar.xz
Что выбрать
Если ты уже пользуешься JetBrains Mono: скачай
JetBrainsMono Nerd Font. Если хочешь новый шрифт сразу с иконками: просто выбери любой готовый вариант из Nerd Fonts и установи его. После установки нужно открыть настройки терминала и выбрать установленный шрифт вручную:
JetBrainsMono Nerd Font Mono
Именно после этого иконки появятся в prompt, файловых деревьях, статус-барах и TUI-инструментах.
Если нужен свой шрифтВ Nerd Fonts есть
font-patcher. Он нужен, если у тебя свой шрифт, которого нет среди готовых вариантов. Схема такая:
./font-patcher MyFont.ttf
На выходе получится пропатченный шрифт с добавленными символами Nerd Fonts. Его так же нужно положить в
~/.local/share/fonts, обновить кэш через
fc-cache -fv и выбрать в настройках терминала. Но для большинства случаев это лишнее. Готовых шрифтов почти всегда вполне достаточно.
ВыводЕсли в терминале вместо иконок квадраты просто поставь Nerd Font-версию своего шрифта и выбери ее в настройках.
LinuxCamp | #utils