summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/build-support/agda/default.nix32
1 files changed, 13 insertions, 19 deletions
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index 69c4897d1a4..a404bbcf634 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -22,9 +22,6 @@ in
         propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
         propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
         everythingFile = if x.everythingFile == "" then "Everything.agda" else x.everythingFile;
-
-        passthru = { inherit (x) extras; };
-        extras = null;
       };
 
       defaults = self : {
@@ -81,22 +78,19 @@ in
           runHook postInstall
         '';
 
-        # Optionally-built conveniences
-        extras = {
-          # Makes a wrapper available to the user. Very useful in
-          # nix-shell where all dependencies are -i'd.
-          agdaWrapper = writeScriptBin "agda" ''
-            ${self.agdaWithArgs} "$@"
-          '';
-
-          # Use this to stick `agdaWrapper` at the front of the PATH:
-          #
-          # agda.mkDerivation (self: { PATH = self.extras.agdaWrapperPATH; })
-          #
-          # Not sure this is the best way to handle conflicts....
-          agdaWrapperPATH = "${self.extras.agdaWrapper}/bin:$PATH";
-
-          AGDA_PACKAGE_PATH = concatMapStrings (x: x + ":") self.buildDependsAgdaShareAgda;
+        passthru = {
+          env = stdenv.mkDerivation {
+            name = "interactive-${self.name}";
+            inherit (self) LANG LOCALE_ARCHIVE;
+            AGDA_PACKAGE_PATH = concatMapStrings (x: x + ":") self.buildDependsAgdaShareAgda;
+            buildInputs = let
+              # Makes a wrapper available to the user. Very useful in
+              # nix-shell where all dependencies are -i'd.
+              agdaWrapper = writeScriptBin "agda" ''
+                ${self.agdaWithArgs} "$@"
+              '';
+            in [agdaWrapper] ++ self.buildDepends;
+          };
         };
       };
     in stdenv.mkDerivation