# Hyprland window manager configuration { config, lib, pkgs, inputs, nomarchyConfig, ... }: { # Enable Hyprland as a session option services.displayManager.sessionPackages = [ inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland ]; # Enable polkit for privilege escalation security.polkit.enable = true; # XDG portal for screen sharing and file dialogs xdg.portal = { enable = true; extraPortals = [pkgs.xdg-desktop-portal-hyprland]; }; # Hyprland ecosystem packages environment.systemPackages = with pkgs; [ inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland # Core utilities waybar swaynotificationcenter rofi-wayland hyprpaper hyprlock hypridle hyprpicker # Screenshot tools grim slurp swappy satty # Screen recording wf-recorder ffmpeg # Clipboard wl-clipboard cliphist # Brightness and audio control brightnessctl playerctl # System utilities pavucontrol wdisplays networkmanagerapplet # Night light gammastep # QR code generation (for WiFi sharing) qrencode imv # Debugging wev ]; # Wayland environment variables environment.sessionVariables = { NIXOS_OZONE_WL = "1"; XDG_CURRENT_DESKTOP = "Hyprland"; XDG_SESSION_TYPE = "wayland"; XDG_SESSION_DESKTOP = "Hyprland"; }; }