Complete guide to install Alacritty terminal emulator on Fedora systems.
System Requirements
- Fedora: 38, 39, 40, 41, or newer
- Architecture: x86_64 (64-bit)
- Internet connection: For downloading packages and source code
Method 1: DNF Package Manager (Recommended)
Check if Available in Repository
dnf search alacritty
sudo dnf install alacritty
If available in the official repositories, this is the easiest method.
Method 2: Build from Source
Step 1: Install Build Dependencies
sudo dnf install cmake freetype-devel fontconfig-devel libxcb-devel libxkbcommon-devel g++ git curl
Step 2: Install Rust Compiler
Option A – Using rustup (Recommended):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup override set stable
rustup update stable
Option B – Using DNF:
sudo dnf install rust cargo
Step 3: Clone Alacritty Source Code
git clone https://github.com/alacritty/alacritty.git
cd alacritty
Step 4: Build Alacritty
Standard build:
cargo build --release
Wayland-only build:
cargo build --release --no-default-features --features=wayland
X11-only build:
cargo build --release --no-default-features --features=x11
Step 5: Install Alacritty System-wide
sudo cp target/release/alacritty /usr/local/bin
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database
Step 6: Install Terminfo
# Check if already installed
infocmp alacritty
# Install if missing
sudo tic -xe alacritty,alacritty-direct extra/alacritty.info
Method 3: Cargo Installation (Binary Only)
Step 1: Install Dependencies
sudo dnf install cmake freetype-devel fontconfig-devel libxcb-devel libxkbcommon-devel g++
Step 2: Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
Step 3: Install Alacritty
cargo install alacritty
Make sure cargo bin directory is in PATH:
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Method 4: Flatpak (Universal)
sudo dnf install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.alacritty.Alacritty
To run via Flatpak:
flatpak run org.alacritty.Alacritty
Post-Installation Setup
Install Manual Pages
Install dependencies:
sudo dnf install scdoc gzip
Install manual pages (from source directory):
sudo mkdir -p /usr/local/share/man/man1 /usr/local/share/man/man5
scdoc < extra/man/alacritty.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
scdoc < extra/man/alacritty-msg.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
scdoc < extra/man/alacritty.5.scd | gzip -c | sudo tee /usr/local/share/man/man5/alacritty.5.gz > /dev/null
scdoc < extra/man/alacritty-bindings.5.scd | gzip -c | sudo tee /usr/local/share/man/man5/alacritty-bindings.5.gz > /dev/null
Shell Completions
Bash Completions
Method 1 – Source from alacritty directory:
echo "source $(pwd)/extra/completions/alacritty.bash" >> ~/.bashrc
Method 2 – Copy to bash_completion directory:
mkdir -p ~/.bash_completion
cp extra/completions/alacritty.bash ~/.bash_completion/alacritty
echo "source ~/.bash_completion/alacritty" >> ~/.bashrc
Zsh Completions
mkdir -p ${ZDOTDIR:-~}/.zsh_functions
echo 'fpath+=${ZDOTDIR:-~}/.zsh_functions' >> ${ZDOTDIR:-~}/.zshrc
cp extra/completions/_alacritty ${ZDOTDIR:-~}/.zsh_functions/_alacritty
Fish Completions
From within fish shell:
mkdir -p $fish_complete_path[1]
cp extra/completions/alacritty.fish $fish_complete_path[1]/alacritty.fish
Configuration
Create Configuration Directory
mkdir -p ~/.config/alacritty
Basic Configuration Example
Create ~/.config/alacritty/alacritty.yml
:
# Alacritty configuration for Fedora
window:
opacity: 0.95
padding:
x: 8
y: 8
dynamic_padding: false
decorations: full
font:
normal:
family: "JetBrains Mono"
style: Regular
bold:
family: "JetBrains Mono"
style: Bold
italic:
family: "JetBrains Mono"
style: Italic
size: 11.0
# Dracula theme colors
colors:
primary:
background: '#282a36'
foreground: '#f8f8f2'
cursor:
text: '#282a36'
cursor: '#f8f8f2'
normal:
black: '#000000'
red: '#ff5555'
green: '#50fa7b'
yellow: '#f1fa8c'
blue: '#bd93f9'
magenta: '#ff79c6'
cyan: '#8be9fd'
white: '#bfbfbf'
bright:
black: '#4d4d4d'
red: '#ff6e67'
green: '#5af78e'
yellow: '#f4f99d'
blue: '#caa9fa'
magenta: '#ff92d0'
cyan: '#9aedfe'
white: '#e6e6e6'
key_bindings:
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Plus, mods: Control, action: IncreaseFontSize }
- { key: Minus, mods: Control, action: DecreaseFontSize }
- { key: Key0, mods: Control, action: ResetFontSize }
- { key: N, mods: Control|Shift, action: SpawnNewInstance }
Fedora-Specific Configurations
SELinux Considerations
If you encounter SELinux issues:
# Check SELinux status
sestatus
# Allow Alacritty if needed
sudo setsebool -P allow_execheap 1
Wayland Integration
For optimal Wayland experience on Fedora:
# Add to alacritty.yml
env:
WINIT_UNIX_BACKEND: wayland
GNOME Integration
Set Alacritty as default terminal in GNOME:
gsettings set org.gnome.desktop.default-applications.terminal exec 'alacritty'
gsettings set org.gnome.desktop.default-applications.terminal exec-arg ''
Troubleshooting
Build Issues
Missing dependencies:
sudo dnf install cmake freetype-devel fontconfig-devel libxcb-devel libxkbcommon-devel gcc-c++ python3
Rust version issues:
# If using system Rust, update
sudo dnf update rust cargo
# If using rustup
rustup update stable
Link errors:
# Install additional development tools
sudo dnf groupinstall "Development Tools"
sudo dnf install pkgconf-devel
Runtime Issues
Font issues:
# Install popular programming fonts
sudo dnf install jetbrains-mono-fonts fira-code-fonts google-noto-fonts
GPU acceleration problems:
# Check graphics drivers
glxinfo | grep "OpenGL renderer"
# For AMD users
sudo dnf install mesa-dri-drivers
# For NVIDIA users
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
Wayland issues:
# Force X11 backend if Wayland has issues
env WAYLAND_DISPLAY= alacritty
SELinux Issues
Permission denied errors:
# Check SELinux denials
sudo ausearch -m AVC -ts recent
# Generate and install policy if needed
sudo audit2allow -a -M alacritty-local
sudo semodule -i alacritty-local.pp
Desktop Environment Integration
KDE Plasma
Add to KDE shortcuts:
# System Settings > Shortcuts > Custom Shortcuts
# Command: alacritty
# Shortcut: Ctrl+Alt+T
GNOME
# Set keyboard shortcut
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'Alacritty'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'alacritty'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding '<Primary><Alt>t'
i3 Window Manager
Add to ~/.config/i3/config
:
bindsym $mod+Return exec alacritty
Updates and Maintenance
System Package Updates
sudo dnf update alacritty
Source Build Updates
cd alacritty
git pull
cargo build --release
sudo cp target/release/alacritty /usr/local/bin
Cargo Installation Updates
cargo install alacritty --force
Flatpak Updates
flatpak update org.alacritty.Alacritty
Performance Tuning
Optimize for Fedora
# Add to alacritty.yml for better performance
scrolling:
history: 10000
multiplier: 3
# Enable hardware acceleration
window:
startup_mode: Windowed
dynamic_title: true
# Optimize drawing
draw_bold_text_with_bright_colors: true
Memory Usage Optimization
# Monitor memory usage
ps aux | grep alacritty
# Reduce history if needed
# scrolling.history: 5000 in config
Uninstallation
Remove Package Installation
sudo dnf remove alacritty
Remove Source Installation
sudo rm /usr/local/bin/alacritty
sudo rm /usr/share/applications/Alacritty.desktop
sudo rm /usr/share/pixmaps/Alacritty.svg
sudo update-desktop-database
Remove Flatpak Installation
flatpak uninstall org.alacritty.Alacritty
Remove Configuration
rm -rf ~/.config/alacritty
Remove Completions
rm ~/.bash_completion/alacritty
rm ${ZDOTDIR:-~}/.zsh_functions/_alacritty
Fedora Note: Fedora’s rapid release cycle means packages are frequently updated. Always run sudo dnf update
before installing new software to ensure compatibility.