{ config, pkgs, lib, ... }: { options.speccon18.desktop.gnome.enable = lib.mkEnableOption "enables specs custom gnome setup"; config = lib.mkIf config.speccon18.desktop.gnome.enable { Dconf settings dconf = { enable = true; settings = { "org/gnome/mutter" = { attach-modal-dialogs = true; dynamic-workspaces = true; edge-tiling = false; experimental-features = [ "scale-monitor-framebuffer" ]; focus-change-on-pointer-rest = true; workspaces-only-on-primary = true; }; }; }; Gnome extensions environment.systemPackages = with pkgs; [ ]; services = { gnome = { core-utilities.enable = false; gnome-keyring.enable = true; }; xserver = { enable = true; layout = "us"; xkbVariant = ""; displayManager = { gdm = { enable = true; wayland = true; }; defaultSession = lib.mkDefault "budgie-desktop"; }; desktopManager = { xterm.enable = false; # gnome.enable = lib.mkDefault true; }; }; }; programs = { xwayland.enable = lib.mkDefault true; }; xdg = { portal = { enable = lib.mkDefault true; }; mime.defaultApplications = { "text/markdown" = "hx"; }; }; }; }