diff options
Diffstat (limited to 'pkgs/desktops')
41 files changed, 69 insertions, 2685 deletions
diff --git a/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix b/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix deleted file mode 100644 index 0ea81c6d103fd..0000000000000 --- a/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ lib -, stdenv -, meson -, fetchurl -, python3 -, pkg-config -, gtk4 -, glib -, gtksourceview5 -, gsettings-desktop-schemas -, wrapGAppsHook4 -, ninja -, gnome -, cairo -, enchant -, icu -, itstool -, libadwaita -, editorconfig-core-c -, libxml2 -, desktop-file-utils -}: - -stdenv.mkDerivation rec { - pname = "gnome-text-editor"; - version = "46.3"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-text-editor/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-AFtIEEqQm+Zq4HRI0rxXBsfRE3gQV6JP9tpVvfMkxz0="; - }; - - nativeBuildInputs = [ - desktop-file-utils - itstool - libxml2 # for xmllint - meson - ninja - pkg-config - python3 - wrapGAppsHook4 - ]; - - buildInputs = [ - cairo - enchant - icu - glib - gsettings-desktop-schemas - gtk4 - gtksourceview5 - libadwaita - editorconfig-core-c - ]; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gnome-text-editor"; - }; - }; - - meta = with lib; { - homepage = "https://gitlab.gnome.org/GNOME/gnome-text-editor"; - description = "Text Editor for GNOME"; - mainProgram = "gnome-text-editor"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.unix; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix deleted file mode 100644 index 6c63a486eef76..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix +++ /dev/null @@ -1,99 +0,0 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, gnome -, adwaita-icon-theme -, meson -, ninja -, pkg-config -, gtk3 -, gettext -, glib -, udev -, itstool -, libxml2 -, wrapGAppsHook3 -, libnotify -, libcanberra-gtk3 -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, python3 -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-bluetooth"; - version = "3.34.5"; - - # TODO: split out "lib" - outputs = [ "out" "dev" "devdoc" "man" ]; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "bJSeUsi+zCBU2qzWBJAfZs5c9wml+pHEu3ysyTm1Pqk="; - }; - - patches = [ - # Fix build with meson 0.61. - # sendto/meson.build:24:5: ERROR: Function does not take positional arguments. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/commit/755fd758f866d3a3f7ca482942beee749f13a91e.patch"; - sha256 = "sha256-N0MJ0pYO411o2CTNZHWmEoG2m5TGUjR6YW6HSXHTR/A="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - gettext - itstool - pkg-config - libxml2 - wrapGAppsHook3 - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - python3 - ]; - - buildInputs = [ - glib - gtk3 - udev - libnotify - libcanberra-gtk3 - adwaita-icon-theme - gsettings-desktop-schemas - ]; - - mesonFlags = [ - "-Dicon_update=false" - "-Dgtk_doc=true" - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - attrPath = "gnome.gnome-bluetooth_1_0"; - freeze = true; - }; - }; - - meta = with lib; { - homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en"; - description = "Application that let you manage Bluetooth in the GNOME destkop"; - mainProgram = "bluetooth-sendto"; - maintainers = [ ]; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix deleted file mode 100644 index 9e4944221c150..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - gnome, - meson, - mesonEmulatorHook, - ninja, - pkg-config, - gtk4, - libadwaita, - gettext, - glib, - udev, - upower, - itstool, - libxml2, - wrapGAppsHook4, - libnotify, - gsound, - gobject-introspection, - gtk-doc, - docbook-xsl-nons, - docbook_xml_dtd_43, - python3, - gsettings-desktop-schemas, -}: - -stdenv.mkDerivation rec { - pname = "gnome-bluetooth"; - version = "46.1"; - - # TODO: split out "lib" - outputs = [ - "out" - "dev" - "devdoc" - "man" - ]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-bluetooth/${lib.versions.major version}/gnome-bluetooth-${version}.tar.xz"; - hash = "sha256-VsRKFwNFmOlgdFivrhvnXz3l798OYjVfCbpY/HvDEqw="; - }; - - nativeBuildInputs = [ - meson - ninja - gettext - itstool - pkg-config - libxml2 - wrapGAppsHook4 - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - python3 - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ mesonEmulatorHook ]; - - buildInputs = [ - glib - gtk4 - libadwaita - udev - upower - libnotify - gsound - gsettings-desktop-schemas - ]; - - mesonFlags = [ "-Dgtk_doc=true" ]; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gnome-bluetooth"; - attrPath = "gnome.gnome-bluetooth"; - }; - }; - - meta = with lib; { - homepage = "https://gitlab.gnome.org/GNOME/gnome-bluetooth"; - description = "Application that lets you manage Bluetooth in the GNOME desktop"; - mainProgram = "bluetooth-sendto"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix deleted file mode 100644 index 59f8b2b8e746b..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix +++ /dev/null @@ -1,219 +0,0 @@ -{ fetchurl -, lib -, stdenv -, substituteAll -, accountsservice -, adwaita-icon-theme -, colord -, colord-gtk4 -, cups -, dbus -, docbook-xsl-nons -, fontconfig -, gdk-pixbuf -, gettext -, glib -, glib-networking -, gcr_4 -, glibc -, gnome-bluetooth -, gnome-color-manager -, gnome-desktop -, gnome-online-accounts -, gnome-settings-daemon -, gnome-tecla -, gnome -, gsettings-desktop-schemas -, gsound -, gst_all_1 -, gtk4 -, ibus -, json-glib -, libgtop -, libgudev -, libadwaita -, libkrb5 -, libjxl -, libpulseaudio -, libpwquality -, librsvg -, webp-pixbuf-loader -, libsecret -, libsoup_3 -, libwacom -, libXi -, libxml2 -, libxslt -, meson -, modemmanager -, mutter -, networkmanager -, networkmanagerapplet -, libnma-gtk4 -, ninja -, pkg-config -, polkit -, python3 -, samba -, setxkbmap -, shadow -, shared-mime-info -, sound-theme-freedesktop -, tracker -, tracker-miners -, tzdata -, udisks2 -, upower -, libepoxy -, gnome-user-share -, gnome-remote-desktop -, wrapGAppsHook4 -, xorgserver -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "gnome-control-center"; - version = "46.4"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz"; - hash = "sha256-Wb0wWDl3v6KOVCJ+7iEeqG9If81tORXtIfWTJCZxAeA="; - }; - - patches = [ - (substituteAll { - src = ./paths.patch; - gcm = gnome-color-manager; - inherit glibc tzdata shadow; - inherit cups networkmanagerapplet; - }) - ]; - - nativeBuildInputs = [ - docbook-xsl-nons - gettext - libxslt - meson - ninja - pkg-config - python3 - shared-mime-info - wrapGAppsHook4 - ]; - - buildInputs = [ - accountsservice - adwaita-icon-theme - colord - colord-gtk4 - cups - fontconfig - gdk-pixbuf - glib - glib-networking - gcr_4 - gnome-bluetooth - gnome-desktop - gnome-online-accounts - gnome-remote-desktop # optional, sharing panel - gnome-settings-daemon - gnome-tecla - gnome-user-share # optional, sharing panel - gsettings-desktop-schemas - gsound - gtk4 - ibus - json-glib - libepoxy - libgtop - libgudev - libadwaita - libkrb5 - libnma-gtk4 - libpulseaudio - libpwquality - librsvg - libsecret - libsoup_3 - libwacom - libXi - libxml2 - modemmanager - mutter # schemas for the keybindings - networkmanager - polkit - samba - tracker - tracker-miners # for search locations dialog - udisks2 - upower - ] ++ (with gst_all_1; [ - # For animations in Mouse panel. - gst-plugins-base - gst-plugins-good - ]); - - nativeCheckInputs = [ - dbus - python3.pkgs.pygobject3 # for test-networkmanager-service.py - python3.pkgs.python-dbusmock - setxkbmap - xorgserver # for Xvfb - ]; - - doCheck = true; - - preConfigure = '' - # For ITS rules - addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share" - ''; - - preCheck = '' - # Basically same as https://github.com/NixOS/nixpkgs/pull/141299 - export ADW_DISABLE_PORTAL=1 - export XDG_DATA_DIRS=${glib.getSchemaDataDirPath gsettings-desktop-schemas} - ''; - - 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+=( - --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" - # Thumbnailers (for setting user profile pictures) - --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" - --prefix XDG_DATA_DIRS : "${librsvg}/share" - # WM keyboard shortcuts - --prefix XDG_DATA_DIRS : "${mutter}/share" - ) - for i in $out/share/applications/*; do - substituteInPlace $i --replace "Exec=gnome-control-center" "Exec=$out/bin/gnome-control-center" - done - ''; - - separateDebugInfo = true; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gnome-control-center"; - attrPath = "gnome.gnome-control-center"; - }; - }; - - meta = with lib; { - description = "Utilities to configure the GNOME desktop"; - mainProgram = "gnome-control-center"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -}) diff --git a/pkgs/desktops/gnome/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome/core/gnome-control-center/paths.patch deleted file mode 100644 index 41dd5979aa4bc..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-control-center/paths.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c -index f6c84e3d2..cd897f8f5 100644 ---- a/panels/color/cc-color-panel.c -+++ b/panels/color/cc-color-panel.c -@@ -614,7 +614,7 @@ gcm_prefs_calibrate_cb (CcColorPanel *self) - - /* run with modal set */ - argv = g_ptr_array_new_with_free_func (g_free); -- g_ptr_array_add (argv, g_strdup ("gcm-calibrate")); -+ g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-calibrate", NULL)); - g_ptr_array_add (argv, g_strdup ("--device")); - g_ptr_array_add (argv, g_strdup (cd_device_get_id (self->current_device))); - g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -989,7 +989,7 @@ gcm_prefs_profile_view (CcColorPanel *self, CdProfile *profile) - - /* open up gcm-viewer as a info pane */ - argv = g_ptr_array_new_with_free_func (g_free); -- g_ptr_array_add (argv, g_strdup ("gcm-viewer")); -+ g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-viewer", NULL)); - g_ptr_array_add (argv, g_strdup ("--profile")); - g_ptr_array_add (argv, g_strdup (cd_profile_get_id (profile))); - g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -1221,15 +1221,12 @@ gcm_prefs_device_clicked (CcColorPanel *self, CdDevice *device) - static void - gcm_prefs_profile_clicked (CcColorPanel *self, CdProfile *profile, CdDevice *device) - { -- g_autofree gchar *s = NULL; -- - /* get profile */ - g_debug ("selected profile = %s", - cd_profile_get_filename (profile)); - - /* allow getting profile info */ -- if (cd_profile_get_filename (profile) != NULL && -- (s = g_find_program_in_path ("gcm-viewer")) != NULL) -+ if (cd_profile_get_filename (profile) != NULL) - gtk_widget_set_sensitive (self->toolbutton_profile_view, TRUE); - else - gtk_widget_set_sensitive (self->toolbutton_profile_view, FALSE); -diff --git a/panels/system/datetime/tz.h b/panels/system/datetime/tz.h -index feef16580..4b88ef7b1 100644 ---- a/panels/system/datetime/tz.h -+++ b/panels/system/datetime/tz.h -@@ -27,11 +27,7 @@ - - G_BEGIN_DECLS - --#ifndef __sun --# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" --#else --# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" --#endif -+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" - - typedef struct _TzDB TzDB; - typedef struct _TzLocation TzLocation; -diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c -index ec5a905a5..689fdbebe 100644 ---- a/panels/network/connection-editor/net-connection-editor.c -+++ b/panels/network/connection-editor/net-connection-editor.c -@@ -377,7 +377,7 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type) - GPid child_pid; - - builder = g_strv_builder_new (); -- g_strv_builder_add (builder, "nm-connection-editor"); -+ g_strv_builder_add (builder, "@networkmanagerapplet@/bin/nm-connection-editor"); - - if (self->is_new_connection) { - g_autofree gchar *type_str = NULL; -diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobile.c -index 166670224..36f720d36 100644 ---- a/panels/network/net-device-mobile.c -+++ b/panels/network/net-device-mobile.c -@@ -521,7 +521,7 @@ options_button_clicked_cb (NetDeviceMobile *self) - - connection = net_device_get_find_connection (self->client, self->device); - uuid = nm_connection_get_uuid (connection); -- cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); -+ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid); - g_debug ("Launching '%s'\n", cmdline); - if (!g_spawn_command_line_async (cmdline, &error)) - g_warning ("Failed to launch nm-connection-editor: %s", error->message); -@@ -810,7 +810,7 @@ net_device_mobile_init (NetDeviceMobile *self) - - self->cancellable = g_cancellable_new (); - -- path = g_find_program_in_path ("nm-connection-editor"); -+ path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); - gtk_widget_set_visible (GTK_WIDGET (self->options_button), path != NULL); - } - -diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c -index a31a606e3..ed5133d29 100644 ---- a/panels/printers/pp-host.c -+++ b/panels/printers/pp-host.c -@@ -256,7 +256,7 @@ _pp_host_get_snmp_devices_thread (GTask *task, - devices = g_ptr_array_new_with_free_func (g_object_unref); - - argv = g_new0 (gchar *, 3); -- argv[0] = g_strdup ("/usr/lib/cups/backend/snmp"); -+ argv[0] = g_strdup ("@cups@/lib/cups/backend/snmp"); - argv[1] = g_strdup (priv->hostname); - - /* Use SNMP to get printer's informations */ -diff --git a/panels/system/users/run-passwd.c b/panels/system/users/run-passwd.c -index edbc99830..1e1d90141 100644 ---- a/panels/system/users/run-passwd.c -+++ b/panels/system/users/run-passwd.c -@@ -152,7 +152,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error) - gchar **envp; - gint my_stdin, my_stdout; - -- argv[0] = "/usr/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ -+ argv[0] = "/run/wrappers/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ - argv[1] = NULL; - - envp = g_get_environ (); -diff --git a/panels/system/users/user-utils.c b/panels/system/users/user-utils.c -index 5b7bc1f02..13ffe6ca8 100644 ---- a/panels/system/users/user-utils.c -+++ b/panels/system/users/user-utils.c -@@ -215,7 +215,7 @@ is_valid_username_async (const gchar *username, - * future, so it would be nice to have some official way for this - * instead of relying on the current "--login" implementation. - */ -- argv[0] = "/usr/sbin/usermod"; -+ argv[0] = "@shadow@/bin/usermod"; - argv[1] = "--login"; - argv[2] = data->username; - argv[3] = "--"; -diff --git a/tests/datetime/test-endianess.c b/tests/datetime/test-endianess.c -index 9cb92007a..84d2f0fa3 100644 ---- a/tests/datetime/test-endianess.c -+++ b/tests/datetime/test-endianess.c -@@ -26,7 +26,7 @@ test_endianess (void) - g_autoptr(GDir) dir = NULL; - const char *name; - -- dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL); -+ dir = g_dir_open ("@glibc@/share/i18n/locales/", 0, NULL); - if (dir == NULL) { - /* Try with /usr/share/locale/ - * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */ diff --git a/pkgs/desktops/gnome/core/gnome-session/ctl.nix b/pkgs/desktops/gnome/core/gnome-session/ctl.nix deleted file mode 100644 index 10b59d660bef1..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-session/ctl.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, glib -, systemd -, wrapGAppsHook3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-session-ctl"; - version = "42.0"; - - src = fetchFromGitHub { - owner = "nix-community"; - repo = pname; - rev = version; - hash = "sha256-XGJVmlxqbJ/1frbzn2TI7BJm449xeLk43xMMqFsLYko="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = [ - glib - systemd - ]; - - meta = with lib; { - description = "gnome-session-ctl extracted from gnome-session for nixpkgs"; - homepage = "https://github.com/nix-community/gnome-session-ctl"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix deleted file mode 100644 index f7aa278fe8cc9..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-session/default.nix +++ /dev/null @@ -1,136 +0,0 @@ -{ fetchurl -, lib -, stdenv -, substituteAll -, meson -, ninja -, pkg-config -, gnome -, adwaita-icon-theme -, glib -, gtk3 -, gsettings-desktop-schemas -, gnome-desktop -, dbus -, json-glib -, libICE -, xmlto -, docbook_xsl -, docbook_xml_dtd_412 -, python3 -, libxslt -, gettext -, makeWrapper -, systemd -, xorg -, libepoxy -, bash -, gnome-session-ctl -}: - -stdenv.mkDerivation rec { - pname = "gnome-session"; - # Also bump ./ctl.nix when bumping major version. - version = "46.0"; - - outputs = [ "out" "sessions" ]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-xuFiSvYJC8ThoZH+Imir+nqN4HgxynpX8hfmeb97mlQ="; - }; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - gsettings = "${glib.bin}/bin/gsettings"; - dbusLaunch = "${dbus.lib}/bin/dbus-launch"; - bash = "${bash}/bin/bash"; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - makeWrapper - xmlto - libxslt - docbook_xsl - docbook_xml_dtd_412 - python3 - dbus # for DTD - ]; - - buildInputs = [ - glib - gtk3 - libICE - gnome-desktop - json-glib - xorg.xtrans - adwaita-icon-theme - gnome.gnome-settings-daemon - gsettings-desktop-schemas - systemd - libepoxy - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - - # Use our provided `gnome-session-ctl` - original="@libexecdir@/gnome-session-ctl" - replacement="${gnome-session-ctl}/libexec/gnome-session-ctl" - - find data/ -type f -name "*.service.in" -exec sed -i \ - -e s,$original,$replacement,g \ - {} + - ''; - - # We move the GNOME sessions to another output since gnome-session is a dependency of - # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is - # enabled without proper GNOME installation. - postInstall = '' - mkdir $sessions - moveToOutput share/wayland-sessions "$sessions" - moveToOutput share/xsessions "$sessions" - - # Our provided one is being used - rm -rf $out/libexec/gnome-session-ctl - ''; - - # `bin/gnome-session` will reset the environment when run in wayland, we - # therefor wrap `libexec/gnome-session-binary` instead which is the actual - # binary needing wrapping - preFixup = '' - 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_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg" - ''; - - separateDebugInfo = true; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gnome-session"; - attrPath = "gnome.gnome-session"; - }; - providedSessions = [ - "gnome" - "gnome-xorg" - ]; - }; - - meta = with lib; { - description = "GNOME session manager"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-session"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch deleted file mode 100644 index 38805c645b95f..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in -index b4b1f8fa..99d52cba 100755 ---- a/gnome-session/gnome-session.in -+++ b/gnome-session/gnome-session.in -@@ -4,13 +4,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && - [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && - [ -n "$SHELL" ]; then - if [ "$1" != '-l' ]; then -- exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" -+ # Make sure the shell actually sets up the environment. -+ unset __NIXOS_SET_ENVIRONMENT_DONE -+ exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'" - else - shift - fi - fi - --SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region) -+SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region) - REGION=${SETTING#\'} - REGION=${REGION%\'} - -diff --git a/gnome-session/main.c b/gnome-session/main.c -index a460a849..9d07898f 100644 ---- a/gnome-session/main.c -+++ b/gnome-session/main.c -@@ -215,7 +215,7 @@ require_dbus_session (int argc, - } - new_argv[i + 2] = NULL; - -- if (!execvp ("dbus-launch", new_argv)) { -+ if (!execvp ("@dbusLaunch@", new_argv)) { - g_set_error (error, - G_SPAWN_ERROR, - G_SPAWN_ERROR_FAILED, diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/43/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/43/default.nix deleted file mode 100644 index 6e87a2ab6e3b5..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-settings-daemon/43/default.nix +++ /dev/null @@ -1,128 +0,0 @@ -{ stdenv -, lib -, fetchpatch -, substituteAll -, fetchurl -, meson -, ninja -, pkg-config -, gnome -, perl -, gettext -, gtk3 -, glib -, libnotify -, libgnomekbd -, lcms2 -, libpulseaudio -, alsa-lib -, libcanberra-gtk3 -, upower -, colord -, libgweather -, polkit -, gsettings-desktop-schemas -, geoclue2 -, systemd -, libgudev -, libwacom -, libxslt -, libxml2 -, modemmanager -, networkmanager -, gnome-desktop -, geocode-glib_2 -, docbook_xsl -, wrapGAppsHook3 -, python3 -, tzdata -, nss -, gcr_4 -, gnome-session-ctl -}: - -stdenv.mkDerivation rec { - pname = "gnome-settings-daemon"; - version = "43.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "NRO7JPxvgYFmciOmSgZ1NP3M879mMmqUA9OLDw1gE9A="; - }; - - patches = [ - # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch"; - sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI="; - }) - - (substituteAll { - src = ./fix-paths.patch; - inherit tzdata; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - perl - gettext - libxml2 - libxslt - docbook_xsl - wrapGAppsHook3 - python3 - ]; - - buildInputs = [ - gtk3 - glib - gsettings-desktop-schemas - modemmanager - networkmanager - libnotify - libgnomekbd # for org.gnome.libgnomekbd.keyboard schema - gnome-desktop - lcms2 - libpulseaudio - alsa-lib - libcanberra-gtk3 - upower - colord - libgweather - nss - polkit - geocode-glib_2 - geoclue2 - systemd - libgudev - libwacom - gcr_4 - ]; - - mesonFlags = [ - "-Dudev_dir=${placeholder "out"}/lib/udev" - "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl" - ]; - - # Default for release buildtype but passed manually because - # we're using plain - env.NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; - - postPatch = '' - for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl; do - chmod +x $f - patchShebangs $f - done - ''; - - meta = with lib; { - description = "GNOME Settings Daemon"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/"; - license = licenses.gpl2Plus; - maintainers = teams.pantheon.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/43/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-settings-daemon/43/fix-paths.patch deleted file mode 100644 index 2229302cab7c0..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-settings-daemon/43/fix-paths.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/plugins/datetime/tz.h -+++ b/plugins/datetime/tz.h -@@ -27,11 +27,7 @@ - - #include <glib.h> - --#ifndef __sun --# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" --#else --# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" --#endif -+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" - - typedef struct _TzDB TzDB; - typedef struct _TzLocation TzLocation; diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/add-gnome-session-ctl-option.patch b/pkgs/desktops/gnome/core/gnome-settings-daemon/add-gnome-session-ctl-option.patch deleted file mode 100644 index 8bdf39ce37b62..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-settings-daemon/add-gnome-session-ctl-option.patch +++ /dev/null @@ -1,58 +0,0 @@ -From aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0 Mon Sep 17 00:00:00 2001 -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Sun, 20 Sep 2020 16:09:36 -0400 -Subject: [PATCH] build: add a gnome_session_ctl_path option - -In gsd.service.in the ExecStopPost expects g-s-d libexecdir to -be from the same prefix as gnome-session's, and this is not necessarily -true as there are linux distro's that install their packages into their -own individual prefixes (like NixOS or Guix). ---- - meson_options.txt | 1 + - plugins/gsd.service.in | 2 +- - plugins/meson.build | 6 ++++++ - 3 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/meson_options.txt b/meson_options.txt -index 3e04cf64f..21e003c61 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,4 +1,5 @@ - option('udev_dir', type: 'string', value: '', description: 'Absolute path of the udev base directory') -+option('gnome_session_ctl_path', type: 'string', value: '', description: 'Absolute path to the gnome-session-ctl binary') - option('systemd', type: 'boolean', value: true, description: 'Enable systemd integration') - - option('alsa', type: 'boolean', value: true, description: 'build with ALSA support (not optional on Linux platforms)') -diff --git a/plugins/gsd.service.in b/plugins/gsd.service.in -index 79b5f5536..bfbde6d05 100644 ---- a/plugins/gsd.service.in -+++ b/plugins/gsd.service.in -@@ -23,4 +23,4 @@ BusName=@plugin_dbus_name@ - TimeoutStopSec=5 - # We cannot use OnFailure as e.g. dependency failures are normal - # https://github.com/systemd/systemd/issues/12352 --ExecStopPost=@libexecdir@/gnome-session-ctl --exec-stop-check -+ExecStopPost=@gnome_session_ctl@ --exec-stop-check -diff --git a/plugins/meson.build b/plugins/meson.build -index 83e018854..266a0f093 100644 ---- a/plugins/meson.build -+++ b/plugins/meson.build -@@ -20,6 +20,11 @@ all_plugins = [ - - disabled_plugins = [] - -+gnome_session_ctl = get_option('gnome_session_ctl_path') -+if gnome_session_ctl == '' -+ gnome_session_ctl = join_paths(gsd_libexecdir, 'gnome-session-ctl') -+endif -+ - if not enable_smartcard - disabled_plugins += ['smartcard'] - endif -@@ -125,6 +130,7 @@ foreach plugin: all_plugins - unit_conf.set('plugin_name', plugin_name) - unit_conf.set('description', plugin_description) - unit_conf.set('libexecdir', gsd_libexecdir) -+ unit_conf.set('gnome_session_ctl', gnome_session_ctl) - unit_conf.set('plugin_dbus_name', plugin_dbus_name) - unit_conf.set('plugin_restart', plugin_restart_rule.get(plugin_name, 'on-failure')) diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix deleted file mode 100644 index 4284a68ee3e70..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix +++ /dev/null @@ -1,126 +0,0 @@ -{ stdenv -, lib -, substituteAll -, fetchurl -, meson -, ninja -, pkg-config -, gnome -, perl -, gettext -, gtk3 -, glib -, libnotify -, libgnomekbd -, libpulseaudio -, alsa-lib -, libcanberra-gtk3 -, upower -, colord -, libgweather -, polkit -, gsettings-desktop-schemas -, geoclue2 -, systemd -, libgudev -, libwacom -, libxslt -, libxml2 -, modemmanager -, networkmanager -, gnome-desktop -, geocode-glib_2 -, docbook_xsl -, wrapGAppsHook3 -, python3 -, tzdata -, gcr_4 -, gnome-session-ctl -}: - -stdenv.mkDerivation rec { - pname = "gnome-settings-daemon"; - version = "46.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-C5oPZPoYqOfgm0yVo/dU+gM8LNvS3DVwHwYYVywcs9c="; - }; - - patches = [ - # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202 - ./add-gnome-session-ctl-option.patch - - (substituteAll { - src = ./fix-paths.patch; - inherit tzdata; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - perl - gettext - libxml2 - libxslt - docbook_xsl - wrapGAppsHook3 - python3 - ]; - - buildInputs = [ - gtk3 - glib - gsettings-desktop-schemas - modemmanager - networkmanager - libnotify - libgnomekbd # for org.gnome.libgnomekbd.keyboard schema - gnome-desktop - libpulseaudio - alsa-lib - libcanberra-gtk3 - upower - colord - libgweather - polkit - geocode-glib_2 - geoclue2 - systemd - libgudev - libwacom - gcr_4 - ]; - - mesonFlags = [ - "-Dudev_dir=${placeholder "out"}/lib/udev" - "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl" - ]; - - # Default for release buildtype but passed manually because - # we're using plain - env.NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; - - - postPatch = '' - for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl; do - chmod +x $f - patchShebangs $f - done - ''; - - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - attrPath = "gnome.${pname}"; - }; - }; - - meta = with lib; { - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-settings-daemon/fix-paths.patch deleted file mode 100644 index 2229302cab7c0..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-settings-daemon/fix-paths.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/plugins/datetime/tz.h -+++ b/plugins/datetime/tz.h -@@ -27,11 +27,7 @@ - - #include <glib.h> - --#ifndef __sun --# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" --#else --# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" --#endif -+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" - - typedef struct _TzDB TzDB; - typedef struct _TzLocation TzLocation; 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 f84908eff0741..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-shell/default.nix +++ /dev/null @@ -1,239 +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/core/gnome-tour/default.nix b/pkgs/desktops/gnome/core/gnome-tour/default.nix deleted file mode 100644 index 0cc5c596bb5c2..0000000000000 --- a/pkgs/desktops/gnome/core/gnome-tour/default.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ lib -, stdenv -, rustPlatform -, gettext -, meson -, ninja -, fetchurl -, pkg-config -, gtk4 -, glib -, gdk-pixbuf -, desktop-file-utils -, appstream-glib -, wrapGAppsHook4 -, python3 -, gnome -, libadwaita -, librsvg -, rustc -, cargo -}: - -stdenv.mkDerivation rec { - pname = "gnome-tour"; - version = "46.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-8yZSqp1+8GQ3YM5jkyCCz9NkHnczt2xCm3jQl4O3xGo="; - }; - - cargoVendorDir = "vendor"; - - depsBuildBuild = [ - pkg-config - ]; - - nativeBuildInputs = [ - appstream-glib - cargo - desktop-file-utils - gettext - glib # glib-compile-resources - meson - ninja - pkg-config - python3 - rustPlatform.cargoSetupHook - rustc - wrapGAppsHook4 - ]; - - buildInputs = [ - gdk-pixbuf - glib - gtk4 - libadwaita - librsvg - ]; - - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - }; - }; - - meta = with lib; { - homepage = "https://gitlab.gnome.org/GNOME/gnome-tour"; - description = "GNOME Greeter & Tour"; - mainProgram = "gnome-tour"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/core/mutter/43/default.nix b/pkgs/desktops/gnome/core/mutter/43/default.nix deleted file mode 100644 index cef4edf84c0ff..0000000000000 --- a/pkgs/desktops/gnome/core/mutter/43/default.nix +++ /dev/null @@ -1,196 +0,0 @@ -{ fetchurl -, runCommand -, lib -, fetchpatch -, stdenv -, pkg-config -, gnome -, gettext -, gobject-introspection -, cairo -, colord -, lcms2 -, pango -, json-glib -, libstartup_notification -, libcanberra -, ninja -, xvfb-run -, xkeyboard_config -, libxcvt -, libxkbfile -, libXdamage -, libxkbcommon -, libXtst -, libinput -, libdrm -, gsettings-desktop-schemas -, glib -, gtk3 -, gnome-desktop -, pipewire -, libgudev -, libwacom -, xwayland -, mesa -, meson -, gnome-settings-daemon -, xorgserver -, python3 -, wayland-scanner -, wrapGAppsHook3 -, gi-docgen -, sysprof -, libsysprof-capture -, desktop-file-utils -, libcap_ng -, egl-wayland -, graphene -, wayland -, wayland-protocols -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "mutter"; - version = "43.8"; - - outputs = [ "out" "dev" "man" "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz"; - sha256 = "TjTh8XWTS9hJqEvZX6Nb8G6EEuAt8loDbC8RNdUz8oE="; - }; - - patches = [ - # Fix build with separate sysprof. - # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2572 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/285a5a4d54ca83b136b787ce5ebf1d774f9499d5.patch"; - sha256 = "/npUE3idMSTVlFptsDpZmGWjZ/d2gqruVlJKq4eF4xU="; - }) - - # Remove support for window shading. - # The corresponding key was removed in gsettings-desktop-schemas 45.alpha. - # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2884 - # - # Fetch the patch from magpie as they share same code base and this feature - # is never supported on wayland (note that magpie 0.9.x won't support wayland). - # https://github.com/BuddiesOfBudgie/magpie/issues/9 - (fetchpatch { - url = "https://github.com/BuddiesOfBudgie/magpie/commit/4177c466375462ca8ed8fdb60913df4422f19144.patch"; - sha256 = "NVx40WDnlUL050D529KVohvNBdVrheXxmJ73U3+KSeQ="; - }) - ]; - - mesonFlags = [ - "-Degl_device=true" - "-Dinstalled_tests=false" # TODO: enable these - "-Dwayland_eglstream=true" - "-Dprofiler=true" - "-Dxwayland_path=${lib.getExe xwayland}" - # This should be auto detected, but it looks like it manages a false - # positive. - "-Dxwayland_initfd=disabled" - "-Ddocs=true" - ]; - - propagatedBuildInputs = [ - # required for pkg-config to detect mutter-clutter - json-glib - libXtst - libcap_ng - graphene - ]; - - nativeBuildInputs = [ - desktop-file-utils - gettext - libxcvt - mesa # needed for gbm - meson - ninja - xvfb-run - pkg-config - python3 - wayland-scanner - wrapGAppsHook3 - gi-docgen - xorgserver - gobject-introspection - ]; - - buildInputs = [ - cairo - egl-wayland - glib - gnome-desktop - gnome-settings-daemon - gsettings-desktop-schemas - gtk3 - libcanberra - libdrm - libgudev - libinput - libstartup_notification - libwacom - libxkbcommon - libxkbfile - libXdamage - colord - lcms2 - pango - pipewire - sysprof # for D-Bus interfaces - libsysprof-capture - xkeyboard_config - xwayland - wayland - wayland-protocols - ]; - - postPatch = '' - patchShebangs src/backends/native/gen-default-modes.py - - # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3187 - substituteInPlace meson.build \ - --replace "dependency('sysprof-4')" "dependency('sysprof-6')" - ''; - - postInstall = '' - ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" - ''; - - postFixup = '' - # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. - # TODO: Move this into a directory devhelp can find. - moveToOutput "share/mutter-11/doc" "$devdoc" - ''; - - # Install udev files into our own tree. - PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; - - separateDebugInfo = true; - - passthru = { - libdir = "${finalAttrs.finalPackage}/lib/mutter-11"; - - tests = { - libdirExists = runCommand "mutter-libdir-exists" {} '' - if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then - echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one." - exit 1 - fi - touch $out - ''; - }; - }; - - meta = with lib; { - description = "Window manager for GNOME"; - mainProgram = "mutter"; - homepage = "https://gitlab.gnome.org/GNOME/mutter"; - license = licenses.gpl2Plus; - maintainers = teams.pantheon.members; - platforms = platforms.linux; - }; -}) diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix deleted file mode 100644 index 78b21f4d215f2..0000000000000 --- a/pkgs/desktops/gnome/core/mutter/default.nix +++ /dev/null @@ -1,210 +0,0 @@ -{ fetchurl -, runCommand -, lib -, stdenv -, pkg-config -, gnome -, gettext -, gobject-introspection -, cairo -, colord -, lcms2 -, pango -, libstartup_notification -, libcanberra -, ninja -, xvfb-run -, libxcvt -, libICE -, libX11 -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXtst -, libxkbfile -, xkeyboard_config -, libxkbcommon -, libXrender -, libxcb -, libXrandr -, libXinerama -, libXau -, libinput -, libdrm -, libei -, libdisplay-info -, gsettings-desktop-schemas -, glib -, atk -, gtk4 -, fribidi -, harfbuzz -, gnome-desktop -, pipewire -, libgudev -, libwacom -, libSM -, xwayland -, mesa -, meson -, gnome-settings-daemon -, xorgserver -, python3 -, wayland-scanner -, wrapGAppsHook4 -, gi-docgen -, sysprof -, libsysprof-capture -, desktop-file-utils -, egl-wayland -, graphene -, wayland -, wayland-protocols -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "mutter"; - version = "46.4"; - - outputs = [ "out" "dev" "man" "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz"; - hash = "sha256-YRvZz5gq21ZZfOKzQiQnL9phm7O7kSpoTXXG8sN1AuQ="; - }; - - mesonFlags = [ - "-Degl_device=true" - "-Dinstalled_tests=false" # TODO: enable these - "-Dtests=false" - "-Dwayland_eglstream=true" - "-Dprofiler=true" - "-Dxwayland_path=${lib.getExe xwayland}" - # This should be auto detected, but it looks like it manages a false - # positive. - "-Dxwayland_initfd=disabled" - "-Ddocs=true" - ]; - - propagatedBuildInputs = [ - # required for pkg-config to detect mutter-mtk - graphene - ]; - - nativeBuildInputs = [ - desktop-file-utils - gettext - libxcvt - mesa # needed for gbm - meson - ninja - xvfb-run - pkg-config - python3 - wayland-scanner - wrapGAppsHook4 - gi-docgen - xorgserver - gobject-introspection - ]; - - buildInputs = [ - cairo - egl-wayland - glib - gnome-desktop - gnome-settings-daemon - gsettings-desktop-schemas - atk - fribidi - harfbuzz - libcanberra - libdrm - libei - libdisplay-info - libgudev - libinput - libstartup_notification - libwacom - libSM - colord - lcms2 - pango - pipewire - sysprof # for D-Bus interfaces - libsysprof-capture - xwayland - wayland - wayland-protocols - ] ++ [ - # X11 client - gtk4 - libICE - libX11 - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXtst - libxkbfile - xkeyboard_config - libxkbcommon - libXrender - libxcb - libXrandr - libXinerama - libXau - ]; - - postPatch = '' - patchShebangs src/backends/native/gen-default-modes.py - ''; - - postInstall = '' - ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" - ''; - - postFixup = '' - # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. - # TODO: Move this into a directory devhelp can find. - moveToOutput "share/mutter-14/doc" "$devdoc" - ''; - - # Install udev files into our own tree. - PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; - - separateDebugInfo = true; - - passthru = { - libdir = "${finalAttrs.finalPackage}/lib/mutter-14"; - - tests = { - libdirExists = runCommand "mutter-libdir-exists" {} '' - if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then - echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one." - exit 1 - fi - touch $out - ''; - }; - - updateScript = gnome.updateScript { - packageName = "mutter"; - attrPath = "gnome.mutter"; - }; - }; - - meta = with lib; { - description = "Window manager for GNOME"; - mainProgram = "mutter"; - homepage = "https://gitlab.gnome.org/GNOME/mutter"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -}) diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index a81a5ea463507..edb942833123c 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -17,66 +17,10 @@ in #### Core (http://ftp.acc.umu.se/pub/GNOME/core/) - gnome-bluetooth = callPackage ./core/gnome-bluetooth { }; - - gnome-bluetooth_1_0 = callPackage ./core/gnome-bluetooth/1.0 { }; - - gnome-control-center = callPackage ./core/gnome-control-center { }; - - gnome-session = callPackage ./core/gnome-session { }; - - gnome-session-ctl = callPackage ./core/gnome-session/ctl.nix { }; - - gnome-shell = callPackage ./core/gnome-shell { }; - - gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { }; - - # Using 43 to match Mutter used in Pantheon - gnome-settings-daemon43 = callPackage ./core/gnome-settings-daemon/43 { }; - gvfs = pkgs.gvfs.override { gnomeSupport = true; }; - mutter = callPackage ./core/mutter { }; - - # Needed for elementary's gala, wingpanel and greeter until support for higher versions is provided - mutter43 = callPackage ./core/mutter/43 { }; - - networkmanager-openvpn = pkgs.networkmanager-openvpn.override { - withGnome = true; - }; - - networkmanager-vpnc = pkgs.networkmanager-vpnc.override { - withGnome = true; - }; - - networkmanager-openconnect = pkgs.networkmanager-openconnect.override { - withGnome = true; - }; - - networkmanager-fortisslvpn = pkgs.networkmanager-fortisslvpn.override { - withGnome = true; - }; - - networkmanager-l2tp = pkgs.networkmanager-l2tp.override { - withGnome = true; - }; - - networkmanager-iodine = pkgs.networkmanager-iodine.override { - withGnome = true; - }; - nixos-gsettings-overrides = callPackage ./nixos/gsettings-overrides { }; -#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ - - gnome-applets = callPackage ./misc/gnome-applets { }; - - gnome-flashback = callPackage ./misc/gnome-flashback { }; - - gnome-panel = callPackage ./misc/gnome-panel { }; - - gnome-panel-with-modules = callPackage ./misc/gnome-panel/wrapper.nix { }; - }) // lib.optionalAttrs config.allowAliases { #### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope. libgnome-keyring = lib.warn "The ‘gnome.libgnome-keyring’ was moved to top-level. Please use ‘pkgs.libgnome-keyring’ directly." pkgs.libgnome-keyring; # Added on 2024-06-22. @@ -107,8 +51,11 @@ in geary = lib.warn "The ‘gnome.geary’ was moved to top-level. Please use ‘pkgs.geary’ directly." pkgs.geary; # Added on 2024-06-22. ghex = lib.warn "The ‘gnome.ghex’ was moved to top-level. Please use ‘pkgs.ghex’ directly." pkgs.ghex; # Added on 2024-06-22. gitg = lib.warn "The ‘gnome.gitg’ was moved to top-level. Please use ‘pkgs.gitg’ directly." pkgs.gitg; # Added on 2024-06-22. + gnome-applets = lib.warn "The ‘gnome.gnome-applets’ was moved to top-level. Please use ‘pkgs.gnome-applets’ directly." pkgs.gnome-applets; # Added on 2024-08-31. gnome-autoar = lib.warn "The ‘gnome.gnome-autoar’ was moved to top-level. Please use ‘pkgs.gnome-autoar’ directly." pkgs.gnome-autoar; # Added on 2024-06-13. gnome-backgrounds = lib.warn "The ‘gnome.gnome-backgrounds’ was moved to top-level. Please use ‘pkgs.gnome-backgrounds’ directly." pkgs.gnome-backgrounds; # Added on 2024-08-11. + gnome-bluetooth = lib.warn "The ‘gnome.gnome-bluetooth’ was moved to top-level. Please use ‘pkgs.gnome-bluetooth’ directly." pkgs.gnome-bluetooth; # Added on 2024-08-28. + gnome-bluetooth_1_0 = lib.warn "The ‘gnome.gnome-bluetooth_1_0’ was moved to top-level. Please use ‘pkgs.gnome-bluetooth_1_0’ directly." pkgs.gnome-bluetooth_1_0; # Added on 2024-08-28. gnome-boxes = lib.warn "The ‘gnome.gnome-boxes’ was moved to top-level. Please use ‘pkgs.gnome-boxes’ directly." pkgs.gnome-boxes; # Added on 2024-08-11. gnome-characters = lib.warn "The ‘gnome.gnome-characters’ was moved to top-level. Please use ‘pkgs.gnome-characters’ directly." pkgs.gnome-characters; # Added on 2024-08-11. gnome-chess = lib.warn "The ‘gnome.gnome-chess’ was moved to top-level. Please use ‘pkgs.gnome-chess’ directly." pkgs.gnome-chess; # Added on 2024-08-11. @@ -118,8 +65,10 @@ in gnome-calculator = lib.warn "The ‘gnome.gnome-calculator’ was moved to top-level. Please use ‘pkgs.gnome-calculator’ directly." pkgs.gnome-calculator; # Added on 2024-06-22. gnome-calendar = lib.warn "The ‘gnome.gnome-calendar’ was moved to top-level. Please use ‘pkgs.gnome-calendar’ directly." pkgs.gnome-calendar; # Added on 2024-06-22. gnome-contacts = lib.warn "The ‘gnome.gnome-contacts’ was moved to top-level. Please use ‘pkgs.gnome-contacts’ directly." pkgs.gnome-contacts; # Added on 2024-08-11. + gnome-control-center = lib.warn "The ‘gnome.gnome-control-center’ was moved to top-level. Please use ‘pkgs.gnome-control-center’ directly." pkgs.gnome-control-center; # Added on 2024-08-28. gnome-dictionary = lib.warn "The ‘gnome.gnome-dictionary’ was moved to top-level. Please use ‘pkgs.gnome-dictionary’ directly." pkgs.gnome-dictionary; # Added on 2024-06-22. gnome-disk-utility = lib.warn "The ‘gnome.gnome-disk-utility’ was moved to top-level. Please use ‘pkgs.gnome-disk-utility’ directly." pkgs.gnome-disk-utility; # Added on 2024-06-22. + gnome-flashback = lib.warn "The ‘gnome.gnome-flashback’ was moved to top-level. Please use ‘pkgs.gnome-flashback’ directly." pkgs.gnome-flashback; # Added on 2024-08-31. gnome-font-viewer = lib.warn "The ‘gnome.gnome-font-viewer’ was moved to top-level. Please use ‘pkgs.gnome-font-viewer’ directly." pkgs.gnome-font-viewer; # Added on 2024-06-22. gnome-initial-setup = lib.warn "The ‘gnome.gnome-initial-setup’ was moved to top-level. Please use ‘pkgs.gnome-initial-setup’ directly." pkgs.gnome-initial-setup; # Added on 2024-08-11. gnome-keyring = lib.warn "The ‘gnome.gnome-keyring’ was moved to top-level. Please use ‘pkgs.gnome-keyring’ directly." pkgs.gnome-keyring; # Added on 2024-06-22. @@ -133,10 +82,17 @@ in gnome-nibbles = lib.warn "The ‘gnome.gnome-nibbles’ was moved to top-level. Please use ‘pkgs.gnome-nibbles’ directly." pkgs.gnome-nibbles; # Added on 2024-08-11. gnome-notes = lib.warn "The ‘gnome.gnome-notes’ was moved to top-level. Please use ‘pkgs.gnome-notes’ directly." pkgs.gnome-notes; # Added on 2024-08-11. gnome-packagekit = lib.warn "The ‘gnome.gnome-packagekit’ was moved to top-level. Please use ‘pkgs.gnome-packagekit’ directly." pkgs.gnome-packagekit; # Added on 2024-06-22. + gnome-panel = lib.warn "The ‘gnome.gnome-panel’ was moved to top-level. Please use ‘pkgs.gnome-panel’ directly." pkgs.gnome-panel; # Added on 2024-08-31. + gnome-panel-with-modules = lib.warn "The ‘gnome.gnome-panel-with-modules’ was moved to top-level. Please use ‘pkgs.gnome-panel-with-modules’ directly." pkgs.gnome-panel-with-modules; # Added on 2024-08-31. gnome-power-manager = lib.warn "The ‘gnome.gnome-power-manager’ was moved to top-level. Please use ‘pkgs.gnome-power-manager’ directly." pkgs.gnome-power-manager; # Added on 2024-08-11. gnome-remote-desktop = lib.warn "The ‘gnome.gnome-remote-desktop’ was moved to top-level. Please use ‘pkgs.gnome-remote-desktop’ directly." pkgs.gnome-remote-desktop; # Added on 2024-08-11. gnome-robots = lib.warn "The ‘gnome.gnome-robots’ was moved to top-level. Please use ‘pkgs.gnome-robots’ directly." pkgs.gnome-robots; # Added on 2024-08-11. gnome-screenshot = lib.warn "The ‘gnome.gnome-screenshot’ was moved to top-level. Please use ‘pkgs.gnome-screenshot’ directly." pkgs.gnome-screenshot; # Added on 2024-06-22. + gnome-session = lib.warn "The ‘gnome.gnome-session’ was moved to top-level. Please use ‘pkgs.gnome-session’ directly." pkgs.gnome-session; # Added on 2024-08-28. + 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. @@ -156,7 +112,15 @@ in iagno = lib.warn "The ‘gnome.iagno’ was moved to top-level. Please use ‘pkgs.iagno’ directly." pkgs.iagno; # Added on 2024-08-11. lightsoff = lib.warn "The ‘gnome.lightsoff’ was moved to top-level. Please use ‘pkgs.lightsoff’ directly." pkgs.lightsoff; # Added on 2024-08-11. metacity = lib.warn "The ‘gnome.metacity’ was moved to top-level. Please use ‘pkgs.metacity’ directly." pkgs.metacity; # Added on 2024-08-11. + mutter = lib.warn "The ‘gnome.mutter’ was moved to top-level. Please use ‘pkgs.mutter’ directly." pkgs.mutter; # Added on 2024-08-28. + mutter43 = lib.warn "The ‘gnome.mutter43’ was moved to top-level. Please use ‘pkgs.mutter43’ directly." pkgs.mutter43; # Added on 2024-08-28. nautilus = lib.warn "The ‘gnome.nautilus’ was moved to top-level. Please use ‘pkgs.nautilus’ directly." pkgs.nautilus; # Added on 2024-06-13. + networkmanager-openvpn = lib.warn "The ‘gnome.networkmanager-openvpn’ was moved to top-level. Please use ‘pkgs.networkmanager-openvpn’ directly." pkgs.networkmanager-openvpn; # Added on 2024-08-31. + networkmanager-vpnc = lib.warn "The ‘gnome.networkmanager-vpnc’ was moved to top-level. Please use ‘pkgs.networkmanager-vpnc’ directly." pkgs.networkmanager-vpnc; # Added on 2024-08-31. + networkmanager-openconnect = lib.warn "The ‘gnome.networkmanager-openconnect’ was moved to top-level. Please use ‘pkgs.networkmanager-openconnect’ directly." pkgs.networkmanager-openconnect; # Added on 2024-08-31. + networkmanager-fortisslvpn = lib.warn "The ‘gnome.networkmanager-fortisslvpn’ was moved to top-level. Please use ‘pkgs.networkmanager-fortisslvpn’ directly." pkgs.networkmanager-fortisslvpn; # Added on 2024-08-31. + networkmanager-l2tp = lib.warn "The ‘gnome.networkmanager-l2tp’ was moved to top-level. Please use ‘pkgs.networkmanager-l2tp’ directly." pkgs.networkmanager-l2tp; # Added on 2024-08-31. + networkmanager-iodine = lib.warn "The ‘gnome.networkmanager-iodine’ was moved to top-level. Please use ‘pkgs.networkmanager-iodine’ directly." pkgs.networkmanager-iodine; # Added on 2024-08-31. nautilus-python = lib.warn "The ‘gnome.nautilus-python’ was moved to top-level. Please use ‘pkgs.nautilus-python’ directly." pkgs.nautilus-python; # Added on 2024-06-13. polari = lib.warn "The ‘gnome.polari’ was moved to top-level. Please use ‘pkgs.polari’ directly." pkgs.polari; # Added on 2024-08-11. pomodoro = lib.warn "The ‘gnome.pomodoro’ was moved to top-level. Please use ‘pkgs.gnome-pomodoro’ directly." pkgs.gnome-pomodoro; # Added on 2024-06-22. 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 }; } diff --git a/pkgs/desktops/gnome/games/gnome-2048/default.nix b/pkgs/desktops/gnome/games/gnome-2048/default.nix deleted file mode 100644 index fc04ee0b8f1e7..0000000000000 --- a/pkgs/desktops/gnome/games/gnome-2048/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, wrapGAppsHook3 -, meson -, vala -, pkg-config -, ninja -, itstool -, clutter-gtk -, libgee -, libgnome-games-support -, gnome -, gtk3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-twenty-forty-eight"; - version = "3.38.2"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-2048/${lib.versions.majorMinor version}/gnome-2048-${version}.tar.xz"; - sha256 = "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2"; - }; - - patches = [ - # Fix build with meson 0.61 - # https://gitlab.gnome.org/GNOME/gnome-2048/-/merge_requests/21 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-2048/-/commit/194e22699f7166a016cd39ba26dd719aeecfc868.patch"; - sha256 = "Qpn/OJJwblRm5Pi453aU2HwbrNjsf+ftmSnns/5qZ9E="; - }) - ]; - - nativeBuildInputs = [ - itstool - meson - ninja - pkg-config - vala - wrapGAppsHook3 - ]; - - buildInputs = [ - clutter-gtk - libgee - libgnome-games-support - gtk3 - ]; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gnome-2048"; - }; - }; - - meta = with lib; { - homepage = "https://gitlab.gnome.org/GNOME/gnome-2048"; - description = "Obtain the 2048 tile"; - mainProgram = "gnome-2048"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/misc/gnome-applets/default.nix b/pkgs/desktops/gnome/misc/gnome-applets/default.nix deleted file mode 100644 index 0270045dad7df..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-applets/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ lib, stdenv -, fetchurl -, gettext -, itstool -, libxml2 -, pkg-config -, gnome-panel -, gtk3 -, glib -, libwnck -, libgtop -, libnotify -, upower -, wirelesstools -, linuxPackages -, adwaita-icon-theme -, libgweather -, gucharmap -, tracker -, polkit -, gnome -}: - -stdenv.mkDerivation rec { - pname = "gnome-applets"; - version = "3.52.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-bz07QoZW/21bHT7lzLfs49Kxi1S/BFes9DtxHlXi1iw="; - }; - - nativeBuildInputs = [ - gettext - itstool - pkg-config - libxml2 - ]; - - buildInputs = [ - gnome-panel - gtk3 - glib - libxml2 - libwnck - libgtop - libnotify - upower - adwaita-icon-theme - libgweather - gucharmap - tracker - polkit - wirelesstools - linuxPackages.cpupower - ]; - - enableParallelBuilding = true; - - doCheck = true; - - # Don't try to install modules to gnome panel's directory, as it's read only - PKG_CONFIG_LIBGNOME_PANEL_MODULESDIR = "${placeholder "out"}/lib/gnome-panel/modules"; - - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - attrPath = "gnome.${pname}"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = with lib; { - description = "Applets for use with the GNOME panel"; - mainProgram = "cpufreq-selector"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-applets"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix deleted file mode 100644 index 770d389d77d12..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix +++ /dev/null @@ -1,198 +0,0 @@ -{ stdenv -, lib -, autoreconfHook -, fetchurl -, gettext -, glib -, gnome-bluetooth -, gnome-desktop -, gnome-panel -, gnome-session -, gnome -, gsettings-desktop-schemas -, gtk3 -, ibus -, libcanberra-gtk3 -, libpulseaudio -, libxkbfile -, libxml2 -, pkg-config -, polkit -, gdm -, systemd -, upower -, pam -, wrapGAppsHook3 -, writeTextFile -, xkeyboard_config -, xorg -, nixosTests -, runCommand -, buildEnv -}: -let - pname = "gnome-flashback"; - version = "3.52.1"; - - # From data/sessions/Makefile.am - requiredComponentsCommon = enableGnomePanel: - [ ] - ++ lib.optional enableGnomePanel "gnome-panel"; - requiredComponentsGsd = [ - "org.gnome.SettingsDaemon.A11ySettings" - "org.gnome.SettingsDaemon.Color" - "org.gnome.SettingsDaemon.Datetime" - "org.gnome.SettingsDaemon.Housekeeping" - "org.gnome.SettingsDaemon.Keyboard" - "org.gnome.SettingsDaemon.MediaKeys" - "org.gnome.SettingsDaemon.Power" - "org.gnome.SettingsDaemon.PrintNotifications" - "org.gnome.SettingsDaemon.Rfkill" - "org.gnome.SettingsDaemon.ScreensaverProxy" - "org.gnome.SettingsDaemon.Sharing" - "org.gnome.SettingsDaemon.Smartcard" - "org.gnome.SettingsDaemon.Sound" - "org.gnome.SettingsDaemon.UsbProtection" - "org.gnome.SettingsDaemon.Wacom" - "org.gnome.SettingsDaemon.XSettings" - ]; - requiredComponents = wmName: enableGnomePanel: "RequiredComponents=${lib.concatStringsSep ";" ([ wmName ] ++ requiredComponentsCommon enableGnomePanel ++ requiredComponentsGsd)};"; - - gnome-flashback = stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - hash = "sha256-ugRhPNrbYr2iBkN8BHKZ4WAlzeG9gJXglKp3dpx4YDo="; - }; - - # make .desktop Execs absolute - postPatch = '' - patch -p0 <<END_PATCH - +++ data/applications/gnome-flashback.desktop.in - @@ -4 +4 @@ - -Exec=gnome-flashback - +Exec=$out/bin/gnome-flashback - END_PATCH - ''; - - postInstall = '' - # Check that our expected RequiredComponents match the stock session files, but then don't install them. - # They can be installed using mkSessionForWm. - grep '${requiredComponents "metacity" true}' $out/share/gnome-session/sessions/gnome-flashback-metacity.session || (echo "RequiredComponents have changed, please update gnome-flashback/default.nix."; false) - - rm -r $out/share/gnome-session - rm -r $out/share/xsessions - rm $out/libexec/gnome-flashback-metacity - ''; - - nativeBuildInputs = [ - autoreconfHook - gettext - libxml2 - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = [ - glib - gnome-bluetooth - gnome-desktop - gsettings-desktop-schemas - gtk3 - ibus - libcanberra-gtk3 - libpulseaudio - libxkbfile - xorg.libXxf86vm - polkit - gdm - gnome-panel - systemd - upower - pam - xkeyboard_config - ]; - - doCheck = true; - - enableParallelBuilding = true; - - PKG_CONFIG_LIBGNOME_PANEL_LAYOUTSDIR = "${placeholder "out"}/share/gnome-panel/layouts"; - PKG_CONFIG_LIBGNOME_PANEL_MODULESDIR = "${placeholder "out"}/lib/gnome-panel/modules"; - - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - attrPath = "gnome.${pname}"; - versionPolicy = "odd-unstable"; - }; - - mkWmApplication = { wmName, wmLabel, wmCommand }: - writeTextFile { - name = "gnome-flashback-${wmName}-wm"; - destination = "/share/applications/${wmName}.desktop"; - text = '' - [Desktop Entry] - Type=Application - Encoding=UTF-8 - Name=${wmLabel} - Exec=${wmCommand} - NoDisplay=true - X-GNOME-WMName=${wmLabel} - X-GNOME-Autostart-Phase=WindowManager - X-GNOME-Provides=windowmanager - X-GNOME-Autostart-Notify=false - ''; - }; - - mkGnomeSession = { wmName, wmLabel, enableGnomePanel }: - writeTextFile { - name = "gnome-flashback-${wmName}-gnome-session"; - destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session"; - text = '' - [GNOME Session] - Name=GNOME Flashback (${wmLabel}) - ${requiredComponents wmName enableGnomePanel} - ''; - }; - - mkSessionForWm = { wmName, wmLabel, wmCommand }: - writeTextFile - { - name = "gnome-flashback-${wmName}-xsession"; - destination = "/share/xsessions/gnome-flashback-${wmName}.desktop"; - text = '' - [Desktop Entry] - Name=GNOME Flashback (${wmLabel}) - Comment=This session logs you into GNOME Flashback with ${wmLabel} - Exec=${gnome-session}/bin/gnome-session --session=gnome-flashback-${wmName} - TryExec=${wmCommand} - Type=Application - DesktopNames=GNOME-Flashback;GNOME; - ''; - } // { - providedSessions = [ "gnome-flashback-${wmName}" ]; - }; - - mkSystemdTargetForWm = { wmName, wmLabel, wmCommand, enableGnomePanel }: - runCommand "gnome-flashback-${wmName}.target" { } '' - mkdir -p $out/lib/systemd/user - cp -r "${gnome-flashback}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \ - "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d" - ''; - - tests = { inherit (nixosTests) gnome-flashback; }; - }; - - meta = with lib; { - description = "GNOME 2.x-like session for GNOME 3"; - mainProgram = "gnome-flashback"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-flashback"; - license = licenses.gpl2; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; - }; -in -gnome-flashback diff --git a/pkgs/desktops/gnome/misc/gnome-panel/default.nix b/pkgs/desktops/gnome/misc/gnome-panel/default.nix deleted file mode 100644 index 71bfd89d4599c..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-panel/default.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ stdenv -, lib -, fetchurl -, autoreconfHook -, dconf -, evolution-data-server -, gdm -, geocode-glib_2 -, gettext -, glib -, gnome-desktop -, gnome-menus -, gnome -, gtk3 -, itstool -, libgweather -, libwnck -, libxml2 -, pkg-config -, polkit -, systemd -, wrapGAppsHook3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-panel"; - version = "3.52.0"; - - outputs = [ "out" "dev" "man" ]; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-nim6iHPN5A1AwpNKRk+PQ7ousbUisZFEfKon3XhTxdQ="; - }; - - patches = [ - # Load modules from path in `NIX_GNOME_PANEL_MODULESDIR` environment variable - # instead of gnome-panel’s libdir so that the NixOS module can make gnome-panel - # load modules from other packages as well. - ./modulesdir-env-var.patch - ]; - - # make .desktop Exec absolute - postPatch = '' - patch -p0 <<END_PATCH - +++ gnome-panel/gnome-panel.desktop.in - @@ -7 +7 @@ - -Exec=gnome-panel - +Exec=$out/bin/gnome-panel - END_PATCH - ''; - - preFixup = '' - gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${gnome-menus}/share" - --prefix XDG_CONFIG_DIRS : "${gnome-menus}/etc/xdg" - ) - ''; - - nativeBuildInputs = [ - autoreconfHook - gettext - itstool - libxml2 - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = [ - dconf - evolution-data-server - gdm - geocode-glib_2 - glib - gnome-desktop - gnome-menus - gtk3 - libgweather - libwnck - polkit - systemd - ]; - - configureFlags = [ - "--enable-eds" - ]; - - enableParallelBuilding = true; - - doCheck = true; - - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - attrPath = "gnome.${pname}"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = with lib; { - description = "Component of Gnome Flashback that provides panels and default applets for the desktop"; - mainProgram = "gnome-panel"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-panel"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch b/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch deleted file mode 100644 index 40638bf123d2a..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/gnome-panel/gp-module-manager.c b/gnome-panel/gp-module-manager.c -index 58447fd84..7af99de7d 100644 ---- a/gnome-panel/gp-module-manager.c -+++ b/gnome-panel/gp-module-manager.c -@@ -49,8 +49,16 @@ load_modules (GpModuleManager *self) - { - GDir *dir; - const gchar *name; -+ const gchar *modules_dir; - -- dir = g_dir_open (MODULESDIR, 0, NULL); -+ modules_dir = g_getenv ("NIX_GNOME_PANEL_MODULESDIR"); -+ -+ if (!modules_dir) { -+ g_warning ("The NIX_GNOME_PANEL_MODULESDIR environment variable was not set, modules will not be loaded."); -+ return; -+ } -+ -+ dir = g_dir_open (modules_dir, 0, NULL); - if (!dir) - return; - -@@ -63,7 +71,7 @@ load_modules (GpModuleManager *self) - if (!g_str_has_suffix (name, ".so")) - continue; - -- path = g_build_filename (MODULESDIR, name, NULL); -+ path = g_build_filename (modules_dir, name, NULL); - module = gp_module_new_from_path (path); - g_free (path); - diff --git a/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix b/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix deleted file mode 100644 index 10b81eaad62cd..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ stdenv -, lib -, buildEnv -, gnome-panel -, gnome-flashback -, xorg -, glib -, wrapGAppsHook3 -, panelModulePackages ? [ ] -}: - -let - # We always want to find the built-in panel applets. - selectedPanelModulePackages = [ gnome-panel gnome-flashback ] ++ panelModulePackages; - - panelModulesEnv = buildEnv { - name = "gnome-panel-modules-env"; - paths = selectedPanelModulePackages; - pathsToLink = [ "/lib/gnome-panel/modules" ]; - }; -in -stdenv.mkDerivation { - pname = "${gnome-panel.pname}-with-modules"; - inherit (gnome-panel) version; - - nativeBuildInputs = [ - glib - wrapGAppsHook3 - ]; - - buildInputs = selectedPanelModulePackages ++ - lib.forEach selectedPanelModulePackages (x: x.buildInputs or [ ]); - - dontUnpack = true; - dontConfigure = true; - dontBuild = true; - - preferLocalBuild = true; - allowSubstitutes = false; - - installPhase = '' - runHook preInstall - - mkdir -p $out - ${xorg.lndir}/bin/lndir -silent ${gnome-panel} $out - - rm -r $out/lib/gnome-panel/modules - ${xorg.lndir}/bin/lndir -silent ${panelModulesEnv} $out - - rm $out/share/applications/gnome-panel.desktop - - substitute ${gnome-panel}/share/applications/gnome-panel.desktop \ - $out/share/applications/gnome-panel.desktop --replace \ - "Exec=${gnome-panel}/bin/gnome-panel" "Exec=$out/bin/gnome-panel" - - runHook postInstall - ''; - - preFixup = '' - gappsWrapperArgs+=( - --set NIX_GNOME_PANEL_MODULESDIR "$out/lib/gnome-panel/modules" - ) - ''; - - meta = gnome-panel.meta // { outputsToInstall = [ "out" ]; }; -} diff --git a/pkgs/desktops/lxde/core/lxtask/default.nix b/pkgs/desktops/lxde/core/lxtask/default.nix index 2daece75cbd4a..b29581dfe5fa4 100644 --- a/pkgs/desktops/lxde/core/lxtask/default.nix +++ b/pkgs/desktops/lxde/core/lxtask/default.nix @@ -1,29 +1,42 @@ { lib , stdenv -, fetchurl -, pkg-config -, intltool +, fetchFromGitHub +, autoreconfHook , gtk3 +, intltool , libintl +, pkg-config +, gitUpdater }: stdenv.mkDerivation rec { pname = "lxtask"; - version = "0.1.10"; + version = "0.1.11"; - src = fetchurl { - url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz"; - sha256 = "0b2fxg8jjjpk219gh7qa18g45365598nd2bq7rrq0bdvqjdxy5i2"; + src = fetchFromGitHub { + owner = "lxde"; + repo = "lxtask"; + rev = version; + hash = "sha256-KPne7eWzOOSZjHlam3e6HifNk2Sx1vWnQYkXDFZGop0="; }; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + autoreconfHook + intltool + pkg-config + ]; - buildInputs = [ gtk3 libintl ]; + buildInputs = [ + gtk3 + libintl + ]; configureFlags = [ "--enable-gtk3" ]; + passthru.updateScript = gitUpdater { }; + meta = with lib; { - homepage = "https://wiki.lxde.org/en/LXTask"; + homepage = "http://lxde.sourceforge.net/"; description = "Lightweight and desktop independent task manager"; mainProgram = "lxtask"; longDescription = '' diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix index 360e175e6b1b3..9084297c05b1a 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-mouse-touchpad"; - version = "8.0.0"; + version = "8.0.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-OXaCftfPPAIxDGOBKM4S7Bv//j0sWy/CsbqvugxSZ70="; + sha256 = "sha256-aOJnjHCyc1tSyF7AuW5nXUXcvzBnZ+pwU91Mk+veusg="; }; patches = [ diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 47f4d036fc5cb..cde3255eb46fc 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -38,10 +38,10 @@ lib.makeScope pkgs.newScope (self: with self; { maintainers = lib.teams.pantheon.members; - mutter = pkgs.gnome.mutter43; + mutter = pkgs.mutter43; # Using 43 to match Mutter used in Pantheon - gnome-settings-daemon = pkgs.gnome.gnome-settings-daemon43; + gnome-settings-daemon = pkgs.gnome-settings-daemon43; elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { }; @@ -95,9 +95,7 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-print-shim = callPackage ./desktop/elementary-print-shim { }; - elementary-session-settings = callPackage ./desktop/elementary-session-settings { - inherit (gnome) gnome-session; - }; + elementary-session-settings = callPackage ./desktop/elementary-session-settings { }; elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { }; diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix index d2780cdcfe653..744c546987b56 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -25,13 +25,13 @@ stdenv.mkDerivation rec { pname = "elementary-settings-daemon"; - version = "8.0.0"; + version = "8.1.0"; src = fetchFromGitHub { owner = "elementary"; repo = "settings-daemon"; rev = version; - sha256 = "sha256-e70OVdvyKzzF+W7epzj23/Q1lsJiSJd7z1fj41sWfWU="; + sha256 = "sha256-w5dRQPRsM52wqusTLLPmKmVwoBFS+pHOokfDmCDxVWM="; }; nativeBuildInputs = [ |