about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2024-08-28 23:56:05 +0200
committerJan Tojnar <jtojnar@gmail.com>2024-09-01 14:16:31 +0200
commitca9576c81da013b7ab7a302990f7928d33e85198 (patch)
treee731ba9eae6b5e9cf886836007d9e040a81188b5 /pkgs/desktops
parent7f387d6bf915b8fd7d7131edd3e5107f4a98cc9d (diff)
gnome-shell: Move from gnome scope to top-level
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/default.nix3
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix246
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch58
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch21
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch11
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch57
-rw-r--r--pkgs/desktops/gnome/default.nix3
-rw-r--r--pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/clock-override/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix3
-rw-r--r--pkgs/desktops/gnome/extensions/gsconnect/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/icon-hider/default.nix6
-rw-r--r--pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/tilingnome/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/unite/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/window-corner-preview/default.nix4
16 files changed, 22 insertions, 414 deletions
diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix
index 78824870ac0ca..841458f940373 100644
--- a/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -13,6 +13,7 @@
   gsettings-desktop-schemas,
   gnome-desktop,
   gnome-settings-daemon,
+  gnome-shell,
   dbus,
   json-glib,
   libICE,
@@ -114,7 +115,7 @@ stdenv.mkDerivation (finalAttrs: {
     wrapProgram "$out/libexec/gnome-session-binary" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
-      --suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share" \
+      --suffix XDG_DATA_DIRS : "${gnome-shell}/share" \
       --suffix XDG_CONFIG_DIRS : "${gnome-settings-daemon}/etc/xdg"
   '';
 
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
deleted file mode 100644
index f218e6640adec..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ /dev/null
@@ -1,246 +0,0 @@
-{
-  fetchurl,
-  fetchpatch,
-  substituteAll,
-  lib,
-  stdenv,
-  meson,
-  ninja,
-  pkg-config,
-  gnome,
-  json-glib,
-  gettext,
-  libsecret,
-  python3,
-  polkit,
-  networkmanager,
-  gi-docgen,
-  at-spi2-core,
-  unzip,
-  shared-mime-info,
-  libgweather,
-  libjxl,
-  librsvg,
-  webp-pixbuf-loader,
-  geoclue2,
-  perl,
-  desktop-file-utils,
-  libpulseaudio,
-  libical,
-  gobject-introspection,
-  wrapGAppsHook4,
-  libxslt,
-  gcr_4,
-  accountsservice,
-  gdk-pixbuf,
-  gdm,
-  upower,
-  ibus,
-  libnma-gtk4,
-  gnome-desktop,
-  gsettings-desktop-schemas,
-  gnome-keyring,
-  glib,
-  gjs,
-  mutter,
-  evolution-data-server-gtk4,
-  gtk4,
-  libadwaita,
-  sassc,
-  systemd,
-  pipewire,
-  gst_all_1,
-  adwaita-icon-theme,
-  gnome-bluetooth,
-  gnome-clocks,
-  gnome-settings-daemon,
-  gnome-autoar,
-  gnome-tecla,
-  asciidoc,
-  bash-completion,
-  mesa,
-  libGL,
-  libXi,
-  libX11,
-  libxml2,
-}:
-
-let
-  pythonEnv = python3.withPackages (ps: with ps; [ pygobject3 ]);
-in
-stdenv.mkDerivation (finalAttrs: {
-  pname = "gnome-shell";
-  version = "46.4";
-
-  outputs = [
-    "out"
-    "devdoc"
-  ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz";
-    hash = "sha256-GIRo/nLpCsSyNOnU0HB9YH/q85oT0lvTqj63XlWj4FI=";
-  };
-
-  patches = [
-    # Hardcode paths to various dependencies so that they can be found at runtime.
-    (substituteAll {
-      src = ./fix-paths.patch;
-      glib_compile_schemas = "${glib.dev}/bin/glib-compile-schemas";
-      gsettings = "${glib.bin}/bin/gsettings";
-      tecla = "${lib.getBin gnome-tecla}/bin/tecla";
-      unzip = "${lib.getBin unzip}/bin/unzip";
-    })
-
-    # Use absolute path for libshew installation to make our patched gobject-introspection
-    # aware of the location to hardcode in the generated GIR file.
-    ./shew-gir-path.patch
-
-    # Make D-Bus services wrappable.
-    ./wrap-services.patch
-
-    # Fix greeter logo being too big.
-    # https://gitlab.gnome.org/GNOME/gnome-shell/issues/2591
-    # Reverts https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1101
-    ./greeter-logo-size.patch
-
-    # Work around failing fingerprint auth
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/gnome-shell/raw/dcd112d9708954187e7490564c2229d82ba5326f/f/0001-gdm-Work-around-failing-fingerprint-auth.patch";
-      hash = "sha256-mgXty5HhiwUO1UV3/eDgWtauQKM0cRFQ0U7uocST25s=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    gi-docgen
-    perl
-    wrapGAppsHook4
-    sassc
-    desktop-file-utils
-    libxslt.bin
-    asciidoc
-    gobject-introspection
-  ];
-
-  buildInputs = [
-    systemd
-    gsettings-desktop-schemas
-    gnome-keyring
-    glib
-    gcr_4
-    accountsservice
-    libsecret
-    polkit
-    gdk-pixbuf
-    librsvg
-    networkmanager
-    gjs
-    mutter
-    libpulseaudio
-    evolution-data-server-gtk4
-    libical
-    gtk4
-    libadwaita
-    gdm
-    geoclue2
-    adwaita-icon-theme
-    gnome-bluetooth
-    gnome-clocks # schemas needed
-    at-spi2-core
-    upower
-    ibus
-    gnome-desktop
-    gnome-settings-daemon
-    mesa
-    libGL # for egl, required by mutter-clutter
-    libXi # required by libmutter
-    libX11
-    libxml2
-
-    # recording
-    pipewire
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-
-    # not declared at build time, but typelib is needed at runtime
-    libgweather
-    libnma-gtk4
-
-    # for gnome-extension tool
-    bash-completion
-    gnome-autoar
-    json-glib
-
-    # for tools
-    pythonEnv
-  ];
-
-  mesonFlags = [
-    "-Dgtk_doc=true"
-    "-Dtests=false"
-  ];
-
-  postPatch = ''
-    patchShebangs src/data-to-c.pl
-
-    # We can generate it ourselves.
-    rm -f man/gnome-shell.1
-    rm data/theme/gnome-shell-{light,dark}.css
-  '';
-
-  postInstall = ''
-    # Pull in WebP and JXL support for gnome-backgrounds.
-    # In postInstall to run before gappsWrapperArgsHook.
-    export GDK_PIXBUF_MODULE_FILE="${
-      gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
-        extraLoaders = [
-          libjxl
-          librsvg
-          webp-pixbuf-loader
-        ];
-      }
-    }"
-  '';
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      # Until glib’s xdgmime is patched
-      # Fixes “Failed to load resource:///org/gnome/shell/theme/noise-texture.png: Unrecognized image file format”
-      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
-    )
-  '';
-
-  postFixup = ''
-    # The services need typelibs.
-    for svc in org.gnome.ScreenSaver org.gnome.Shell.Extensions org.gnome.Shell.Notifications org.gnome.Shell.Screencast; do
-      wrapGApp $out/share/gnome-shell/$svc
-    done
-
-    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput "share/doc" "$devdoc"
-  '';
-
-  separateDebugInfo = true;
-
-  passthru = {
-    mozillaPlugin = "/lib/mozilla/plugins";
-    updateScript = gnome.updateScript {
-      packageName = "gnome-shell";
-      attrPath = "gnome.gnome-shell";
-    };
-  };
-
-  meta = with lib; {
-    description = "Core user interface for the GNOME 3 desktop";
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-shell";
-    license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-
-})
diff --git a/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch
deleted file mode 100644
index a87f5129152f1..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/data/org.gnome.Shell-disable-extensions.service b/data/org.gnome.Shell-disable-extensions.service
-index de91167c5..1c9965678 100644
---- a/data/org.gnome.Shell-disable-extensions.service
-+++ b/data/org.gnome.Shell-disable-extensions.service
-@@ -11,5 +11,5 @@ ConditionPathExists=%t/gnome-shell-disable-extensions
- [Service]
- Type=simple
- # Disable extensions
--ExecStart=gsettings set org.gnome.shell disable-user-extensions true
-+ExecStart=@gsettings@ set org.gnome.shell disable-user-extensions true
- Restart=no
-diff --git a/js/ui/extensionDownloader.js b/js/ui/extensionDownloader.js
-index 197cc1c1c..dd74aa167 100644
---- a/js/ui/extensionDownloader.js
-+++ b/js/ui/extensionDownloader.js
-@@ -110,7 +110,7 @@ async function extractExtensionArchive(bytes, dir) {
-     stream.close_async(GLib.PRIORITY_DEFAULT, null);
- 
-     const unzip = Gio.Subprocess.new(
--        ['unzip', '-uod', dir.get_path(), '--', file.get_path()],
-+        ['@unzip@', '-uod', dir.get_path(), '--', file.get_path()],
-         Gio.SubprocessFlags.NONE);
-     await unzip.wait_check_async(null);
- 
-@@ -132,7 +132,7 @@ async function extractExtensionArchive(bytes, dir) {
-     }
- 
-     const compileSchema = Gio.Subprocess.new(
--        ['glib-compile-schemas', '--strict', schemasPath.get_path()],
-+        ['@glib_compile_schemas@', '--strict', schemasPath.get_path()],
-         Gio.SubprocessFlags.NONE);
- 
-     try {
-diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
-index fff4e73c2..92859b099 100644
---- a/js/ui/status/keyboard.js
-+++ b/js/ui/status/keyboard.js
-@@ -1092,6 +1092,6 @@ class InputSourceIndicator extends PanelMenu.Button {
-         if (xkbVariant.length > 0)
-             description = `${description}\t${xkbVariant}`;
- 
--        Util.spawn(['tecla', description]);
-+        Util.spawn(['@tecla@', description]);
-     }
- });
-diff --git a/subprojects/extensions-tool/src/command-install.c b/subprojects/extensions-tool/src/command-install.c
-index 11fb4b6b7..e00e4807b 100644
---- a/subprojects/extensions-tool/src/command-install.c
-+++ b/subprojects/extensions-tool/src/command-install.c
-@@ -158,7 +158,7 @@ install_extension (const char *bundle,
- 
-       schemapath = g_file_get_path (schemadir);
-       proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDERR_SILENCE, &error,
--                               "glib-compile-schemas", "--strict", schemapath,
-+                               "@glib_compile_schemas@", "--strict", schemapath,
-                                NULL);
- 
-       if (!g_subprocess_wait_check (proc, NULL, &error))
diff --git a/pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch b/pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch
deleted file mode 100644
index 93965a475216f..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
-index 28db1a9de..805b686bf 100644
---- a/js/gdm/loginDialog.js
-+++ b/js/gdm/loginDialog.js
-@@ -46,6 +46,7 @@ const _FADE_ANIMATION_TIME = 250;
- const _SCROLL_ANIMATION_TIME = 500;
- const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
- const _CONFLICTING_SESSION_DIALOG_TIMEOUT = 60;
-+const _LOGO_ICON_HEIGHT = 48;
- 
- export const UserListItem = GObject.registerClass({
-     Signals: {'activate': {}},
-@@ -908,7 +909,7 @@ export const LoginDialog = GObject.registerClass({
-             const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
-             const texture = this._textureCache.load_file_async(
-                 this._logoFile,
--                -1, -1,
-+                -1, _LOGO_ICON_HEIGHT,
-                 scaleFactor, resourceScale);
-             this._logoBin.add_child(texture);
-         }
diff --git a/pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch b/pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch
deleted file mode 100644
index 6d888725b5d2e..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/subprojects/shew/src/meson.build
-+++ b/subprojects/shew/src/meson.build
-@@ -13,7 +13,7 @@ shew_sources = [
- libshew = library(full_name,
-   sources: shew_sources,
-   dependencies: [gtk_dep, x11_dep],
--  install_dir: pkglibdir,
-+  install_dir: get_option('prefix') / pkglibdir,
-   install: true,
- )
- 
diff --git a/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch b/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch
deleted file mode 100644
index eca485c321244..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/js/dbusServices/dbus-service.in b/js/dbusServices/dbus-service.in
-old mode 100644
-new mode 100755
-index 5c698f58a..1ed61a7e3
---- a/js/dbusServices/dbus-service.in
-+++ b/js/dbusServices/dbus-service.in
-@@ -1,3 +1,9 @@
-+#!@gjs@ -m
-+
-+// gjs determines the package name from argv[0], which is .*-wrapped
-+// so we need to override it to the original one.
-+imports.package._findEffectiveEntryPointName = () => '@service@'
-+
- import {programInvocationName, programArgs} from 'system';
- 
- imports.package.init({
-diff --git a/js/dbusServices/dbus-service.service.in b/js/dbusServices/dbus-service.service.in
-index 3b0d09abe..4fd4bb66d 100644
---- a/js/dbusServices/dbus-service.service.in
-+++ b/js/dbusServices/dbus-service.service.in
-@@ -1,3 +1,3 @@
- [D-BUS Service]
- Name=@service@
--Exec=@gjs@ -m @pkgdatadir@/@service@
-+Exec=@pkgdatadir@/@service@
-diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build
-index eb941ed90..552051e5a 100644
---- a/js/dbusServices/meson.build
-+++ b/js/dbusServices/meson.build
-@@ -2,6 +2,7 @@ launcherconf = configuration_data()
- launcherconf.set('PACKAGE_NAME', meson.project_name())
- launcherconf.set('prefix', prefix)
- launcherconf.set('libdir', libdir)
-+launcherconf.set('gjs', gjs.full_path())
- 
- dbus_services = {
-   'org.gnome.Shell.Extensions': 'extensions',
-@@ -18,16 +19,17 @@ endif
- config_dir = '@0@/..'.format(meson.current_build_dir())
- 
- foreach service, dir : dbus_services
-+  svc_launcherconf = launcherconf
-+  svc_launcherconf.set('service', service)
-   configure_file(
-     input: 'dbus-service.in',
-     output: service,
--    configuration: launcherconf,
-+    configuration: svc_launcherconf,
-     install_dir: pkgdatadir,
-   )
- 
-   serviceconf = configuration_data()
-   serviceconf.set('service', service)
--  serviceconf.set('gjs', gjs.full_path())
-   serviceconf.set('pkgdatadir', pkgdatadir)
- 
-   configure_file(
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 769585c7fcad4..29e94b1ce79d6 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -21,8 +21,6 @@ in
 
   gnome-session = callPackage ./core/gnome-session { };
 
-  gnome-shell = callPackage ./core/gnome-shell { };
-
   gvfs = pkgs.gvfs.override { gnomeSupport = true; };
 
   networkmanager-openvpn = pkgs.networkmanager-openvpn.override {
@@ -126,6 +124,7 @@ in
   gnome-session-ctl = lib.warn "The ‘gnome.gnome-session-ctl’ was moved to top-level. Please use ‘pkgs.gnome-session-ctl’ directly." pkgs.gnome-session-ctl; # Added on 2024-08-28.
   gnome-settings-daemon = lib.warn "The ‘gnome.gnome-settings-daemon’ was moved to top-level. Please use ‘pkgs.gnome-settings-daemon’ directly." pkgs.gnome-settings-daemon; # Added on 2024-08-28.
   gnome-settings-daemon43 = lib.warn "The ‘gnome.gnome-settings-daemon43’ was moved to top-level. Please use ‘pkgs.gnome-settings-daemon43’ directly." pkgs.gnome-settings-daemon43; # Added on 2024-08-28.
+  gnome-shell = lib.warn "The ‘gnome.gnome-shell’ was moved to top-level. Please use ‘pkgs.gnome-shell’ directly." pkgs.gnome-shell; # Added on 2024-08-28.
   gnome-shell-extensions = lib.warn "The ‘gnome.gnome-shell-extensions’ was moved to top-level. Please use ‘pkgs.gnome-shell-extensions’ directly." pkgs.gnome-shell-extensions; # Added on 2024-08-11.
   gnome-software = lib.warn "The ‘gnome.gnome-software’ was moved to top-level. Please use ‘pkgs.gnome-software’ directly." pkgs.gnome-software; # Added on 2024-08-11.
   gnome-sound-recorder = lib.warn "The ‘gnome.gnome-sound-recorder’ was moved to top-level. Please use ‘pkgs.gnome-sound-recorder’ directly." pkgs.gnome-sound-recorder; # Added on 2024-08-11.
diff --git a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
index ea371ae6efd8f..f7f79e89dc9ce 100644
--- a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
+++ b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome, gettext, jq, intltool }:
+{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome-shell, gettext, jq, intltool }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-shell-extension-EasyScreenCast";
@@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: {
   patches = [
     (substituteAll {
       src = ./fix-gi-path.patch;
-      gnomeShell = gnome.gnome-shell;
+      gnomeShell = gnome-shell;
     })
   ];
 
diff --git a/pkgs/desktops/gnome/extensions/clock-override/default.nix b/pkgs/desktops/gnome/extensions/clock-override/default.nix
index 1f749574c40c2..919dfb68de046 100644
--- a/pkgs/desktops/gnome/extensions/clock-override/default.nix
+++ b/pkgs/desktops/gnome/extensions/clock-override/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, gnome, gettext, glib }:
+{ lib, stdenv, fetchzip, gnome-shell, gettext, glib }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-clock-override";
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ rhoriguchi ];
     homepage = "https://github.com/stuartlangridge/gnome-shell-clock-override";
-    broken = versionOlder gnome.gnome-shell.version "3.18";
+    broken = versionOlder gnome-shell.version "3.18";
   };
 }
diff --git a/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix b/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix
index 3d4108eafdf70..0eeaea47befde 100644
--- a/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix
+++ b/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix
@@ -4,6 +4,7 @@
 , ninja
 , python3
 , gnome
+, gnome-shell
 , wrapGAppsNoGuiHook
 , gobject-introspection
 }:
@@ -30,7 +31,7 @@ buildPythonApplication rec {
   ];
 
   buildInputs = [
-    gnome.gnome-shell
+    gnome-shell
   ];
 
   pythonPath = [
diff --git a/pkgs/desktops/gnome/extensions/gsconnect/default.nix b/pkgs/desktops/gnome/extensions/gsconnect/default.nix
index ca5c939de2638..97270194bdb02 100644
--- a/pkgs/desktops/gnome/extensions/gsconnect/default.nix
+++ b/pkgs/desktops/gnome/extensions/gsconnect/default.nix
@@ -13,7 +13,7 @@
 , glib-networking
 , gtk3
 , openssh
-, gnome
+, gnome-shell
 , evolution-data-server-gtk4
 , gjs
 , nixosTests
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Dgnome_shell_libdir=${gnome.gnome-shell}/lib"
+    "-Dgnome_shell_libdir=${gnome-shell}/lib"
     "-Dchrome_nmhdir=${placeholder "out"}/etc/opt/chrome/native-messaging-hosts"
     "-Dchromium_nmhdir=${placeholder "out"}/etc/chromium/native-messaging-hosts"
     "-Dopenssl_path=${openssl}/bin/openssl"
diff --git a/pkgs/desktops/gnome/extensions/icon-hider/default.nix b/pkgs/desktops/gnome/extensions/icon-hider/default.nix
index b5b2ae8ec7471..28ad5f1d32a1b 100644
--- a/pkgs/desktops/gnome/extensions/icon-hider/default.nix
+++ b/pkgs/desktops/gnome/extensions/icon-hider/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gnome }:
+{ lib, stdenv, fetchFromGitHub, gnome-shell }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-icon-hider";
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
     description = "Icon Hider is a GNOME Shell extension for managing status area items";
     license = licenses.bsd3;
     maintainers = with maintainers; [ jonafato ];
-    platforms = gnome.gnome-shell.meta.platforms;
+    platforms = gnome-shell.meta.platforms;
     homepage = "https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider";
-    broken = versionAtLeast gnome.gnome-shell.version "3.32"; # Doesn't support 3.34
+    broken = versionAtLeast gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }
diff --git a/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix b/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix
index 200ca9a63e5cc..3dc9fa61b7473 100644
--- a/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix
+++ b/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, glib, gnome }:
+{ lib, stdenv, fetchFromGitHub, glib, gnome-shell }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-pidgin-im-integration";
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ ];
-    broken = versionAtLeast gnome.gnome-shell.version "3.32"; # Doesn't support 3.34
+    broken = versionAtLeast gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }
diff --git a/pkgs/desktops/gnome/extensions/tilingnome/default.nix b/pkgs/desktops/gnome/extensions/tilingnome/default.nix
index fbf89ffa19c90..3e6a2efb990fb 100644
--- a/pkgs/desktops/gnome/extensions/tilingnome/default.nix
+++ b/pkgs/desktops/gnome/extensions/tilingnome/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, glib, gnome }:
+{ stdenv, lib, fetchFromGitHub, glib, gnome-shell }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-tilingnome";
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ benley ];
     homepage = "https://github.com/rliang/gnome-shell-extension-tilingnome";
