{ config, pkgs, lib, user, ... }: { # Enable essential services for a Wayland session services.dbus.enable = true; services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; wireplumber.enable = true; }; # XDG Desktop Portal settings for better application integration xdg.portal = { enable = true; config.common.default = [ "hyprland" "gtk" ]; }; # Environment variables for a Wayland session environment.sessionVariables = { XDG_SESSION_TYPE = "wayland"; XDG_CURRENT_DESKTOP = "Hyprland"; XCURSOR_SIZE = "24"; }; # Home Manager Wayland configurations home-manager.users.${user.username} = { xdg.portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; config.hyprland = { "org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; }; }; }; }