A beautiful and feature-rich Hyprland configuration for Arch Linux with intelligent theme management that automatically syncs colors across your entire system.
Intelligent Theme System
- Dynamic theme switching with a single command
- Automatic color synchronization across all applications
- Neovim automatically syncs colors with the active system theme
- 8 carefully curated color schemes included
- Auto-discovery of custom themes
- Validation and error checking for theme files
Supported Applications
- Hyprland (window borders and shadows)
- Waybar (status bar)
- Rofi (application launcher and powermenu)
- Rofi (application launcher)
- Starship (shell prompt)
- Kitty & Alacritty (terminals)
- SwayNC (notifications)
- Btop (system monitor)
- Cava (audio visualizer)
Development Environment
- Neovim with LSP, Treesitter, and modern plugins
- Automatic Neovim colorscheme syncing with the theme switcher
- Optimized keybindings for productivity
- GPU-accelerated terminals
System Management
- Automatic configuration backups (keeps last 5)
- Detailed logging for troubleshooting
- Modular configuration structure
- Easy rollback capabilities
- Catppuccin Mocha
- Catppuccin Latte
- Tokyo Night
- Dracula
- Rose Pine
- Gruvbox
- Nord
- One Dark
- Arch Linux (or Arch-based distribution)
- Git
- AUR helper (yay or paru - installed automatically if missing)
git clone https://github.com/AnanyTanwar/hyprland-dotfiles.git
cd hyprland-dotfiles
chmod +x install.sh
./install.shThe installation script will:
- Install all required packages and dependencies
- Install Nerd Fonts (JetBrains Mono, FiraCode, Meslo)
- Backup existing configurations with timestamp
- Create symlinks to the dotfiles
- Set up the theme switcher
- Install theme-matched wallpapers to ~/Pictures/Wallpapers
After installation, log out and log back in to apply all changes.
For manual installation instructions, see the Manual Installation Guide.
Run the theme switcher:
~/.config/theme-switcher/scripts/switcher.shOr use the keybinding: SUPER + T
# Show interactive menu (default)
switcher.sh
# Apply specific theme
switcher.sh apply tokyo-night
# List available themes
switcher.sh list
# Show current theme
switcher.sh current
# Show help
switcher.sh help# List available palettes
generate-themes.py -l
# Validate all palettes
generate-themes.py --validate
# Generate specific theme
generate-themes.py -t dracula
# Verbose output
generate-themes.py -v- Create a JSON palette in
config/theme-switcher/palettes/:
{
"name": "my-theme",
"base": "#1e1e2e",
"text": "#cdd6f4",
"red": "#f38ba8",
"green": "#a6e3a1",
"yellow": "#f9e2af",
"blue": "#89b4fa",
"pink": "#f5c2e7"
}- Generate the theme:
~/.config/theme-switcher/scripts/generate-themes.pyYour theme will automatically appear in the theme switcher.
| Keybind | Action |
|---|---|
SUPER + Q |
Close window |
SUPER + Return |
Open terminal |
SUPER + D |
Application launcher |
SUPER + T |
Theme switcher |
SUPER + E |
File manager |
SUPER + V |
Toggle floating |
SUPER + F |
Toggle fullscreen |
SUPER + [1-9] |
Switch workspace |
SUPER + SHIFT + [1-9] |
Move window to workspace |
Complete keybinding reference: config/hypr/config/keybinds.conf
hyprland-dotfiles/
├── config/
│ ├── hypr/
│ │ ├── hyprland.conf
│ │ ├── hyprlock.conf
│ │ ├── config/ # Modular configuration
│ │ │ ├── animations.conf
│ │ │ ├── appearance.conf
│ │ │ ├── keybinds.conf
│ │ │ ├── monitors.conf
│ │ │ ├── programs.conf
│ │ │ ├── windowrules.conf
│ │ │ └── workspaces.conf
│ │ └── scripts/ # Utility scripts
│ ├── theme-switcher/
│ │ ├── palettes/ # JSON color definitions
│ │ ├── themes/ # Generated theme files
│ │ └── scripts/
│ │ ├── generate-themes.py
│ │ └── switcher.sh
│ ├── waybar/
│ ├── rofi/
│ ├── kitty/
│ ├── alacritty/
│ ├── swaync/
│ ├── nvim/
│ ├── btop/
│ ├── cava/
│ └── starship/
├── .zshrc
├── install.sh
└── README.md
All Hyprland settings are modular and easy to customize:
config/animations.conf- Animation timing and curvesconfig/appearance.conf- Visual settings (borders, gaps, rounding)config/keybinds.conf- Keyboard shortcutsconfig/monitors.conf- Display configurationconfig/programs.conf- Default applicationsconfig/windowrules.conf- Application-specific rulesconfig/workspaces.conf- Workspace behavior
Edit ~/.config/starship/starship.toml to customize your prompt.
Colors are automatically synchronized with the active theme.
Scripts not executing
chmod +x ~/.config/theme-switcher/scripts/*.sh
chmod +x ~/.config/hypr/scripts/*.shWaybar not visible
pkill waybar && waybar &Missing icons
yay -S ttf-jetbrains-mono-nerd ttf-firacode-nerdTheme not applying
# Check logs
cat ~/.config/theme-switcher/.theme-switcher.log
# Regenerate themes
~/.config/theme-switcher/scripts/generate-themes.py -v
# Reapply current theme
~/.config/theme-switcher/scripts/switcher.sh apply $(cat ~/.config/theme-switcher/.current-theme)- GTK theme integration
- Wallpaper manager with theme-matched wallpapers
- Firefox theme synchronization
- Additional color schemes
- Theme import/export functionality
Themes
Software
- Hyprland - Wayland compositor
- The Hyprland community for inspiration
MIT License - see LICENSE file for details.
Issues and pull requests are welcome. For major changes, please open an issue first to discuss proposed changes.
Made by Anany Tanwar
If you find this useful, consider giving it a star ⭐











