{ lib, config, pkgs, ... }: with lib; let cfg = config.roles.desktop; in { config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ brightnessctl emacs-nox moonlight-qt ]; programs.dconf.enable = true; services.gnome.gnome-keyring.enable = true; programs.kdeconnect.enable = true; # XDG Desktop Portal for default application handling in non-KDE environments xdg.portal = { enable = true; extraPortals = with pkgs; [ kdePackages.xdg-desktop-portal-kde # For KDE application integration xdg-desktop-portal-gtk # Fallback for GTK applications ]; config = { common = { default = "kde"; }; i3 = { default = ["kde" "gtk"]; }; }; }; }; }