{ config, lib, pkgs, ... }: let cfg = config.nix-config; in { config = { # Use hyprland as the main desktop environment but use gdm as desktop manager programs.hyprland = { enable = true; xwayland.enable = true; }; services.displayManager = { defaultSession = "hyprland"; }; services.xserver.displayManager.gdm = { enable = true; wayland = true; }; services.gvfs.enable = true; security.pam.services.hyprlock = {}; security.pam.services.gdm.enableGnomeKeyring = true; # Enable RTKit for real-time audio processing, ... # improving audio performance and reducing dropouts. security.rtkit.enable = true; # Enable D-Bus for inter-process communication services.dbus.enable = true; programs.dconf.enable = true; }; }