This makes magrathea use the repostory version of nix and git. This is done in the pursuit of enforcing guaranteed unified experience of magrathea tool across all users of a `tvl-kit`-based repository. Especially among ubuntu users with uncontrolled set of packages and versions installed on their system. Not having this was giving build problems for `mg build` as one of the users has 2.17 version of nix that had inconsistent hash computation with 2.3. Change-Id: I3182faf4c545ac61f6cc1cc862dc23d51c1cd397 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9892 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			676 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			676 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
# magrathea helps you build planets
 | 
						|
#
 | 
						|
# it is a tool for working with monorepos in the style of tvl's depot
 | 
						|
{ pkgs, ... }:
 | 
						|
 | 
						|
let
 | 
						|
  inherit (pkgs)
 | 
						|
    stdenv
 | 
						|
    chicken
 | 
						|
    chickenPackages
 | 
						|
    makeWrapper
 | 
						|
    git
 | 
						|
    nix
 | 
						|
    lib
 | 
						|
    ;
 | 
						|
 | 
						|
in
 | 
						|
stdenv.mkDerivation {
 | 
						|
  name = "magrathea";
 | 
						|
  src = ./.;
 | 
						|
  dontInstall = true;
 | 
						|
 | 
						|
  nativeBuildInputs = [ chicken makeWrapper ];
 | 
						|
  buildInputs = with chickenPackages.chickenEggs; [
 | 
						|
    matchable
 | 
						|
    srfi-13
 | 
						|
  ];
 | 
						|
 | 
						|
  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 ]}
 | 
						|
  '';
 | 
						|
}
 |