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>
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { depot, lib, pkgs, ... }:
 | |
| 
 | |
| with depot.nix.yants;
 | |
| 
 | |
| let
 | |
|   inherit (builtins) hasAttr filter readFile;
 | |
|   inherit (depot.web.blog) post includePost renderPost;
 | |
|   inherit (depot.users.wpcarro.website) domain renderTemplate withBrand;
 | |
|   inherit (lib.lists) sort;
 | |
| 
 | |
|   config = {
 | |
|     name = "bill and his blog";
 | |
|     baseUrl = "https://${domain}/blog";
 | |
|     footer = "";
 | |
|   };
 | |
| 
 | |
|   posts = sort (x: y: x.date > y.date)
 | |
|     (filter includePost (list post (import ./posts.nix)));
 | |
| 
 | |
|   rendered = pkgs.runCommandNoCC "blog-posts" { } ''
 | |
|     mkdir -p $out
 | |
| 
 | |
|     ${lib.concatStringsSep "\n" (map (post:
 | |
|       "cp ${renderPost config post} $out/${post.key}.html"
 | |
|     ) posts)}
 | |
|   '';
 | |
| 
 | |
|   formatDate = date: readFile (pkgs.runCommandNoCC "date" { } ''
 | |
|     date --date='@${toString date}' '+%B %e, %Y' > $out
 | |
|   '');
 | |
| 
 | |
|   postsHtml = renderTemplate ./fragments/posts.html {
 | |
|     postsHtml = lib.concatStringsSep "\n" (map toPostHtml posts);
 | |
|   };
 | |
| 
 | |
|   toPostHtml = post: readFile (renderTemplate ./fragments/post.html {
 | |
|     postUrl = "${config.baseUrl}/posts/${post.key}.html";
 | |
|     postTitle = post.title;
 | |
|     postDate = formatDate post.date;
 | |
|   });
 | |
| in
 | |
| pkgs.runCommandNoCC "blog" { } ''
 | |
|   mkdir -p $out
 | |
|   cp ${withBrand (readFile postsHtml)} $out/index.html
 | |
|   cp -r ${rendered} $out/posts
 | |
| ''
 |