about summary refs log tree commit diff
path: root/pkgs/applications/terminal-emulators
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/terminal-emulators')
-rw-r--r--pkgs/applications/terminal-emulators/alacritty/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/blackbox-terminal/default.nix3
-rw-r--r--pkgs/applications/terminal-emulators/contour/default.nix1
-rw-r--r--pkgs/applications/terminal-emulators/darktile/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/dterm/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix3
-rw-r--r--pkgs/applications/terminal-emulators/guake/default.nix40
-rw-r--r--pkgs/applications/terminal-emulators/guake/no-compile-schemas.patch34
-rw-r--r--pkgs/applications/terminal-emulators/hyper/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/iterm2/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix13
-rw-r--r--pkgs/applications/terminal-emulators/kitty/themes.nix15
-rw-r--r--pkgs/applications/terminal-emulators/lxterminal/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/microcom/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/rio/default.nix8
-rw-r--r--pkgs/applications/terminal-emulators/sakura/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/st/siduck76-st.nix2
-rw-r--r--pkgs/applications/terminal-emulators/terminator/default.nix17
-rw-r--r--pkgs/applications/terminal-emulators/termite/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/wayst/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/x3270/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix4
22 files changed, 127 insertions, 41 deletions
diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix
index 16f46cb0f8ada..58e527cc50a98 100644
--- a/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -131,7 +131,7 @@ rustPlatform.buildRustPackage rec {
   passthru.tests.test = nixosTests.terminal-emulators.alacritty;
 
   meta = with lib; {
-    description = "A cross-platform, GPU-accelerated terminal emulator";
+    description = "Cross-platform, GPU-accelerated terminal emulator";
     homepage = "https://github.com/alacritty/alacritty";
     license = licenses.asl20;
     mainProgram = "alacritty";
diff --git a/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix b/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix
index 5b8e0078d75cf..f71a9dce894ff 100644
--- a/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix
+++ b/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix
@@ -72,6 +72,9 @@ stdenv.mkDerivation rec {
         rev = "3c8f66be867aca6656e4109ce880b6ea7431b895";
         hash = "sha256-vz9ircmPy2Q4fxNnjurkgJtuTSS49rBq/m61p1B43eU=";
       };
+      postPatch = (old.postPatch or "") + ''
+        patchShebangs src/box_drawing_generate.sh
+      '';
     } // lib.optionalAttrs sixelSupport {
       buildInputs = old.buildInputs ++ [ libsixel ];
       mesonFlags = old.mesonFlags ++ [ "-Dsixel=true" ];
diff --git a/pkgs/applications/terminal-emulators/contour/default.nix b/pkgs/applications/terminal-emulators/contour/default.nix
index 19793c384f1bc..a255b2fb99db8 100644
--- a/pkgs/applications/terminal-emulators/contour/default.nix
+++ b/pkgs/applications/terminal-emulators/contour/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchurl
 , cmake
 , pkg-config
 , boxed-cpp
diff --git a/pkgs/applications/terminal-emulators/darktile/default.nix b/pkgs/applications/terminal-emulators/darktile/default.nix
index 2aaa68801cb7a..4336c565afa1b 100644
--- a/pkgs/applications/terminal-emulators/darktile/default.nix
+++ b/pkgs/applications/terminal-emulators/darktile/default.nix
@@ -43,7 +43,7 @@ buildGoModule rec {
   passthru.tests.test = nixosTests.terminal-emulators.darktile;
 
   meta = with lib; {
-    description = "A GPU rendered terminal emulator designed for tiling window managers";
+    description = "GPU rendered terminal emulator designed for tiling window managers";
     homepage = "https://github.com/liamg/darktile";
     downloadPage = "https://github.com/liamg/darktile/releases";
     changelog = "https://github.com/liamg/darktile/releases/tag/v${version}";
diff --git a/pkgs/applications/terminal-emulators/dterm/default.nix b/pkgs/applications/terminal-emulators/dterm/default.nix
index b9ab08e9bbbc3..d77cf6e4d2c9c 100644
--- a/pkgs/applications/terminal-emulators/dterm/default.nix
+++ b/pkgs/applications/terminal-emulators/dterm/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://www.knossos.net.nz/resources/free-software/dterm/";
-    description = "A simple terminal program";
+    description = "Simple terminal program";
     longDescription = ''
       dterm is a simple terminal emulator, which doesn’t actually emulate any
       particular terminal. Mainly, it is designed for use with xterm and
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index 44f38a99a528d..0af07518001a3 100644
--- a/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -2,7 +2,6 @@
 , lib
 , fetchFromGitea
 , fetchurl
-, fetchpatch
 , runCommand
 , fcft
 , freetype
@@ -208,7 +207,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://codeberg.org/dnkl/foot/";
     changelog = "https://codeberg.org/dnkl/foot/releases/tag/${version}";
-    description = "A fast, lightweight and minimalistic Wayland terminal emulator";
+    description = "Fast, lightweight and minimalistic Wayland terminal emulator";
     license = licenses.mit;
     maintainers = [ maintainers.sternenseemann maintainers.abbe ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/terminal-emulators/guake/default.nix b/pkgs/applications/terminal-emulators/guake/default.nix
index 9342e1833ac26..239d9a2fe0486 100644
--- a/pkgs/applications/terminal-emulators/guake/default.nix
+++ b/pkgs/applications/terminal-emulators/guake/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , python3
 , glibcLocales
 , gobject-introspection
@@ -10,22 +11,47 @@
 , libutempter
 , vte
 , libwnck
+, dconf
 , nixosTests
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "guake";
-  version = "3.9.0";
+  version = "3.10";
 
-  format = "other";
+  pyproject = false;
 
   src = fetchFromGitHub {
     owner = "Guake";
     repo = "guake";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-BW13fBH26UqMPMjV8JC4QkpgzyoPfCpAfSkJD68uOZU=";
+    hash = "sha256-e6Bf4HDftHBxFPcw9z02CqgZhSIvt6wlLF6dnIh9fEc=";
   };
 
+  patches = [
+    # Avoid trying to recompile schema at runtime,
+    # the package should be responsible for ensuring it is up to date.
+    # Without this, the package will try to run glib-compile-schemas
+    # on every update, which is pointless and will crash
+    # unless user has it installed.
+    ./no-compile-schemas.patch
+
+    # Avoid using pip since it fails on not being able to find setuptools.
+    # Note: This is not a long-term solution, setup.py is deprecated.
+    (fetchpatch {
+      url = "https://github.com/Guake/guake/commit/14abaa0c69cfab64fe3467fbbea211d830042de8.patch";
+      hash = "sha256-RjGRFJDTQX2meAaw3UZi/3OxAtIHbRZVpXTbcJk/scY= ";
+      revert = true;
+    })
+
+    # Revert switch to FHS.
+    (fetchpatch {
+      url = "https://github.com/Guake/guake/commit/8c7a23ba62ee262c033dfa5b0b18d3df71361ff4.patch";
+      hash = "sha256-0asXI08XITkFc73EUenV9qxY/Eak+TzygRRK7GvhQUc=";
+      revert = true;
+    })
+  ];
+
   nativeBuildInputs = [
     gobject-introspection
     wrapGAppsHook3
@@ -57,7 +83,11 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libutempter ]}")
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libutempter ]}"
+      # For settings migration.
+      --prefix PATH : "${lib.makeBinPath [ dconf ]}"
+    )
   '';
 
   passthru.tests.test = nixosTests.terminal-emulators.guake;
