anchor.diff: -{ fetchurl, fetchpatch, substituteAll, stdenv, pkgconfig, gnome3, gettext, gobject-introspection, upower, cairo
  -, pango, cogl, json-glib, libstartup_notification, zenity, libcanberra-gtk3
  -, ninja, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
  -, gsettings-desktop-schemas, glib, gtk3, gnome-desktop
  -, geocode-glib, pipewire, libgudev, libwacom, xwayland, meson
  +{ fetchurl
  +, fetchpatch
  +, substituteAll
  +, stdenv
  +, pkgconfig
  +, gnome3
  +, gettext
  +, gobject-introspection
  +, upower
  +, cairo
  +, pango
  +, cogl
  +, json-glib
  +, libstartup_notification
  +, zenity
  +, libcanberra-gtk3
  +, ninja
  +, xkeyboard_config
  +, libxkbfile
  +, libxkbcommon
  +, libXtst
  +, libinput
  +, gsettings-desktop-schemas
  +, glib
  +, gtk3
  +, gnome-desktop
  +, geocode-glib
  +, pipewire
  +, libgudev
  +, libwacom
  +, xwayland
  +, meson
   , gnome-settings-daemon
   , xorgserver
   , python3
  
positive.code:     ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
    '';
  
    enableParallelBuilding = true;
  
    passthru = {
      updateScript = gnome3.updateScript {
        packageName = "mutter";
        attrPath = "gnome3.mutter";
      };
    };
  
    meta = with stdenv.lib; {
      platforms = platforms.linux;
      maintainers = gnome3.maintainers;
      license = licenses.gpl2;
    };
  }
  
negative.code:   };
  
    mesonFlags = [
      "-Degl_device=true"
      "-Dinstalled_tests=false" # TODO: enable these
      "-Dwayland_eglstream=true"
      "-Dxwayland-path=${xwayland}/bin/Xwayland"
    ];
  
    propagatedBuildInputs = [
      # required for pkgconfig to detect mutter-clutter
      json-glib
      libXtst
      libcap_ng
    ];
  
    nativeBuildInputs = [
      desktop-file-utils
      gettext
      meson
      ninja
      pkgconfig
      python3
      wrapGAppsHook
      xorgserver # for cvt command
    ];
  
    buildInputs = [
      cairo
      cogl
      egl-wayland
      geocode-glib
      glib
      gnome-desktop
      gnome-settings-daemon
      gobject-introspection
      gsettings-desktop-schemas
      gtk3
      libcanberra-gtk3
      libgudev
      libinput
      libstartup_notification
      libwacom
      libxkbcommon
      libxkbfile
      pango
      pipewire
      sysprof
      upower
      xkeyboard_config
      xwayland
      zenity
      zenity
    ];
  
    patches = [
      # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
      # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
      ./drop-inheritable.patch
      # TODO: submit upstream
      ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
      (substituteAll {
        src = ./fix-paths.patch;
        inherit zenity;
  