anchor.diff:    buildInputs = [
       systemd
       gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice
  -    libcroco libsecret libsoup polkit gdk-pixbuf librsvg
  -    clutter networkmanager libstartup_notification telepathy-glib
  +    libsecret libsoup polkit gdk-pixbuf librsvg
  +    networkmanager libstartup_notification telepathy-glib
       libXtst gjs mutter libpulseaudio evolution-data-server
  -    libical gtk3 gstreamer gdm libcanberra-gtk3 geoclue2
  +    libical gtk3 gdm libcanberra-gtk3 geoclue2
       adwaita-icon-theme gnome-bluetooth
       gnome-clocks # schemas needed
       at-spi2-core upower ibus gnome-desktop telepathy-logger gnome-settings-daemon
  -    gst_all_1.gst-plugins-good # recording
       gobject-introspection
       gnome-autoar
  +
  +    # recording
  +    gst_all_1.gstreamer
  +    gst_all_1.gst-plugins-good
   
       # not declared at build time, but typelib is needed at runtime
       libgweather libnma
     ];
   
     patches = [
  +    # Fix dependencies.
  +    # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1114
       (fetchpatch {
         name = "0001-build-Add-missing-dependency-to-run-js-test.patch";
         url = https://bug787864.bugzilla-attachments.gnome.org/attachment.cgi?id=360016;
         sha256 = "1dmahd8ysbzh33rxglba0fbq127aw9h14cl2a2bw9913vjxhxijm";
       })
  +
  +    # Hardcode paths to various dependencies so that they can be found at runtime.
       (substituteAll {
         src = ./fix-paths.patch;
         inherit libgnomekbd unzip;
         gsettings = "${glib.bin}/bin/gsettings";
       })
  +
  +    # Fix ibus launching regression.
  +    # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1080
  +    (fetchpatch {
  +      url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/94f6976ddd6337593203fdcdd2e3644774408dfa.patch";
  +      sha256 = "PGmFQhqqd3gK+3kp0dlmlYd2G5ZTIQpfE++Q03Ghkx0=";
  +    })
  +
  +    # Fix typing regression with ibus.
  +    # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1084
  +    (fetchpatch {
  +      url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/b18469427e5c19402111de5fe9888bceec0eaacd.patch";
  +      sha256 = "1M+3kjt7K61BFgk1Zf9XfK1ziilQGa60PD8xtVjnQec=";
  +    })
  +
  +    # Fix theming breakage after Shell restart on X11.
  +    # https://gitlab.gnome.org/GNOME/gnome-shell/issues/2329
  +    (fetchpatch {
  +      url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/72c4f148ef88b4bffb2106b99434da5c05c0bb64.patch";
  +      sha256 = "RBA+JHz4ZvmbJZMnGNieD6D5LONRgFU4iOFIMQQ2kHQ=";
  +    })
     ];
   
     postPatch = ''
       patchShebangs src/data-to-c.pl
  +    chmod +x meson/postinstall.py
  +    patchShebangs meson/postinstall.py
   
       substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
       substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
  -  '';
  -
  -  postInstall = ''
  -    glib-compile-schemas $out/share/glib-2.0/schemas
     '';
   
     preFixup = ''
  
positive.code: 
  in stdenv.mkDerivation rec {
    pname = "gnome-shell";
    version = "3.34.4";
  
    src = fetchurl {
      url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
      sha256 = "0rm32h7lv4vyadi9x32sb6fwxslarwk70yzmvzjxbq872cazp779";
    };
  
    LANG = "en_US.UTF-8";
  
negative.code: { fetchurl, fetchpatch, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, gettext, libsecret
  , python3, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core
  , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
  , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils
  , libpulseaudio, libical, gobject-introspection, wrapGAppsHook, libxslt, gcr
  , accountsservice, gdk-pixbuf, gdm, upower, ibus, libnma, libgnomekbd, gnome-desktop
  , gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3
  , sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon
  