{ pkgs, ... }: # Hyprland (wayland) desktop: compositor, login manager, audio, portals. { programs.hyprland.enable = true; services.gnome.gnome-keyring.enable = true; security.pam.services.login.enableGnomeKeyring = true; security.pam.services.greetd.enableGnomeKeyring = true; services.greetd = { enable = true; settings.default_session.command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd start-hyprland"; }; # Audio (pipewire replaces pulseaudio/jack). security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; }; xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-cosmic ]; config.common.default = [ "hyprland" "cosmic" ]; }; hardware.graphics.enable = true; # OpenGL/Vulkan for the compositor + apps services.libinput.enable = true; networking.networkmanager.enable = true; }