{ config, lib, pkgs, ... }: { options = { profiles.desktop.gnome = { enable = lib.mkEnableOption "gnome"; }; }; config = lib.mkIf config.profiles.desktop.gnome.enable { profiles.desktop.enable = lib.mkDefault true; programs = { dconf.enable = true; }; services = { xserver.desktopManager.gnome.enable = true; udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; }; environment = { systemPackages = with pkgs; [ # Packages installed gnome.dconf-editor gnome.gnome-tweaks gnome.adwaita-icon-theme gnomeExtensions.fullscreen-avoider gnomeExtensions.vitals gnomeExtensions.openweather gnomeExtensions.clipboard-history gnomeExtensions.forge gnomeExtensions.switcher (gnomeExtensions.disable-workspace-switch-animation-for-gnome-40.overrideAttrs { src = pkgs.fetchFromGitHub { owner = "tmke8"; repo = "gnome-shell-extension-instant-workspace-switcher"; rev = "patch-1"; hash = "sha256-Ual7kAOeGPe3DF5XHf5eziscYeMLUnDktEGU41Yl4E4="; } + "/instantworkspaceswitcher@amalantony.net"; }) ]; gnome.excludePackages = (with pkgs; [ # Gnome ignored packages gnome-tour ]) ++ (with pkgs.gnome; [ pkgs.gedit epiphany geary gnome-characters tali iagno hitori atomix yelp gnome-contacts gnome-initial-setup ]); }; }; }