diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index e3c76918911a..0c23082ab0e3 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -384,6 +384,14 @@
cosigned binary anymore.
+
+
+ Emacs now uses the Lucid toolkit by default instead of GTK
+ because of stability and compatibility issues. Users who still
+ wish to remain using GTK can do so by using
+ emacs-gtk.
+
+
riak package removed along with
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index afeaa7aaac73..c4dc8f0c4522 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -134,6 +134,9 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- `pkgs.cosign` does not provide the `cosigned` binary anymore.
+- Emacs now uses the Lucid toolkit by default instead of GTK because of stability and compatibility issues.
+ Users who still wish to remain using GTK can do so by using `emacs-gtk`.
+
- riak package removed along with `services.riak` module, due to lack of maintainer to update the package.
- xow package removed along with the `hardware.xow` module, due to the project being deprecated in favor of `xone`, which is available via the `hardware.xone` module.
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index 4243ad47a243..69061f044f34 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -18,7 +18,7 @@
, withX ? !stdenv.isDarwin
, withNS ? stdenv.isDarwin
, withGTK2 ? false, gtk2-x11 ? null
-, withGTK3 ? true, gtk3-x11 ? null, gsettings-desktop-schemas ? null
+, withGTK3 ? false, gtk3-x11 ? null, gsettings-desktop-schemas ? null
, withXwidgets ? false, webkitgtk ? null, wrapGAppsHook ? null, glib-networking ? null
, withMotif ? false, motif ? null
, withSQLite3 ? false
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8ff267fbc334..6df4a8fd9862 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -27084,6 +27084,7 @@ with pkgs;
em = callPackage ../applications/editors/em { };
emacs = emacs28;
+ emacs-gtk = emacs28-gtk;
emacs-nox = emacs28-nox;
emacs28 = callPackage ../applications/editors/emacs/28.nix {
@@ -27098,6 +27099,10 @@ with pkgs;
inherit (darwin) sigtool;
};
+ emacs28-gtk = emacs28.override {
+ withGTK3 = true;
+ };
+
emacs28-nox = lowPrio (emacs28.override {
withX = false;
withNS = false;