System requirements
This dotfiles configuration is designed for Linux systems running Wayland compositors, specifically Hyprland.
Supported distributions
Fedora
Fully tested and documented with DNF package installation
Arch Linux
Supported with AUR packages via yay
Other distributions may work but require manual dependency resolution.
System prerequisites
- Display server: Wayland (required for Hyprland)
- Shell: Bash (for installation scripts) and Fish (runtime)
- Git: For cloning the repository
- Disk space: Approximately 500MB for all dependencies
- Internet connection: Required for initial setup and package installation
Core dependencies
These packages are essential for the dotfiles to function properly.
Hyprland ecosystem
The window manager and its companion tools:
sudo dnf install hyprland hyprland-devel hyprlock hypridle hyprpaper hyprpolkitagent
| Package | Purpose |
|---|
hyprland | Dynamic tiling Wayland compositor |
hyprlock | Screen locker for Hyprland |
hypridle | Idle daemon (auto-lock, screen off) |
hyprpaper | Wallpaper utility |
hyprpolkitagent | Polkit authentication agent |
Shell and terminal
sudo dnf install fish kitty
| Package | Purpose |
|---|
fish | Friendly interactive shell with VI keybindings |
kitty | GPU-accelerated terminal emulator |
Status bar and system tray
sudo dnf install waybar nm-applet blueman pavucontrol
| Package | Purpose |
|---|
waybar | Highly customizable Wayland status bar |
nm-applet | NetworkManager system tray applet |
blueman | Bluetooth manager with tray applet |
pavucontrol | PulseAudio volume control |
Application launcher and utilities
sudo dnf install rofi mako gammastep
| Package | Purpose |
|---|
rofi | Application launcher and dmenu replacement |
mako | Lightweight Wayland notification daemon |
gammastep | Screen color temperature adjustment (Redshift for Wayland) |
Clipboard management
sudo dnf install wl-clipboard cliphist
| Package | Purpose |
|---|
wl-clipboard | Command-line Wayland clipboard utilities |
cliphist | Clipboard history manager |
Text editor
sudo dnf install neovim lua lua-devel luarocks go lua5.1
| Package | Purpose |
|---|
neovim | Hyperextensible Vim-based text editor |
lua, lua-devel | Lua runtime and development files for Neovim plugins |
luarocks | Lua package manager |
go | Required for some Neovim LSP servers |
The Neovim configuration uses LazyVim, which will auto-install plugins on first launch.
Optional dependencies
These packages enhance functionality but aren’t strictly required.
Screenshots and screen recording
sudo dnf install grimblast
| Package | Purpose |
|---|
grimblast | Screenshot utility for Hyprland |
sudo dnf install playerctl brightnessctl
| Package | Purpose |
|---|
playerctl | Media player control (MPRIS) |
brightnessctl | Backlight control for laptops |
File management
sudo dnf install nautilus exa
| Package | Purpose |
|---|
nautilus | GNOME file manager |
exa | Modern replacement for ls (used in Fish config) |
Font packages
Nerd Fonts are required for proper icon display in Waybar and terminal:
sudo dnf copr enable zawertun/hack-fonts
sudo dnf install hack-fonts
Without Nerd Fonts, Waybar icons will not display correctly.
sudo dnf install gh flatpak
| Package | Purpose |
|---|
gh | GitHub CLI for repository management |
flatpak | Application sandboxing and distribution |
Shell enhancements
Optional tools that enhance the Fish shell experience:
# Install via their respective methods
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
| Package | Purpose |
|---|
zoxide | Smarter cd command (autojump) |
atuin | Magical shell history with sync |
The Fish configuration auto-detects and initializes these tools if installed.
For managing the dotfiles installation:
GNU Stow (recommended)
GNU Stow creates symlinks for dotfile management, making updates easier.
Rsync (alternative)
Most distributions include rsync by default. If not:
Quick dependency installation
Install all core dependencies with a single command:
sudo dnf install -y \
hyprland hyprland-devel hyprlock hypridle hyprpaper hyprpolkitagent \
fish kitty waybar nm-applet blueman pavucontrol \
rofi mako gammastep wl-clipboard cliphist \
neovim lua lua-devel luarocks go lua5.1 \
nautilus exa playerctl brightnessctl \
gh flatpak stow
Verification
After installing dependencies, verify core tools are available:
# Check Hyprland
hyprland --version
# Check Fish
fish --version
# Check Neovim
nvim --version
# Check Waybar
waybar --version
# Check Stow
stow --version
All commands should return version information without errors.
Fedora rawhide
For a more rolling-release experience on Fedora:
# Upgrade to Rawhide (optional)
sudo dnf system-upgrade download --releasever=rawhide
sudo dnf system-upgrade reboot
Rawhide is Fedora’s development branch. It’s cutting-edge but may be unstable.
Fedora COPR repositories
Some packages require enabling COPR repositories:
# Hyprland ecosystem
sudo dnf copr enable solopasha/hypr
# Hack Nerd Fonts
sudo dnf copr enable zawertun/hack-fonts
# Obsidian (optional)
sudo dnf copr enable alxhr0/Obsidian
Arch AUR access
Ensure you have an AUR helper installed:
# Install yay if not already installed
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Hardware considerations
Graphics drivers
Hyprland requires proper graphics drivers for Wayland:
- NVIDIA: Use
nvidia-open or nvidia proprietary drivers (515+)
- AMD: Mesa drivers (included in most distributions)
- Intel: Mesa drivers (included in most distributions)
Laptop-specific
For laptop users, these additional packages are recommended:
# Fedora
sudo dnf install power-profiles-daemon brightnessctl
# Arch
pacman -S power-profiles-daemon brightnessctl
The configuration includes a laptop variant (hyprland-laptop.conf) with appropriate display settings.
Next steps
Once you’ve verified all requirements are met:
Installation guide
Proceed with installing the dotfiles
Introduction
Learn more about the project