Linux Fonts and Themes - ryzendew/Linux-Tips-and-Tricks GitHub Wiki
Complete beginner-friendly guide to installing and configuring fonts and themes on Linux, covering Arch Linux, CachyOS, and other distributions including system fonts, icon themes, and desktop customization.
- Understanding Fonts and Themes
- Font Management
- Font Configuration
- Icon Themes
- GTK Themes
- Desktop Environment Customization
- Cursor Themes
- Troubleshooting
Fonts control text appearance.
Themes control overall appearance (colors, window decorations, etc.).
Why customize:
- Personalization: Make system your own
- Aesthetics: Improve visual appearance
- Readability: Better font readability
- Comfort: Reduce eye strain
System fonts directory:
/usr/share/fonts/User fonts directory:
~/.local/share/fonts/Install fonts:
# Create fonts directory
mkdir -p ~/.local/share/fonts
# Copy fonts
cp font-file.ttf ~/.local/share/fonts/
# Update font cache
fc-cache -fvInstall font packages:
# Arch/CachyOS
sudo pacman -S ttf-dejavu ttf-liberation noto-fonts ttf-roboto
# Microsoft fonts (AUR)
yay -S ttf-ms-fonts
# Google fonts
sudo pacman -S ttf-google-fonts-typewolfDebian/Ubuntu:
sudo apt install fonts-dejavu fonts-liberation fonts-notoFedora:
sudo dnf install dejavu-fonts liberation-fonts google-noto-fontsConfigure fonts:
# Edit font config
vim ~/.config/fontconfig/fonts.conf
# Or system-wide
sudo vim /etc/fonts/local.confExample config:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Roboto</family>
</prefer>
</alias>
</fontconfig>Improve rendering:
# Install font rendering packages
sudo pacman -S freetype2 fontconfig
# Configure
vim ~/.config/fontconfig/fonts.confPopular icon themes:
# Arch/CachyOS
sudo pacman -S papirus-icon-theme arc-icon-theme
# Adwaita (GNOME default)
sudo pacman -S adwaita-icon-theme
# Breeze (KDE default)
sudo pacman -S breeze-iconsGNOME:
# Using gsettings
gsettings set org.gnome.desktop.interface icon-theme 'Papirus'KDE:
- System Settings → Appearance → Icons
- Select theme
XFCE:
- Settings → Appearance → Icons
- Select theme
Popular themes:
# Arch/CachyOS
sudo pacman -S arc-gtk-theme materia-gtk-theme
# Adwaita (GNOME default)
sudo pacman -S gtk3
# Breeze (KDE default)
sudo pacman -S breeze-gtkGNOME:
# Using gsettings
gsettings set org.gnome.desktop.interface gtk-theme 'Arc-Dark'XFCE:
- Settings → Appearance → Style
- Select theme
Install GNOME Tweaks:
# Arch/CachyOS
sudo pacman -S gnome-tweaks
# Launch
gnome-tweaksCustomize:
- Fonts
- Themes
- Extensions
- Window decorations
System Settings:
- System Settings → Appearance
- Customize: Colors, Icons, Themes, etc.
Settings Manager:
- Settings → Appearance
- Customize: Style, Icons, Fonts, etc.
Popular cursor themes:
# Arch/CachyOS
sudo pacman -S breeze-cursor-theme
# Adwaita (GNOME default)
sudo pacman -S adwaita-icon-themeGNOME:
gsettings set org.gnome.desktop.interface cursor-theme 'Breeze'KDE:
- System Settings → Cursors
- Select theme
Update font cache:
# Update cache
fc-cache -fv
# Check fonts
fc-list | grep font-nameCheck theme location:
# GTK themes
ls ~/.themes/
ls /usr/share/themes/
# Icon themes
ls ~/.local/share/icons/
ls /usr/share/icons/This guide covered fonts and themes for Arch Linux, CachyOS, and other distributions, including installation, configuration, and desktop environment customization.
- Desktop Environments - Desktop setup
- Display Server Configuration - Display servers
- ArchWiki Fonts: https://wiki.archlinux.org/title/Fonts
This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.