{ config, lib, pkgs, namespace, ... }: let inherit (lib.${namespace}) enabled disabled; cfg = config.${namespace}.desktop.gnome; in { imports = [ ../../../home/desktop/gnome/options.nix ]; config = lib.mkIf cfg.enable { services = { # Enable Desktop Environment. desktopManager.gnome = enabled; # Enable Desktop Environment. displayManager = { gdm = lib.mkDefault enabled; gdm.wayland = lib.mkDefault true; }; gnome = { at-spi2-core = disabled; core-apps = enabled; core-developer-tools = disabled; core-os-services = enabled; core-shell = enabled; evolution-data-server = disabled; games = disabled; gcr-ssh-agent = enabled; glib-networking = enabled; gnome-browser-connector = enabled; gnome-initial-setup = disabled; gnome-keyring = enabled; gnome-online-accounts = enabled; gnome-remote-desktop = enabled; gnome-settings-daemon = enabled; gnome-software = disabled; gnome-user-share = enabled; localsearch = enabled; rygel = enabled; sushi = enabled; tinysparql = enabled; }; }; xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; programs = { kdeconnect = { enable = false; package = pkgs.gnomeExtensions.gsconnect; }; }; }; }