Hyprland Leaf
cells/desktop/hyprland.nix is the central Wayland compositor leaf for the desktop branch.
Up: desktop leaves
Down: theme application | environment leaf
What this leaf does
On the NixOS side, it enables Hyprland, adds related packages, configures lock-screen PAM support, enables desktop portals, enables polkit, and enables dconf.
programs.hyprland.enable = true;
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};On the Home Manager side, it enables Hyprland and builds extraConfig from theme colors plus checked-in config fragments.
themeConf = lib.concatStringsSep "\n" (
lib.mapAttrsToList
(name: hex: "$" + name + " = rgb(" + hex + ")")
config.my.theme.colors
);Why it is split across NixOS and Home Manager
The compositor must be available system-wide, but user keybinds, monitor fragments, wallpaper scripts, and lock-screen config belong in the user profile. This is a good example of why branches carry both nixosModules and hmModules.