This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			727 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			727 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # Solutions for Advent of Code 2020, written in Emacs Lisp.
 | |
| #
 | |
| # For each day a new file is created as "solution-day$n.el".
 | |
| { depot, pkgs, ... }:
 | |
| 
 | |
| let
 | |
|   inherit (builtins) attrNames filter head listToAttrs match readDir;
 | |
|   dir = readDir ./.;
 | |
|   matchSolution = match "solution-(.*)\.el";
 | |
|   isSolution = f: (matchSolution f) != null;
 | |
|   getDay = f: head (matchSolution f);
 | |
| 
 | |
|   solutionFiles = filter (e: dir."${e}" == "regular" && isSolution e) (attrNames dir);
 | |
|   solutions = map
 | |
|     (f:
 | |
|       let day = getDay f; in depot.nix.writeElispBin {
 | |
|         name = day;
 | |
|         deps = p: with p; [ dash s ht p.f ];
 | |
|         src = ./. + ("/" + f);
 | |
|       })
 | |
|     solutionFiles;
 | |
| in
 | |
| pkgs.symlinkJoin {
 | |
|   name = "aoc2020";
 | |
|   paths = solutions;
 | |
| }
 |