Bonus solution in k as I got sniped by leah2. Change-Id: I806f5b2ac1388159a427bb239bfb1bb7aeb329d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7490 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
		
			
				
	
	
		
			68 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { depot, pkgs, lib, ... }:
 | |
| 
 | |
| let
 | |
|   inherit (pkgs.buildPackages) cbqn ngn-k;
 | |
| 
 | |
|   # input files are not checked in
 | |
|   meta.ci.skip = true;
 | |
| in
 | |
| 
 | |
| depot.nix.readTree.drvTargets {
 | |
|   shell = pkgs.mkShell {
 | |
|     name = "aoc-2022-shell";
 | |
|     packages = [
 | |
|       cbqn
 | |
|       ngn-k
 | |
|       depot.tvix.eval
 | |
|     ];
 | |
|   };
 | |
| 
 | |
|   bqn = pkgs.runCommand "bqn-aoc-2022"
 | |
|     {
 | |
|       nativeBuildInputs = [
 | |
|         cbqn
 | |
|       ];
 | |
| 
 | |
|       aoc = builtins.path {
 | |
|         name = "bqn-aoc-2022";
 | |
|         path = ./../.;
 | |
|         # Need lib.bqn from ../ and all inputs as well as bqn files from ./*
 | |
|         filter = path: type:
 | |
|           lib.hasSuffix ".bqn" path || (
 | |
|             lib.hasPrefix (toString ./.) path
 | |
|             && (
 | |
|               type == "directory"
 | |
|               || lib.hasSuffix "/input" path
 | |
|             )
 | |
|           );
 | |
|       };
 | |
| 
 | |
|       inherit meta;
 | |
|     }
 | |
|     ''
 | |
|       find "$aoc/2022" -name '*.bqn' -exec BQN {} \; | tee "$out"
 | |
|     '';
 | |
| 
 | |
|   nix = import ./nix.nix { inherit lib; };
 | |
| 
 | |
|   tvixed-nix = pkgs.runCommand "tvix-aoc-2022"
 | |
|     {
 | |
|       nativeBuildInputs = [
 | |
|         depot.tvix.eval
 | |
|       ];
 | |
|       solutions = builtins.path {
 | |
|         name = "nix-aoc-2022";
 | |
|         path = ./.;
 | |
|         filter = path: type:
 | |
|           type == "directory"
 | |
|           || lib.hasSuffix "nix.nix" path
 | |
|           || lib.hasSuffix "/input" path;
 | |
|       };
 | |
| 
 | |
|       inherit meta;
 | |
|     }
 | |
|     ''
 | |
|       tvix-eval -E "import $solutions/nix.nix { lib = import ${pkgs.path}/lib; }" \
 | |
|         | tee "$out"
 | |
|     '';
 | |
| }
 |