{ pkgs, config, lib, ... }: let cfg = config.pim.gnome; in { options.pim.gnome.enable = lib.mkEnableOption "gnome"; config = lib.mkIf cfg.enable { services.xserver.desktopManager.gnome.enable = true; environment = { systemPackages = [ pkgs.gnome.gnome-shell-extensions ] ++ (with pkgs.gnomeExtensions; [ pop-shell window-is-ready-remover random-wallpaper workspaces-indicator-by-open-apps ]); gnome.excludePackages = (with pkgs; [ epiphany gnome-connections gnome-console gnome-tour ]) ++ (with pkgs.gnome; [ geary gnome-calendar gnome-clocks gnome-contacts gnome-font-viewer gnome-logs gnome-maps gnome-music seahorse totem yelp gnome-weather ]); }; }; }