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