# Enables the Gnome desktop environment. { pkgs, config, lib, ... }: let cfg = config.aux.ui.desktops.gnome; in { options = { aux.ui.desktops.gnome.enable = lib.mkEnableOption ( lib.mdDoc "Enables the Gnome Desktop Environment." ); }; config = lib.mkIf cfg.enable { aux.ui.desktops.enable = true; # Enable Gnome services.xserver = { # Remove default packages that came with the install excludePackages = [ pkgs.xterm ]; desktopManager.gnome.enable = true; displayManager.gdm.enable = true; }; environment = { # Remove extraneous Gnome packages gnome.excludePackages = with pkgs.gnome; [ gnome-software # Built-in software manager tali # poker game iagno # go game hitori # sudoku game atomix # puzzle game ]; # Install additional quality-of-life packages systemPackages = with pkgs; [ gnome.gnome-tweaks # Gnome tweak tool gnome.gnome-themes-extra # Additional themes ]; }; # Gnome UI integration for KDE apps qt = { enable = true; platformTheme = "gnome"; style = "adwaita-dark"; }; }; }