9.6 KiB
Installation Guide
This guide provides detailed installation instructions for the Hyprland dotfiles configuration.
Prerequisites
System Requirements
- Operating System: Arch Linux (primary support)
- Display Server: Wayland
- Memory: Minimum 4GB RAM (8GB recommended)
- Storage: At least 2GB free space
- GPU: Any GPU with Vulkan support (Intel/AMD/NVIDIA)
Required Knowledge
- Basic Linux command line usage
- Understanding of symbolic links
- Familiarity with package managers (pacman)
Installation Methods
Method 1: Automated Installation (Recommended)
This is the fastest way to get up and running:
# Clone the repository
cd ~/
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
cd dotfiles
# Make the script executable
chmod +x install_scripts/install.sh
# Run the installation
./install_scripts/install.sh
What this does:
- Creates symbolic links for all configuration files
- Backs up existing configurations (if any)
- Sets up proper directory structure
- Installs custom scripts to
~/dotfiles/bin
Method 2: Manual Installation
For users who want full control over the installation process:
Step 1: Clone Repository
cd ~/
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
cd dotfiles
Step 2: Backup Existing Configurations
# Create backup directory
mkdir -p ~/config_backup/$(date +%Y%m%d_%H%M%S)
# Backup existing configs
[ -d ~/.config/hypr ] && mv ~/.config/hypr ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -d ~/.config/waybar ] && mv ~/.config/waybar ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -d ~/.config/kitty ] && mv ~/.config/kitty ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -d ~/.config/mako ] && mv ~/.config/mako ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -f ~/.vimrc ] && mv ~/.vimrc ~/config_backup/$(date +%Y%m%d_%H%M%S)/
Step 3: Create Symbolic Links
# Essential configurations
ln -sf ~/dotfiles/hypr ~/.config/hypr
ln -sf ~/dotfiles/waybar ~/.config/waybar
ln -sf ~/dotfiles/kitty ~/.config/kitty
ln -sf ~/dotfiles/mako ~/.config/mako
ln -sf ~/dotfiles/ranger ~/.config/ranger
ln -sf ~/dotfiles/fastfetch ~/.config/fastfetch
ln -sf ~/dotfiles/rofi ~/.config/rofi
# Shell and system configs
ln -sf ~/dotfiles/vimrc ~/.vimrc
ln -sf ~/dotfiles/tmux.conf ~/.tmux.conf
ln -sf ~/dotfiles/gitconfig ~/.gitconfig
# Optional configurations
ln -sf ~/dotfiles/greenclip/greenclip.toml ~/.config/greenclip.toml
ln -sf ~/dotfiles/rofi/emoji/rofimoji.rc ~/.config/rofimoji.rc
Step 4: Set Up Custom Scripts
# Add dotfiles bin to PATH (if not already done)
echo 'export PATH=$PATH:~/dotfiles/bin' >> ~/.bashrc
# or for zsh users:
echo 'export PATH=$PATH:~/dotfiles/bin' >> ~/.zshrc
# Make scripts executable
chmod +x ~/dotfiles/bin/*
chmod +x ~/dotfiles/hypr/bin/*
Method 3: Docker-based Testing
For testing the configuration without affecting your system:
# Build the test environment
docker build -t hyprland-dotfiles .
# Run the test environment
docker run -it hyprland-dotfiles
Package Installation
Essential Packages
Install these packages before using the configuration:
# Core Hyprland packages
sudo pacman -S hyprland waybar rofi kitty mako
# System utilities
sudo pacman -S fastfetch ranger vim git tmux
# Audio and media
sudo pacman -S pulseaudio pulseaudio-alsa pamixer
# Fonts (important for proper display)
sudo pacman -S ttf-fira-code noto-fonts noto-fonts-emoji
# Additional tools
sudo pacman -S grim slurp wl-clipboard xdg-utils
AUR Packages
Some packages are available in the AUR:
# Using yay AUR helper
yay -S greenclip hyprlock hyprpaper
# Or using paru
paru -S greenclip hyprlock hyprpaper
Optional Packages
These packages enhance the experience but aren't required:
# Notification alternatives
sudo pacman -S swaync dunst
# Terminal alternatives
sudo pacman -S alacritty
# System monitoring
sudo pacman -S htop btop neofetch cava
# Display management
sudo pacman -S ly picom
# Development tools
sudo pacman -S code firefox thunderbird
Post-Installation Setup
1. Shell Configuration
Add the shell configuration to your shell's RC file:
# For bash users
echo 'source ~/dotfiles/shell/source.sh' >> ~/.bashrc
# For zsh users
echo 'source ~/dotfiles/shell/source.sh' >> ~/.zshrc
# Reload your shell
source ~/.bashrc # or ~/.zshrc
2. Environment Variables
Set up environment variables for optimal Wayland experience:
# Add to ~/.pam_environment or ~/.profile
export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_DESKTOP=Hyprland
export XDG_SESSION_TYPE=wayland
export MOZ_ENABLE_WAYLAND=1
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export GDK_BACKEND=wayland
3. Display Manager Setup
If using a display manager, configure it to start Hyprland:
For GDM/LightDM
Create a desktop entry:
sudo tee /usr/share/wayland-sessions/hyprland.desktop > /dev/null <<EOF
[Desktop Entry]
Name=Hyprland
Comment=An intelligent dynamic tiling Wayland compositor
Exec=Hyprland
Type=Application
EOF
For SDDM
sudo systemctl enable sddm
4. Auto-start Services
Enable necessary services:
# Audio service
systemctl --user enable pulseaudio
# Clipboard manager
systemctl --user enable greenclip
# Notification daemon
systemctl --user enable mako
Customization
1. Monitor Configuration
Edit ~/dotfiles/hypr/monitors.conf to match your setup:
# Example for single monitor
monitor=,preferred,auto,1
# Example for dual monitors
monitor=DP-1,1920x1080@60,0x0,1
monitor=HDMI-A-1,1920x1080@60,1920x0,1
2. Keyboard Layout
Edit ~/dotfiles/hypr/keyboard.conf:
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
}
3. Startup Applications
Edit ~/dotfiles/hypr/startup.conf to add your applications:
exec-once = discord
exec-once = firefox
exec-once = spotify
4. Window Rules
Customize window behavior in ~/dotfiles/hypr/windowrules.conf:
# Example window rules
windowrule = float, ^(pavucontrol)$
windowrule = size 800 600, ^(pavucontrol)$
windowrule = opacity 0.8, ^(kitty)$
Troubleshooting
Common Issues
1. Hyprland Won't Start
Check GPU drivers:
lspci -k | grep -A 2 -E "(VGA|3D)"
For NVIDIA users:
# Install proprietary drivers
sudo pacman -S nvidia nvidia-utils
# Add to kernel parameters
sudo vim /etc/default/grub
# Add: nvidia-drm.modeset=1
sudo grub-mkconfig -o /boot/grub/grub.cfg
2. Waybar Not Showing
Check if running:
pgrep waybar
Restart Waybar:
killall waybar
waybar &
Check configuration:
waybar -c ~/.config/waybar/config -s ~/.config/waybar/style.css
3. Audio Issues
Check PulseAudio:
pulseaudio --check
pactl info
Restart audio system:
pulseaudio -k
pulseaudio --start
4. Rofi Not Working
Test Rofi:
rofi -show drun
Check theme:
rofi-theme-selector
5. Fonts Not Displaying Correctly
Install additional fonts:
sudo pacman -S ttf-liberation ttf-dejavu
Rebuild font cache:
fc-cache -fv
Log Files
Check these locations for debugging:
- Hyprland:
~/.local/share/hyprland/hyprland.log - Waybar:
journalctl --user -u waybar - System:
journalctl -xe
Performance Issues
1. High CPU Usage
Check running processes:
htop
Optimize Hyprland:
# In hyprland.conf
misc {
vfr = true
vrr = 1
}
2. Memory Usage
Monitor memory:
free -h
watch -n 1 'cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable"'
Updating
Update Dotfiles
cd ~/dotfiles
git pull origin main
Update System
# Update packages
sudo pacman -Syu
# Update AUR packages
yay -Syu # or paru -Syu
Backup Before Updates
# Create backup
tar -czf ~/dotfiles_backup_$(date +%Y%m%d).tar.gz ~/.config/hypr ~/.config/waybar ~/.config/kitty
# Or use the backup script
~/dotfiles/bin/backup_configs.sh
Uninstallation
Remove Configurations
# Remove symbolic links
rm ~/.config/hypr ~/.config/waybar ~/.config/kitty ~/.config/mako
rm ~/.vimrc ~/.tmux.conf ~/.gitconfig
# Remove from PATH
# Edit ~/.bashrc or ~/.zshrc and remove the PATH addition
Remove Packages
# Remove main packages
sudo pacman -R hyprland waybar rofi kitty mako
# Remove AUR packages
yay -R greenclip hyprlock hyprpaper
Restore Backups
# If you created backups
mv ~/config_backup/[timestamp]/* ~/.config/
Getting Help
Community Support
- Discord: Hyprland Discord
- Reddit: r/hyprland
- GitHub Issues: Project Issues
Documentation
- Hyprland Wiki: hyprland.org
- Waybar Documentation: Waybar GitHub
- Arch Wiki: Hyprland - ArchWiki
Reporting Issues
When reporting issues, please include:
-
System Information:
uname -a lscpu | grep "Model name" lspci | grep VGA -
Package Versions:
pacman -Q hyprland waybar rofi kitty -
Log Files:
tail -50 ~/.local/share/hyprland/hyprland.log -
Configuration Files:
- Your modified configuration files
- Any custom scripts or modifications
Note: This installation guide is primarily for Arch Linux. For other distributions, package names and installation methods may differ.