about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tools/magrathea/default.nix24
1 files changed, 20 insertions, 4 deletions
diff --git a/tools/magrathea/default.nix b/tools/magrathea/default.nix
index 1d6dacf67c48..5e8019852abd 100644
--- a/tools/magrathea/default.nix
+++ b/tools/magrathea/default.nix
@@ -3,21 +3,37 @@
 # it is a tool for working with monorepos in the style of tvl's depot
 { pkgs, ... }:
 
-pkgs.stdenv.mkDerivation {
+let
+  inherit (pkgs)
+    stdenv
+    chicken
+    chickenPackages
+    makeWrapper
+    git
+    nix
+    lib
+    ;
+
+in
+stdenv.mkDerivation {
   name = "magrathea";
   src = ./.;
   dontInstall = true;
 
-  nativeBuildInputs = [ pkgs.chicken ];
-  buildInputs = with pkgs.chickenPackages.chickenEggs; [
+  nativeBuildInputs = [ chicken makeWrapper ];
+  buildInputs = with chickenPackages.chickenEggs; [
     matchable
     srfi-13
   ];
 
-  propagatedBuildInputs = [ pkgs.git ];
+  propagatedBuildInputs = [ git ];
 
   buildPhase = ''
     mkdir -p $out/bin
     csc -o $out/bin/mg -host -static ${./mg.scm}
   '';
+
+  fixupPhase = ''
+    wrapProgram $out/bin/mg --prefix PATH ${lib.makeBinPath [ nix ]}
+  '';
 }