{ pkgs, config, lib, ... }: { config = { environment = { systemPackages = with pkgs; [ arc-theme gnomeExtensions.appindicator gnomeExtensions.caffeine gnomeExtensions.gnome-40-ui-improvements gnomeExtensions.notification-timeout # Custom package gnomeExtensions.application-volume-mixer gnome.eog gnome.nautilus unstable.gnome.gnome-shell gnome.gnome-terminal pinentry-gnome dconf # For home-manager ]; gnome.excludePackages = pkgs.gnome.optionalPackages; }; services = { accounts-daemon.enable = true; colord.enable = false; geoclue2.enable = false; dleyna-renderer.enable = false; dleyna-server.enable = false; gvfs.enable = lib.mkForce false; telepathy.enable = false; gnome = { chrome-gnome-shell.enable = false; gnome-initial-setup.enable = false; gnome-remote-desktop.enable = false; rygel.enable = false; gnome-online-accounts.enable = false; evolution-data-server.enable = lib.mkForce false; tracker.enable = false; tracker-miners.enable = false; core-utilities.enable = false; games.enable = false; }; udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; xserver = { enable = true; layout = "de"; libinput.enable = true; desktopManager.gnome.enable = true; displayManager = { gdm.enable = true; gdm.wayland = true; }; }; }; xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; gtkUsePortal = true; }; home-manager.users."${config.system.singleUser}" = { dconf.settings = { # The packages come in from modules/programs/gnome # Theme "org/gnome/desktop/interface" = { gtk-theme = "Arc-Dark"; }; # Nightlight (TODO: ?) "org/gnome/settings-daemon/plugins/color" = { night-light-enabled = true; }; # Extensions "org/gnome/shell" = { enabled-extensions = [ "caffeine@patapon.info" "notification-timeout@chlumskyvaclav.gmail.com" "gnome-ui-tune@itstime.tech" "volume-mixer@evermiss.net" ]; }; "org/gnome/shell/extensions/caffeine" = { show-notifications = false; inhibit-apps = [ "mpv.desktop" ]; }; "org/gnome/shell/extensions/notification-timeout" = { timeout = 3000; }; "org/gnome/shell/extensions/gnome-ui-tune" = { hide-search = true; }; # Shortcuts "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { binding = "Return"; command = "gnome-terminal"; name = "Terminal"; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { binding = "s"; command = "systemctl suspend"; name = "Suspend"; }; }; }; }; }