{ pkgs, lib, ... }: with lib; { services = { xserver = { enable = true; displayManager = { gdm = { enable = true; wayland = true; autoSuspend = false; }; }; desktopManager = { gnome = { enable = true; debug = true; flashback.enableMetacity = true; }; xterm.enable = false; }; xkb.layout = "de"; }; displayManager = { logToFile = true; defaultSession = "gnome-flashback-metacity"; }; gnome = { core-utilities.enable = true; core-shell.enable = true; core-os-services.enable = true; gnome-keyring.enable = true; }; }; environment.gnome.excludePackages = with pkgs; [ epiphany gnome-online-accounts-gtk gnome-tour geary gnome-calendar gnome-contacts xterm ]; programs.dconf = { enable = true; profiles.user.databases = [ { settings = { # Set the color scheme to dark. "org/gnome/desktop/interface".color-scheme = "prefer-dark"; "org/gnome/desktop/wm/keybindings".close = [ "q" ]; "org/gnome/desktop/session".idle-delay = gvariant.mkUint32 180; "org/gnome/desktop/screensaver".lock-delay = gvariant.mkUint32 0; # Prevent hibernation "org/gnome/settings-daemon/plugins/power".power-button-action = "nothing"; "org/gnome/settings-daemon/plugins/power".sleep-inactive-ac-type = "logout"; "org/gnome/settings-daemon/plugins/power".sleep-inactive-ac-timeout = "900"; # Allow to switch users "org/gnome/desktop/lockdown".disable-user-switching = false; "org/gnome/desktop/screensaver".user-switch-enabled = true; }; } ]; profiles.gdm.databases = [ { settings = { "org/gnome/login-screen" = { disable-user-list = true; }; }; } ]; }; }