We have a new channel visitor who joined via Matrix and pointed this out. Apparently hackint reestablished the Matrix bridge. Change-Id: I25ec7fdc5c1b68a9b0bc92b6c19ffe12ecb93c5f Reviewed-on: https://cl.tvl.fyi/c/depot/+/4864 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org>
		
			
				
	
	
		
			129 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ depot, lib, pkgs, ... }:
 | 
						|
 | 
						|
with depot.nix.yants;
 | 
						|
 | 
						|
let
 | 
						|
  inherit (builtins) filter;
 | 
						|
  inherit (pkgs) graphviz runCommandNoCC writeText;
 | 
						|
  inherit (depot.web) atom-feed blog tvl;
 | 
						|
 | 
						|
  listPosts = defun [ (list blog.post) string ] (posts:
 | 
						|
    lib.concatStringsSep "\n" (map (p: "* [${p.title}](blog/${p.key})") posts)
 | 
						|
  );
 | 
						|
 | 
						|
  postRenderingCommands = defun [ (list blog.post) string ] (posts:
 | 
						|
    lib.concatStringsSep "\n"
 | 
						|
      (map (p: "cp ${blog.renderPost tvl.blog.config p} $out/blog/${p.key}.html") posts)
 | 
						|
  );
 | 
						|
 | 
						|
  tvlGraph = runCommandNoCC "tvl.svg" {
 | 
						|
    nativeBuildInputs = with pkgs; [ fontconfig freetype cairo jetbrains-mono ];
 | 
						|
  } ''
 | 
						|
    ${graphviz}/bin/neato -Tsvg ${./tvl.dot} > $out
 | 
						|
  '';
 | 
						|
 | 
						|
  publishedPosts = filter blog.includePost tvl.blog.posts;
 | 
						|
 | 
						|
  feed = {
 | 
						|
    id = "https://tvl.fyi/";
 | 
						|
    title = "TVL blog";
 | 
						|
    subtitle = "Thoughts and news from The Virus Lounge";
 | 
						|
    authors = [ "tazjin" ]; # TODO(tazjin): Extract from post info
 | 
						|
 | 
						|
    links = lib.singleton {
 | 
						|
      rel = "self";
 | 
						|
      href = "https://tvl.fyi/feed.atom";
 | 
						|
    };
 | 
						|
 | 
						|
    entries = map (blog.toFeedEntry tvl.blog.config) publishedPosts;
 | 
						|
  };
 | 
						|
 | 
						|
  atomFeed = writeText "feed.atom" (atom-feed.renderFeed feed);
 | 
						|
 | 
						|
  homepage = tvl.template {
 | 
						|
    title = "The Virus Lounge";
 | 
						|
    content = ''
 | 
						|
      The Virus Lounge
 | 
						|
      ================
 | 
						|
 | 
						|
      ----------------
 | 
						|
 | 
						|
      <img class="tvl-logo" src="https://static.tvl.fyi/${depot.web.static.drvHash}/logo-animated.svg"
 | 
						|
           alt="Virus with lambda-shaped spike proteins sitting on an armchair">
 | 
						|
 | 
						|
      Welcome to **The Virus Lounge**. We're a group of people who got
 | 
						|
      together in 2020, when we felt that there was not enough
 | 
						|
      spontaneous socialising on the internet.
 | 
						|
 | 
						|
      Because of our shared interests in topics like **build systems**
 | 
						|
      and **monorepos** we started working on code together, in our
 | 
						|
      monorepo called the *depot*.
 | 
						|
 | 
						|
      Feel free to explore the tech we have built so far, all our
 | 
						|
      systems are linked in the footer.
 | 
						|
 | 
						|
      We mostly hang out on IRC. You can find us in [`#tvl`][tvl-irc]
 | 
						|
      on [hackint][], which is also reachable [via XMPP][hackint-xmpp]
 | 
						|
      at [`#tvl@irc.hackint.org`][tvl-xmpp] (sic!) and [via
 | 
						|
      Matrix][hackint-matrix] at [`#tvl:hackint.org`][tvl-matrix].
 | 
						|
 | 
						|
      Hackint also provide a [web chat][tvl-webchat].
 | 
						|
 | 
						|
      [tvl-irc]: ircs://irc.hackint.org:6697/#tvl
 | 
						|
      [hackint]: https://hackint.org/
 | 
						|
      [hackint-xmpp]: https://hackint.org/transport/xmpp
 | 
						|
      [tvl-xmpp]: xmpp:#tvl@irc.hackint.org?join
 | 
						|
      [hackint-matrix]: https://hackint.org/transport/matrix
 | 
						|
      [tvl-matrix]: https://matrix.to/#/#tvl:hackint.org
 | 
						|
      [tvl-webchat]: https://webirc.hackint.org/#ircs://irc.hackint.org/#tvl
 | 
						|
 | 
						|
      ----------------
 | 
						|
 | 
						|
      ## Blog
 | 
						|
 | 
						|
      Here are the most recent TVL blog posts.
 | 
						|
 | 
						|
      ${listPosts publishedPosts}
 | 
						|
 | 
						|
      You can also follow our [atom feed](https://tvl.fyi/feed.atom).
 | 
						|
 | 
						|
      ----------------
 | 
						|
 | 
						|
      ## Where did all these people come from?
 | 
						|
 | 
						|
      It's pretty straightforward. Feel free to click on people, too.
 | 
						|
 | 
						|
      <div class="tvl-graph-container">
 | 
						|
        <!--
 | 
						|
          cheddar leaves HTML inside of HTML alone,
 | 
						|
          so wrapping the SVG prevents it from messing it up
 | 
						|
        -->
 | 
						|
        ${builtins.readFile tvlGraph}
 | 
						|
      </div>
 | 
						|
    '';
 | 
						|
    extraHead = ''
 | 
						|
      <style>
 | 
						|
        .tvl-graph-container {
 | 
						|
          max-width: inherit;
 | 
						|
        }
 | 
						|
 | 
						|
        .tvl-graph-container svg {
 | 
						|
          max-width: inherit;
 | 
						|
          height: auto;
 | 
						|
        }
 | 
						|
 | 
						|
        .tvl-logo {
 | 
						|
          width: 60%;
 | 
						|
          display: block;
 | 
						|
          margin-left: auto;
 | 
						|
          margin-right: auto;
 | 
						|
        }
 | 
						|
      </style>
 | 
						|
    '';
 | 
						|
  };
 | 
						|
in runCommandNoCC "website" {} ''
 | 
						|
  mkdir -p $out/blog
 | 
						|
  cp ${homepage} $out/index.html
 | 
						|
  ${postRenderingCommands tvl.blog.posts}
 | 
						|
  cp ${atomFeed} $out/feed.atom
 | 
						|
''
 |