{ lib, config, pkgs, ... }: let isEnabled = config.my.desktop.enableGnome; in { config = lib.mkIf isEnabled { home-manager.sharedModules = [ { home.packages = with pkgs; [ amberol gitg gnome-builder meld simple-scan ] ++ (with gnome; [ dconf-editor gpaste ]) ++ (with gnomeExtensions; [ caffeine appindicator gsconnect battery-health-charging ]); dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; clock-show-seconds = true; show-battery-percentage = true; }; "org/gnome/mutter" = { edge-tiling = true; dynamic-workspaces = true; }; "org/gnome/desktop/peripherals/keyboard" = { numlock-state = true; }; "org/gnome/desktop/peripherals/touchpad" = { tap-to-click = true; two-finger-scrolling-enabled = true; }; "org/gnome/tweaks" = { show-extensions-notice = false; }; "org/gnome/shell" = { disable-user-extensions = false; disabled-extensions = []; enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" "workspace-indicator@gnome-shell-extensions.gcampax.github.com" "caffeine@patapon.info" "GPaste@gnome-shell-extensions.gnome.org" "gsconnect@andyholmes.github.io" ]; }; "ca/desrt/dconf-editor" = { show-warning = false; }; "org/gnome/desktop/wm/keybindings" = { switch-windows = ["Tab"]; switch-windows-backward = ["Tab"]; switch-applications = ["Tab"]; switch-applications-backward = ["Tab"]; }; }; gtk = { enable = true; iconTheme.name = "Adwaita"; cursorTheme.name = "Adwaita"; theme = { name = "adw-gtk3-dark"; package = pkgs.adw-gtk3; }; }; } (lib.mkIf config.my.tailscale.enable { home.packages = with pkgs; [ trayscale ] ++ (with gnomeExtensions; [ tailscale-qs ]); dconf.settings."org/gnome/shell".enabled-extensions = ["tailscale@joaophi.github.com"]; }) ]; }; }