Table of Contents

Introduction

HyprL’s configuration is designed to be modular and easy to understand, even for new users. This guide will walk you through the main configuration files and how they are structured.

All configuration files are located in the ~/.config/ directory, which is typically symlinked from the dotfiles/ directory in the HyprL project.

Main Configuration Files

Hyprland Configuration (hyprland.conf)

This is the core configuration file for Hyprland. It’s located at ~/.config/hypr/hyprland.conf. Instead of having one massive file, HyprL breaks down the Hyprland configuration into smaller, more manageable files located in ~/.config/hypr/conf/.

hyprland.conf sources these individual files using the source command. For example:

source = ~/.config/hypr/conf/animation.conf
source = ~/.config/hypr/conf/autostart.conf
# ... and so on

Waybar Configuration (waybar/)

Waybar is the highly customizable status bar. Its configuration files are located in ~/.config/waybar/.

  • ~/.config/waybar/config: The main configuration file for Waybar modules.
  • ~/.config/waybar/style.css: The CSS file for styling Waybar.
  • ~/.config/waybar/modules.json: Defines the modules used in Waybar.

HyprL also uses a theming system for Waybar, with themes located in ~/.config/waybar/themes/.

Rofi Configuration (rofi/)

Rofi is the application launcher and window switcher. Its configuration files are in ~/.config/rofi/.

  • ~/.config/rofi/config.rasi: The main Rofi configuration.
  • ~/.config/rofi/colors.rasi: Defines the color scheme for Rofi.

Kitty Configuration (kitty/)

Kitty is the default terminal emulator. Its configuration is at ~/.config/kitty/kitty.conf.

Dunst Configuration (dunst/)

Dunst is the notification daemon. Its configuration is at ~/.config/dunst/dunstrc.

SwayNC Configuration (swaync/)

SwayNC is another notification center. Its configuration is at ~/.config/swaync/config.json and ~/.config/swaync/style.css.

Modular Configuration

HyprL emphasizes a modular approach to configuration, making it easier to manage and customize.

Hyprland Sub-configurations (hypr/conf/)

As mentioned, the ~/.config/hypr/conf/ directory contains various .conf files that are sourced by hyprland.conf. These include:

  • animation.conf: Defines window animations.
  • autostart.conf: Scripts and applications to run on startup.
  • decoration.conf: Window decorations, shadows, and blur.
  • keybindings.conf: Keyboard shortcuts.
  • layout.conf: Layout settings for tiling.
  • misc.conf: Miscellaneous Hyprland settings.
  • window.conf: Window-specific rules and settings.
  • workspace.conf: Workspace behavior.

Within these, you’ll often find further subdirectories (e.g., hypr/conf/animations/, hypr/conf/monitors/) for even more granular control and theme variations.

HyprL Settings (hyprL/settings/)

The ~/.config/hyprL/settings/ directory contains scripts and configuration snippets used by the hyprL-config tool to manage various aspects of your desktop, such as wallpaper settings, Waybar modules, and more.

Editing Configuration Files

To edit these files, you can use any text editor. HyprL comes with Neovim pre-configured, which you can open from the terminal:

nvim ~/.config/hypr/hyprland.conf

After making changes to Hyprland configuration files, you can reload Hyprland without restarting your session by running:

hyprctl reload

For changes to Waybar or other applications, you might need to restart them (e.g., by logging out and back in, or using a specific restart command if available).