Hyprland Home Manager module overhaul #11

Open
opened 2026-03-30 12:06:30 +02:00 by sid · 0 comments
Owner

Introduce a new API for hyprland.applications:

wayland.windowManager.hyprland.applications.<name>.enable
wayland.windowManager.hyprland.applications.<name>.bind
wayland.windowManager.hyprland.applications.<name>.windowrule

where <name> is the name of the app (e.g. librewolf) or an arbitrary name for a group of apps (e.g. bitwarden for rbw and rofi-rbw).

More options may be added, global or app specific.

Notice that <name> is the name of the app itself, not the app category as it is now, so it is possible to enable multiple apps in the same category (e.g. chromium and librewolf).

Do not define modules for <name> in hyprland.applications. Instead, import modules from flake inputs or outputs and only set their config. hyprland.applications should be middle layer between Home Manager modules and your Hyprland config. It should set a minimal config to work with the Window Manager, which is what bind and windowrule are for. Additionally, you may set environment variables, package overlays / overrides, secrets, wrapper scripts, notification settings, etc., to make the app(s) work inside Hyprland.

Move as much apps as possible to this new API. For example, Chromium and Steam are not part of hyprland.applications at the moment.

Enable a core set of applications by default in the Hyprland Home Manager module.

Introduce a new API for `hyprland.applications`: ``` wayland.windowManager.hyprland.applications.<name>.enable wayland.windowManager.hyprland.applications.<name>.bind wayland.windowManager.hyprland.applications.<name>.windowrule ``` where `<name>` is the name of the app (e.g. `librewolf`) or an arbitrary name for a group of apps (e.g. `bitwarden` for `rbw` and `rofi-rbw`). > More options may be added, global or app specific. Notice that `<name>` is the name of the app itself, not the app category as it is now, so it is possible to enable multiple apps in the same category (e.g. `chromium` and `librewolf`). Do not define modules for `<name>` in `hyprland.applications`. Instead, import modules from flake inputs or outputs and only set their config. `hyprland.applications` should be middle layer between Home Manager modules and your Hyprland config. It should set a minimal config to work with the Window Manager, which is what `bind` and `windowrule` are for. Additionally, you may set environment variables, package overlays / overrides, secrets, wrapper scripts, notification settings, etc., to make the app(s) work inside Hyprland. Move as much apps as possible to this new API. For example, Chromium and Steam are not part of `hyprland.applications` at the moment. Enable a core set of applications by default in the Hyprland Home Manager module.
sid added the
enhancement
label 2026-03-30 12:06:30 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sid/synix#11
No description provided.