about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix15
1 files changed, 12 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix
index 4dee206be28d..175d3766594b 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix
@@ -7,7 +7,8 @@
 , gtk3
 , gobject-introspection
 , libnotify
-, wrapGAppsHook
+, makeBinaryWrapper
+, wrapGAppsHook3
 , vte
 , nixosTests
 }:
@@ -27,7 +28,8 @@ python3.pkgs.buildPythonApplication rec {
     file
     intltool
     gobject-introspection
-    wrapGAppsHook
+    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;