Overview
This configuration uses Nerd Fonts for icon support across terminal applications and includes specific fonts for different UI elements.Installed Fonts
The following fonts are included in~/.local/share/fonts/:
Primary Fonts
| Font | Usage | Features |
|---|---|---|
| JetBrains Mono Nerd Font | Terminal, code editing | Monospaced, ligatures, Nerd Font icons |
| Sono | Waybar, UI elements | Modern sans-serif |
| Comfortaa | UI accents | Rounded, friendly appearance |
| Hack Nerd Font | Alternative terminal font | Monospaced, Nerd Font icons |
Additional Fonts
| Font | Purpose |
|---|---|
| Iosevka Nerd Font | Alternative coding font |
| Amiri | Arabic script support |
| Scheherazade New | Arabic typography |
| GrapeNuts | Display font |
| Icomoon Feather | Icon font |
Installing Nerd Fonts
Nerd Fonts add thousands of icons and glyphs for terminal applications like ls, git prompts, and more.Arch Linux
Fedora
JetBrains Mono Nerd Font (All Distros)
Other Nerd Fonts
Visit Nerd Fonts releases for more options:- FiraCode - Popular programming font with ligatures
- Iosevka - Slender monospace font
- SourceCodePro - Adobe’s coding font
- Meslo - Customized Apple Menlo font
Font Configuration by Application
Waybar
Location:~/.config/waybar/style.css
Kitty Terminal
Location:~/.config/kitty/kitty.conf (if it exists)
GTK Applications
System font settings for Nautilus, settings, etc. Using gsettings (GNOME/GTK):- Install:
sudo dnf install dconf-editororyay -S dconf-editor - Navigate to:
/org/gnome/desktop/interface/ - Edit
font-name,monospace-font-name, etc.
Rofi
Location:~/.config/rofi/config.rasi or theme files
VS Code / Code Insiders
Settings UI:- Open Settings (
Ctrl + ,) - Search “font family”
- Set:
'JetBrainsMono Nerd Font', 'Fira Code', monospace
Neovim
Neovim inherits terminal font settings. Configure your terminal emulator (Kitty) instead.Font Features
Nerd Font Icons
Nerd Fonts include icons from:- Font Awesome
- Material Design Icons
- Weather Icons
- Powerline symbols
- File type icons
Ligatures
Programming ligatures combine characters:==→ single equals symbol!=→ not-equals symbol->→ arrow>=→ greater-than-or-equal
- JetBrains Mono
- Fira Code
- Cascadia Code
- Iosevka
Installing Custom Fonts
System-Wide Installation
User-Only Installation
Font Formats
Supported formats:.ttf- TrueType Font (most common).otf- OpenType Font.woff/.woff2- Web fonts (can be converted)
Verifying Font Installation
List installed fonts
Test font in terminal
Verify Nerd Font icons
Troubleshooting
Icons showing as boxes/questions marks
Cause: Nerd Font not installed or not selected Solution:- Install Nerd Font variant (see above)
- Set font in terminal config
- Refresh font cache:
fc-cache -fv - Restart terminal
Font looks blurry
Solution: Enable font antialiasing and hintingFont not showing in application
- Check if font is installed:
fc-list | grep "FontName" - Refresh font cache:
fc-cache -fv - Restart application
- Check font name is exact (case-sensitive)
Waybar not using correct font
- Verify font name in
style.cssmatches installed font - Check for typos in font-family declaration
- Restart Waybar:
killall waybar && waybar &
Font Recommendations
For Terminal
- JetBrains Mono Nerd Font - Best all-around
- Fira Code Nerd Font - Excellent ligatures
- Hack Nerd Font - Clean and readable
- Iosevka Nerd Font - Space-efficient
For UI Elements
- Inter - Modern, readable UI font
- Roboto - Google’s material design font
- San Francisco - Apple’s system font
- Cantarell - GNOME’s default font
For Waybar
- Sono (current) - Modern, clean
- Comfortaa (current) - Friendly, rounded
- Outfit - Geometric sans-serif
- Manrope - Professional, versatile
Font Size Guidelines
| Element | Recommended Size |
|---|---|
| Terminal | 11-13px |
| Code editor | 12-14px |
| Waybar | 14-16px |
| UI elements | 10-12px |
| Document text | 11-12px |