{ config, pkgs, ... }: with pkgs; let gnome-shell-extension-pop-shell = stdenv.mkDerivation rec { pname = "gnome-shell-extension-pop-shell"; version = "2020-05-19"; src = fetchFromGitHub { owner = "pop-os"; repo = "shell"; rev = "ff5f37434f078fa120537d9e154a538b523f1cea"; sha256 = "0f1svpd8k8b7ggvgfsfwvsix9y9jjcfxw4plk9m781r9zp9q8ds5"; }; nativeBuildInputs = [ glib ]; buildInputs = [ nodePackages.typescript ]; # the gschema doesn't seem to be installed properly (see dconf) makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; }; in { environment.systemPackages = with pkgs; [ gnome3.dconf-editor gnome3.gnome-tweaks gnome3.gnome-shell-extensions # required for user-theme gnomeExtensions.dash-to-panel gnomeExtensions.appindicator gnome-shell-extension-pop-shell ]; services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.wayland = false; services.xserver.desktopManager.gnome3.enable = true; # exclude some default applications environment.gnome3.excludePackages = with pkgs; [ gnome3.gnome-weather gnome3.gnome-calendar gnome3.gnome-maps gnome3.gnome-contacts gnome3.gnome-software gnome3.totem gnome3.epiphany ]; programs.gnome-terminal.enable = false; programs.geary.enable = false; }