@@ -65,7 +95,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Drop-down terminal for GNOME";
     homepage = "http://guake-project.org";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.msteen ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/terminal-emulators/guake/no-compile-schemas.patch b/pkgs/applications/terminal-emulators/guake/no-compile-schemas.patch
new file mode 100644
index 0000000000000..e73387e1fc098
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/guake/no-compile-schemas.patch
@@ -0,0 +1,34 @@
+diff --git a/guake/guake_app.py b/guake/guake_app.py
+index 48074db..d7d1371 100644
+--- a/guake/guake_app.py
++++ b/guake/guake_app.py
+@@ -109,12 +109,7 @@ class Guake(SimpleGladeApp):
+                 SCHEMA_DIR, Gio.SettingsSchemaSource.get_default(), False
+             )
+ 
+-        try:
+-            schema_source = load_schema()
+-        except GLib.Error:  # pylint: disable=catching-non-exception
+-            log.exception("Unable to load the GLib schema, try to compile it")
+-            try_to_compile_glib_schemas()
+-            schema_source = load_schema()
++        schema_source = load_schema()
+         self.settings = Settings(schema_source)
+         self.accel_group = None
+ 
+@@ -122,13 +117,8 @@ class Guake(SimpleGladeApp):
+             "schema-version" not in self.settings.general.keys()
+             or self.settings.general.get_string("schema-version") != guake_version()
+         ):
+-            log.exception("Schema from old guake version detected, regenerating schema")
+-            try:
+-                try_to_compile_glib_schemas()
+-            except subprocess.CalledProcessError:
+-                log.exception("Schema in non user-editable location, attempting to continue")
+-            schema_source = load_schema()
+-            self.settings = Settings(schema_source)
++            log.exception("Schema from old guake version detected")
++            # Kept for compatibility with other distros.
+             self.settings.general.set_string("schema-version", guake_version())
+ 
+         log.info("Language previously loaded from: %s", LOCALE_DIR)
diff --git a/pkgs/applications/terminal-emulators/hyper/default.nix b/pkgs/applications/terminal-emulators/hyper/default.nix
index 0c4d0b9d99a20..8fcbbe0666ef4 100644
--- a/pkgs/applications/terminal-emulators/hyper/default.nix
+++ b/pkgs/applications/terminal-emulators/hyper/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = true;
   meta = with lib; {
-    description = "A terminal built on web technologies";
+    description = "Terminal built on web technologies";
     homepage    = "https://hyper.is/";
     maintainers = with maintainers; [ puffnfresh fabiangd ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
diff --git a/pkgs/applications/terminal-emulators/iterm2/default.nix b/pkgs/applications/terminal-emulators/iterm2/default.nix
index e81648d23144a..96e387e49123b 100644
--- a/pkgs/applications/terminal-emulators/iterm2/default.nix
+++ b/pkgs/applications/terminal-emulators/iterm2/default.nix
@@ -11,11 +11,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "iterm2";
-  version = "3.4.23";
+  version = "3.5.2";
 
   src = fetchzip {
     url = "https://iterm2.com/downloads/stable/iTerm2-${lib.replaceStrings ["."] ["_"] version}.zip";
-    hash = "sha256-hQV/jGT/3JOvHBICyCeNnuSYMeeF7lfErN55f+Frg2w=";
+    hash = "sha256-WiRRxklI3A/3MtJY63jAkUVe8qa5jfRACzUESfwAmmw=";
   };
 
   dontFixup = true;
@@ -35,7 +35,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A replacement for Terminal and the successor to iTerm";
+    description = "Replacement for Terminal and the successor to iTerm";
     homepage = "https://www.iterm2.com/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ steinybot tricktron ];
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 675e47e5f57ac..a52a1362ddc91 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -31,20 +31,20 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.34.1";
+  version = "0.35.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "refs/tags/v${version}";
-    hash = "sha256-r7KZcSqREILMp0F9ajeHS5sglq/o88h2t+4BgbABjOY=";
+    hash = "sha256-5ZkQfGlW7MWYCJZSwK/u8x9jKrZEqupsNvW30DLipDM=";
   };
 
   goModules = (buildGo122Module {
     pname = "kitty-go-modules";
     inherit src version;
-    vendorHash = "sha256-HNE0MWjL0PH20Glzb0GV6+lQu/Lslx8k/+YvlLHbHww=";
+    vendorHash = "sha256-NzDA9b3RAfMx+Jj7cSF8pEsKUkoBECBUXl2QFSmkmwM=";
   }).goModules;
 
   buildInputs = [
@@ -210,7 +210,10 @@ buildPythonApplication rec {
     cp -r linux-package/{bin,share,lib} "$out"
     cp linux-package/bin/kitten "$kitten/bin/kitten"
     ''}
-    wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${lib.makeBinPath [ imagemagick ncurses.dev ]}"
+
+    # dereference the `kitty` symlink to make sure the actual executable
+    # is wrapped on macOS as well (and not just the symlink)
+    wrapProgram $(realpath "$out/bin/kitty") --prefix PATH : "$out/bin:${lib.makeBinPath [ imagemagick ncurses.dev ]}"
 
     installShellCompletion --cmd kitty \
       --bash <("$out/bin/kitty" +complete setup bash) \
@@ -242,7 +245,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/kovidgoyal/kitty";
-    description = "A modern, hackable, featureful, OpenGL based terminal emulator";
+    description = "Modern, hackable, featureful, OpenGL based terminal emulator";
     license = licenses.gpl3Only;
     changelog = [
       "https://sw.kovidgoyal.net/kitty/changelog/"
diff --git a/pkgs/applications/terminal-emulators/kitty/themes.nix b/pkgs/applications/terminal-emulators/kitty/themes.nix
index 1459642bc98a7..47ac58652a152 100644
--- a/pkgs/applications/terminal-emulators/kitty/themes.nix
+++ b/pkgs/applications/terminal-emulators/kitty/themes.nix
@@ -1,17 +1,18 @@
 { lib
 , stdenvNoCC
 , fetchFromGitHub
+, unstableGitUpdater
 }:
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation {
   pname = "kitty-themes";
-  version = "unstable-2023-12-28";
+  version = "0-unstable-2024-06-12";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty-themes";
-    rev = "46d9dfe230f315a6a0c62f4687f6b3da20fd05e4";
-    hash = "sha256-jlYim4YXByT6s6ce0TydZuhX0Y1ZDcAq2XKNONisSzE=";
+    rev = "9589f0dffc817d6e8b86a5b2dc56d7c3db201a9b";
+    hash = "sha256-8bZkYFb/HOIg2Uk7b/Apn30AAlRF0ztLh27AUlHW6Wk=";
   };
 
   dontConfigure = true;
@@ -26,11 +27,15 @@ stdenvNoCC.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = unstableGitUpdater {
+    hardcodeZeroVersion = true;
+  };
+
   meta = {
     homepage = "https://github.com/kovidgoyal/kitty-themes";
     description = "Themes for the kitty terminal emulator";
     license = lib.licenses.gpl3Only;
-    maintainers = with lib.maintainers; [ ];
+    maintainers = with lib.maintainers; [ sigmanificient ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/terminal-emulators/lxterminal/default.nix b/pkgs/applications/terminal-emulators/lxterminal/default.nix
index 76f375e43f62e..0dd83caee86e4 100644
--- a/pkgs/applications/terminal-emulators/lxterminal/default.nix
+++ b/pkgs/applications/terminal-emulators/lxterminal/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   passthru.tests.test = nixosTests.terminal-emulators.lxterminal;
 
   meta = {
-    description = "The standard terminal emulator of LXDE";
+    description = "Standard terminal emulator of LXDE";
     longDescription = ''
       LXTerminal is the standard terminal emulator of LXDE. The terminal is a
       desktop-independent VTE-based terminal emulator for LXDE without any
diff --git a/pkgs/applications/terminal-emulators/microcom/default.nix b/pkgs/applications/terminal-emulators/microcom/default.nix
index ef9f09a606fa3..8f9639dcfcd48 100644
--- a/pkgs/applications/terminal-emulators/microcom/default.nix
+++ b/pkgs/applications/terminal-emulators/microcom/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ readline ];
 
   meta = with lib; {
-    description = "A minimalistic terminal program for communicating
+    description = "Minimalistic terminal program for communicating
     with devices over a serial connection";
     inherit (src.meta) homepage;
     license = licenses.gpl2;
diff --git a/pkgs/applications/terminal-emulators/rio/default.nix b/pkgs/applications/terminal-emulators/rio/default.nix
index ee77c4c3d457b..48f175e67e7c4 100644
--- a/pkgs/applications/terminal-emulators/rio/default.nix
+++ b/pkgs/applications/terminal-emulators/rio/default.nix
@@ -51,16 +51,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "rio";
-  version = "0.0.36";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "raphamorim";
     repo = "rio";
     rev = "v${version}";
-    hash = "sha256-QCQFFnlKD5olaGjRwDlj5/EBV6Qy/bFAZOQRtCSPamc=";
+    hash = "sha256-Jp8f8u9CkY+pz6QaoWp6P6+OqsIjhzXH0eeoBiSDR0k=";
   };
 
-  cargoHash = "sha256-Ea0scCbM9mfxC1YL3HCoBk93eVW20bj2mJyauyDSzT8=";
+  cargoHash = "sha256-3FirYpHxTRvXgRQACVvmwlaCNTyJ8dLbZ258qv5vbsc=";
 
   nativeBuildInputs = [
     ncurses
@@ -111,7 +111,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = {
-    description = "A hardware-accelerated GPU terminal emulator powered by WebGPU";
+    description = "Hardware-accelerated GPU terminal emulator powered by WebGPU";
     homepage = "https://raphamorim.io/rio";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ tornax otavio oluceps ];
diff --git a/pkgs/applications/terminal-emulators/sakura/default.nix b/pkgs/applications/terminal-emulators/sakura/default.nix
index bbf435fd4ff73..d58eceae1654c 100644
--- a/pkgs/applications/terminal-emulators/sakura/default.nix
+++ b/pkgs/applications/terminal-emulators/sakura/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     homepage = "https://www.pleyades.net/david/projects/sakura";
-    description = "A terminal emulator based on GTK and VTE";
+    description = "Terminal emulator based on GTK and VTE";
     longDescription = ''
       sakura is a terminal emulator based on GTK and VTE. It's a terminal
       emulator with few dependencies, so you don't need a full GNOME desktop
diff --git a/pkgs/applications/terminal-emulators/st/siduck76-st.nix b/pkgs/applications/terminal-emulators/st/siduck76-st.nix
index a6753a105c6d1..cb4a9d77b5fd5 100644
--- a/pkgs/applications/terminal-emulators/st/siduck76-st.nix
+++ b/pkgs/applications/terminal-emulators/st/siduck76-st.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/siduck76/st";
-    description = "A fork of st with many add-ons";
+    description = "Fork of st with many add-ons";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/terminal-emulators/terminator/default.nix b/pkgs/applications/terminal-emulators/terminator/default.nix
index 3eb374af71abb..aedbb761a8cad 100644
--- a/pkgs/applications/terminal-emulators/terminator/default.nix
+++ b/pkgs/applications/terminal-emulators/terminator/default.nix
@@ -7,6 +7,7 @@
 , gtk3
 , gobject-introspection
 , libnotify
+, makeBinaryWrapper
 , wrapGAppsHook3
 , vte
 , nixosTests
@@ -14,19 +15,20 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "terminator";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "gnome-terminator";
     repo = "terminator";
-    rev = "v${version}";
-    hash = "sha256-Kx0z9oheA7Ihgsyg6zgPcGFMrqlXoIpQcL/dMqPB2qA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0468d/sAM/UOiaSspwWaOGogoE8/Idth0G4CMCXWFFo=";
   };
 
   nativeBuildInputs = [
     file
     intltool
     gobject-introspection
+    makeBinaryWrapper
     wrapGAppsHook3
     python3.pkgs.pytest-runner
   ];
@@ -55,8 +57,15 @@ python3.pkgs.buildPythonApplication rec {
 
   dontWrapGApps = true;
 
+  # HACK: 'wrapPythonPrograms' will add things to the $PATH in the wrapper. This bleeds into the
+  # terminal session produced by terminator. To avoid this, we force wrapPythonPrograms to only
+  # use gappsWrapperArgs by redefining wrapProgram to ignore its arguments and only apply the
+  # wrapper arguments we want it to use.
+  # TODO: Adjust wrapPythonPrograms to respect an argument that tells it to leave $PATH alone.
   preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+    wrapProgram() {
+      wrapProgramBinary "$1" "''${gappsWrapperArgs[@]}"
+    }
   '';
 
   passthru.tests.test = nixosTests.terminal-emulators.terminator;
diff --git a/pkgs/applications/terminal-emulators/termite/default.nix b/pkgs/applications/terminal-emulators/termite/default.nix
index a47423390ba21..4acc8263ce869 100644
--- a/pkgs/applications/terminal-emulators/termite/default.nix
+++ b/pkgs/applications/terminal-emulators/termite/default.nix
@@ -71,7 +71,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A simple VTE-based terminal";
+    description = "Simple VTE-based terminal";
     license = licenses.lgpl2Plus;
     homepage = "https://github.com/thestinger/termite/";
     maintainers = with maintainers; [ koral ];
diff --git a/pkgs/applications/terminal-emulators/wayst/default.nix b/pkgs/applications/terminal-emulators/wayst/default.nix
index 63736ac35e350..e1522450a1dc4 100644
--- a/pkgs/applications/terminal-emulators/wayst/default.nix
+++ b/pkgs/applications/terminal-emulators/wayst/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
   passthru.tests.test = nixosTests.terminal-emulators.wayst;
 
   meta = with lib; {
-    description = "A simple terminal emulator";
+    description = "Simple terminal emulator";
     mainProgram = "wayst";
     homepage = "https://github.com/91861/wayst";
     license = licenses.mit;
diff --git a/pkgs/applications/terminal-emulators/x3270/default.nix b/pkgs/applications/terminal-emulators/x3270/default.nix
index 010345aa03dfc..2e901e5af8763 100644
--- a/pkgs/applications/terminal-emulators/x3270/default.nix
+++ b/pkgs/applications/terminal-emulators/x3270/default.nix
@@ -18,6 +18,8 @@
 , fontbitstream100dpi
 , tcl
 , ncurses
+, openssl
+, readline
 }:
 let
   majorVersion = "4";
@@ -66,6 +68,8 @@ stdenv.mkDerivation rec {
     tcl
     ncurses
     expat
+    openssl
+    readline
   ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index 303c6d1b77da5..9992a6bae95da 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xterm";
-  version = "390";
+  version = "392";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
     ];
-    hash = "sha256-dRF8PMUXSgnEJe8QbmlATXL17wXgOl2gCq8VeS1vnA8=";
+    hash = "sha256-TVc3LvCOr6n7doLbjQe+D+BRPljoR4wuyOm2JIbn/l4=";
   };
 
   strictDeps = true;