Table of Contents
- Introduction
- Modular Configuration Philosophy
- Key Configuration Directories
- Using the
hyprL-config
Tool - Manual Configuration
Introduction
HyprL is designed with a highly modular and organized configuration system, making it easy to understand, customize, and maintain. Instead of a single, monolithic configuration file, settings are broken down into smaller, logical units across various directories. This approach simplifies updates and allows users to easily swap out or modify specific components without affecting the entire system.
All HyprL configuration files are primarily located within the ~/.config/
directory, which is typically a symlink to the dotfiles/
directory in the main HyprL project.
Modular Configuration Philosophy
The core idea behind HyprL’s configuration is to separate concerns. For example, Hyprland’s main configuration (hyprland.conf
) sources many smaller .conf
files, each dedicated to a specific aspect like animations, keybindings, or window rules. This makes it straightforward to find and modify the setting you’re looking for.
Key Configuration Directories
Hyprland Configuration (~/.config/hypr/
)
This directory holds all the configuration files for the Hyprland compositor itself. The main hyprland.conf
file acts as an orchestrator, sourcing other configuration files from its conf/
subdirectory.
~/.config/hypr/hyprland.conf
: The primary Hyprland configuration file. It includes other files usingsource = ...
directives.~/.config/hypr/conf/
: Contains sub-configurations for Hyprland, such as:animation.conf
: Defines window and workspace animations.autostart.conf
: Scripts and applications that launch when Hyprland starts.decoration.conf
: Settings for window borders, shadows, and blur effects.keybindings/
: Directory containing different keybinding presets.monitors/
: Directory for various monitor configurations.windows/
: Directory for window-specific rules and styles.
HyprL Specific Settings (~/.config/hyprL/
)
This directory contains scripts and settings specific to the HyprL project, often used by the hyprL-config
tool.
~/.config/hyprL/settings/
: Contains various shell scripts that define or modify specific settings, such as wallpaper paths, Waybar themes, and more.~/.config/hyprL/scripts/
: Utility scripts used by the HyprL environment.
Other Application Configurations
HyprL also manages configurations for other essential applications:
~/.config/waybar/
: Configuration for the Waybar status bar (e.g.,config
,style.css
,modules.json
, andthemes/
).~/.config/rofi/
: Configuration for the Rofi application launcher.~/.config/kitty/
: Configuration for the Kitty terminal emulator.~/.config/dunst/
: Configuration for the Dunst notification daemon.~/.config/swaync/
: Configuration for the SwayNC notification center.
Using the hyprL-config
Tool
HyprL provides an interactive command-line tool, hyprL-config.sh
, to simplify managing many of these settings. This tool allows you to:
- Switch Waybar themes.
- Change window decorations.
- Configure monitors.
- Set wallpapers.
- And more, with an easy-to-use menu system.
To run the tool, open a terminal and type:
hyprL-config
This tool automates the process of modifying the underlying configuration files, making customization accessible without needing to manually edit complex text files.
Manual Configuration
For advanced users or specific customizations not covered by hyprL-config
, you can always manually edit the configuration files. Remember to:
- Use a text editor:
nvim
(Neovim) is pre-configured in HyprL and can be used from the terminal. - Reload Hyprland: After modifying Hyprland configuration files (those in
~/.config/hypr/
), you can apply changes without logging out by running:hyprctl reload
- Restart applications: For changes to other applications (like Waybar or Rofi), you might need to restart them. Refer to their specific documentation or restart your Hyprland session.