{ config, pkgs, ... }: { services.xserver.enable = true; # i dont like how the icon looks :) services.xserver.excludePackages = [ pkgs.xterm ]; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; environment.gnome.excludePackages = with pkgs; [ gnome-console ]; environment.systemPackages = (with pkgs; [ gnome-terminal gnome-tweaks dconf-editor ]) ++ (with pkgs.gnomeExtensions; [ runcat vitals just-perfection window-is-ready-remover caffeine ]); environment.sessionVariables = { # see: https://github.com/NixOS/nixpkgs/issues/416322 # revert default renderer to ngl, as vulkan is still broken. # upstream will fix this soon. GSK_RENDERER = "ngl"; }; # legacy apps dark mode support services.xserver.desktopManager.gnome.extraGSettingsOverrides = '' # set dark theme for legacy applications [org.gnome.desktop.interface] gtk-theme="Adwaita" # minimize windows when middle-clicking on titlebar [org.gnome.desktop.wm.preferences] action-middle-click-titlebar="minimize" # map caps-lock to escape key, map compose key to right-alt [org.gnome.desktop.input-sources] xkb-options=['caps:escape', 'compose:ralt'] ''; environment.etc = { "xdg/gtk-2.0/gtkrc".text = '' gtk-application-prefer-dark-theme = 1 ''; "xdg/gtk-3.0/settings.ini".text = '' [Settings] gtk-application-prefer-dark-theme = 1 ''; "xdg/gtk-4.0/settings.ini".text = '' [Settings] gtk-application-prefer-dark-theme = 1 ''; }; }