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;
 | 
						|
}
 |