-    platforms = gnome.gnome-shell.meta.platforms;
+    platforms = gnome-shell.meta.platforms;
   };
 }
diff --git a/pkgs/desktops/gnome/extensions/unite/default.nix b/pkgs/desktops/gnome/extensions/unite/default.nix
index c39d430c937a2..5c5cf7444d875 100644
--- a/pkgs/desktops/gnome/extensions/unite/default.nix
+++ b/pkgs/desktops/gnome/extensions/unite/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, gnome, fetchFromGitHub, xprop, glib }:
+{ lib, stdenv, gnome-shell, fetchFromGitHub, xprop, glib }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-unite";
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ rhoriguchi ];
     homepage = "https://github.com/hardpixel/unite-shell";
-    broken = versionOlder gnome.gnome-shell.version "3.32";
+    broken = versionOlder gnome-shell.version "3.32";
   };
 }
diff --git a/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix b/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix
index 48d80545ecca5..e8d43bb158312 100644
--- a/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix
+++ b/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gnome }:
+{ lib, stdenv, fetchFromGitHub, gnome-shell }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-window-corner-preview";
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ ];
     homepage = "https://github.com/medenagan/window-corner-preview";
-    broken = lib.versionAtLeast gnome.gnome-shell.version "3.32"; # Doesn't support 3.34
+    broken = lib.versionAtLeast gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }