hyprland.nix (963B)
1 # modules/features/desktop/hyprland.nix — the NixOS side of the Hyprland 2 # desktop, on when daemon.desktop.hyprland.enable (modules/features/desktop/options.nix). 3 # The compositor config, Caelestia and the session services are home-manager 4 # modules (modules/home/hyprland.nix, modules/home/caelestia.nix), gated the same way. 5 { ... }: 6 { 7 flake.nixosModules.desktop-hyprland = 8 { config, lib, pkgs, inputs, ... }: 9 { 10 # Hyprland package and portal come from inputs.hyprland.nixosModules.default. 11 imports = [ inputs.hyprland.nixosModules.default ]; 12 13 config = lib.mkIf config.daemon.desktop.hyprland.enable { 14 programs.hyprland = { 15 enable = true; 16 withUWSM = true; # systemd-managed session; graphical-session.target starts Caelestia, polkit agent, udiskie 17 xwayland.enable = true; 18 }; 19 20 xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; # file chooser; hyprland portal does screencast 21 }; 22 } 23 ; 24 }