A minimal, highly modular, Lua-powered Hyprland setup for Arch Linux. Featuring Waybar, Rofi, Kitty, Cava, screenshot utilities, and a beautifully clean Gruvbox Material-inspired theme.
- 100% Lua-Based: Hyprland configured entirely through Lua for ultimate scriptability.
- Modular Structure: Clean, separated configuration modules that are easy to read and maintain.
- Gruvbox Material: Cohesive, relaxing theme applied across Waybar and Rofi.
- Cava Integration: Audio visualizer with multiple custom GLSL shaders (Spectrogram, Northern Lights, Orion, Winamp-style) and color themes.
- Clipboard History: Quick clipboard access using
cliphistand Rofi (SUPER + A). - Dynamic Wallpapers: Switch between wallpapers using
ALT + 1-8, or hitALT + 0to select a random wallpaper! - Included Scripts: Custom utilities for screenshots and Waybar reloading.
hyprlandLua/
├── README.md
└── .config
├── cava
│ ├── config
│ ├── shaders/
│ │ ├── bar_spectrum.frag
│ │ ├── eye_of_phi.frag
│ │ ├── northern_lights.frag
│ │ ├── orion_circle.frag
│ │ ├── spectrogram.frag
│ │ └── winamp_line_style_spectrum.frag
│ └── themes/
│ ├── solarized_dark
│ └── tricolor
├── hypr
│ ├── hyprland.lua
│ ├── hyprlock.conf
│ └── modules
│ ├── autostart.lua
│ ├── binds.lua
│ ├── decorations.lua
│ ├── env.lua
│ ├── input.lua
│ ├── layout.lua
│ ├── misc.lua
│ ├── monitors.lua
│ └── windowrules.lua
├── kitty
│ └── kitty.conf
├── rofi
│ ├── clipboard.rasi
│ ├── colors/
│ ├── scripts/
│ │ └── launcher.sh
│ └── style.rasi
├── screenshot
│ └── screenshot-script.sh
├── wallpaper
│ ├── pic1.png
│ └── ... (your wallpapers here)
└── waybar
├── colors/
├── config.jsonc
├── scripts/
│ └── launch.sh
└── style.css
| Component | Path |
|---|---|
| Main Hyprland Config | ~/.config/hypr/hyprland.lua |
| Hyprlock Config | ~/.config/hypr/hyprlock.conf |
| Keybindings | ~/.config/hypr/modules/binds.lua |
| Decorations & Animations | ~/.config/hypr/modules/decorations.lua |
| Window Rules | ~/.config/hypr/modules/windowrules.lua |
| Cava Audio Config | ~/.config/cava/config |
| Cava Shaders | ~/.config/cava/shaders/ |
| Wallpapers Directory | ~/.config/wallpaper/ |
| Kitty Config | ~/.config/kitty/kitty.conf |
| Rofi Theme | ~/.config/rofi/style.rasi |
| Waybar Config | ~/.config/waybar/config.jsonc |
| Screenshot Script | ~/.config/screenshot/screenshot-script.sh |
sudo pacman -S hyprland lua hyprlock waybar rofi-wayland kitty wl-clipboard cliphist(Note: Ensure you install rofi-wayland, not the standard X11 rofi!)
# Audio, brightness, screenshots, visualizer, and notifications
sudo pacman -S cava brightnessctl pamixer playerctl grim slurp pavucontrol swaync(Note: You will also need awww installed to use the wallpaper switching scripts).
1. Clone the Repository
git clone https://github.com/KrishnaX12/hyprlandLua.git
cd hyprlandLua2. Make Scripts Executable
chmod +x .config/rofi/scripts/launcher.sh .config/screenshot/screenshot-script.sh .config/waybar/scripts/launch.sh3. Copy Configuration Files
cp -r .config/* ~/.config/4. Reload Hyprland
hyprctl reload
⚠️ Disclaimer: Always back up your existing~/.configfiles before installation!
- Built and tested heavily on Arch Linux.
- Feel free to fork, modify, and improve. If you add cool new Lua modules, pull requests are welcome!