{ config, pkgs, lib, ... }: { # Enable the GNOME Desktop Environment. services.displayManager.gdm = { enable = true; wayland = true; }; services.desktopManager.gnome = { enable = true; extraGSettingsOverridePackages = [ pkgs.mutter ]; extraGSettingsOverrides = '' [org.gnome.mutter] experimental-features=['scale-monitor-framebuffer'] ''; }; programs.dconf.profiles.user.databases = [ { lockAll = true; # prevents overriding settings = { # re-login to activate "org/gnome/mutter" = { dynamic-workspaces = false; }; "org/gnome/desktop/wm/preferences" = { num-workspaces = lib.gvariant.mkInt32 6; }; "org/gnome/desktop/wm/keybindings" = { switch-to-workspace-1 = ["1"]; switch-to-workspace-2 = ["2"]; switch-to-workspace-3 = ["3"]; switch-to-workspace-4 = ["4"]; switch-to-workspace-5 = ["5"]; }; "org/gnome/desktop/interface" = { document-font-name = "Noto Sans CJK SC 12 @wght=400"; font-name = "Noto Sans CJK SC 11 @wght=400"; monospace-font-name = "RecMonoLinear Nerd Font Mono 11"; }; }; } ]; }