6.7 KiB
HyprDuma Dotfiles
Personal Hyprland configuration focused on productivity and ergonomics.
Features
Enhanced Keybindings
- KEYBINDS.md - Complete keybindings reference
Visual & UX
- Minimal gaps (10px/40px) for space efficiency
- Blur effects and transparency
- Smooth custom animations with bezier curves
- Pywal integration - Dynamic colors from wallpaper (optional)
Input
- 3-finger gestures (horizontal: workspace, vertical: fullscreen)
- Dual keyboard layout (US/RU with
ALT + SHIFTtoggle) - Numlock enabled by default
- Optimized touchpad scrolling
Display Setup
- Dual monitor configuration (HDMI-A-1 flipped + eDP-1)
- Workspaces 1-4 on external monitor
- Workspaces 5-10 on laptop screen
Complete Installation Guide
Follow these steps in order to install the complete setup from scratch.
Prerequisites: Install AUR Helpers (Optional but Recommended)
If you don't have yay and paru installed yet, you can install both:
# Install yay
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
cd .. && rm -rf yay
# Install paru
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
cd .. && rm -rf paru
Step 1: Install Required Packages
# Install all required packages in one command
sudo pacman -S hyprland hyprlock hyprshot wlogout kitty waybar swaybg waypaper wofi nautilus wireplumber pipewire-pulse brightnessctl playerctl adwaita-cursors python-pywal
Step 2: Install Caelestia Shell (Recommended)
Caelestia is a modern shell with AI features that integrates with the pywal theming system.
# Install Caelestia via yay
yay -S caelestia-shell # caelestia-shell-git is bleeding edge & unstable one
# Start Caelestia daemon (it will auto-restart when pywal colors change)
caelestia shell -d &
Note: Caelestia runs as a background service and integrates with pywal for dynamic color theming.
Step 3: Clone This Repository
# Clone to a temporary location
cd ~/Downloads
git clone https://github.com/duma97/hyprduma-config.git
cd hyprduma-config
Step 4: Backup Existing Configs (If Any)
# Backup existing Hyprland config
[ -d ~/.config/hypr ] && mv ~/.config/hypr ~/.config/hypr.backup
# Backup existing waybar config
[ -d ~/.config/waybar ] && mv ~/.config/waybar ~/.config/waybar.backup
# Backup existing wlogout config
[ -d ~/.config/wlogout ] && mv ~/.config/wlogout ~/.config/wlogout.backup
Step 5: Install Hyprland Configuration
# Create Hypr config directory
mkdir -p ~/.config/hypr
# Copy main config
cp hyprland.conf ~/.config/hypr/
cp hyprland-colors.conf ~/.config/hypr/
# Create screenshots directory (used by config)
mkdir -p ~/Pictures/Screenshots
Step 6: Configure Your Applications
IMPORTANT: Edit the config file to set your preferred applications.
# Open the config file
nvim ~/.config/hypr/hyprland.conf
# Find lines 27-34 and adjust these variables:
# $terminal = kitty # Your terminal
# $fileManager = dolphin # Your file manager
# $menu = wofi --show drun # Your app launcher
# $telegram = Telegram # Path to Telegram
# $spotify = spotify # Path to Spotify
# $vscode = code # Path to VSCode
# $browser = your-browser # Your browser command
Step 7: Install Pywal Integration (Strongly Recommended)
Pywal provides dynamic color theming based on your wallpaper.
# Install pywal templates
mkdir -p ~/.config/wal/templates
cp -r wal/templates/* ~/.config/wal/templates/
# Copy the color application and wallpaper sync scripts
cp pywal.sh ~/.config/hypr/
cp sync-caelestia-wallpaper.sh ~/.config/hypr/
chmod +x ~/.config/hypr/pywal.sh
chmod +x ~/.config/hypr/sync-caelestia-wallpaper.sh
# Also copy to home directory for easier access
cp pywal.sh ~/pywal.sh
chmod +x ~/pywal.sh
# Test pywal with a wallpaper
wal -i /path/to/your/wallpaper.png
# Apply colors to Hyprland and Caelestia (from anywhere)
~/pywal.sh
What this does:
- Generates a color scheme from your wallpaper
- Applies colors to Hyprland window borders
- Applies colors to Caelestia shell (if installed)
- Restarts necessary services to apply changes
Step 8: Start Hyprland
# If you're in a TTY, start Hyprland
Hyprland
# If already in Hyprland, reload the config
# Press SUPER + SHIFT + R (or restart Hyprland session)
Post-Installation
Setting Wallpaper with Pywal
# Generate colors and apply them
wal -i /path/to/wallpaper.png && ~/pywal.sh
# Or use the wallpapers included in this repo
wal -i ~/.config/hypr/wallpapers/sakura.jpg && ~/pywal.sh
Note about waypaper and Caelestia:
- This config uses swaybg as the wallpaper backend (not hyprpaper)
- Use
waypaperGUI (Super+W) to select wallpapers - Waypaper with swaybg backend automatically saves and restores your wallpaper on login
- Important: Caelestia shell has its own wallpaper management that may conflict with waypaper
- The config includes
sync-caelestia-wallpaper.shto automatically sync Caelestia's wallpaper reference with swaybg - This sync happens automatically on startup and when you open waypaper (Super+W)
- For pywal integration, use
wal -ias shown above, then run the apply script (which also syncs Caelestia)
Monitor Configuration
If you have different monitors, adjust lines 4-18 in ~/.config/hypr/hyprland.conf:
nvim ~/.config/hypr/hyprland.conf
# Edit monitor configuration:
# monitor = eDP-1, 1920x1080@144, 1920x0, 1
# monitor = HDMI-A-1, 1920x1080@144, 0x0, 1, transform, 2
Keyboard Layout
Default is US/RU with ALT+SHIFT toggle. To change, edit ~/.config/hypr/hyprland.conf line 42:
kb_layout = us, ru # Change to your layouts
Documentation
- KEYBINDS.md - Complete keybindings reference
- PYWAL-SETUP.md - Detailed pywal integration guide
Troubleshooting
Hyprland won't start
- Check if all required packages are installed
- Review error logs:
journalctl -b | grep hyprland
Applications don't launch
- Make sure you edited the app variables in
hyprland.conf(lines 27-34) - Check if the applications are actually installed
Pywal colors not applying
- Ensure the script is executable:
chmod +x ~/pywal.sh - Check if pywal cache exists:
ls ~/.cache/wal/ - Manually reload:
~/pywal.sh
Caelestia colors not updating
# Restart Caelestia daemon
pkill caelestia && sleep 0.5 && caelestia shell -d &
Wallpaper not showing on startup
# Restore wallpaper with waypaper
waypaper restore
# Manually restart swaybg if needed
pkill swaybg && swaybg &
Note
Everything is still in progress. Feel free to customize and adjust to your needs!