{ depot, lib, pkgs, ... }:
with depot.nix.yants;
let
  inherit (pkgs) graphviz runCommandNoCC writeText;
  inherit (depot.web) atom-feed blog tvl;
  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
  '';
  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) tvl.blog.posts;
  };
  atomFeed = writeText "feed.atom" (atom-feed.renderFeed feed);
  homepage = tvl.template {
    title = "The Virus Lounge";
    content = ''
      The Virus Lounge
      ================
      ----------------
      
      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!).
      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
      [tvl-webchat]: https://webirc.hackint.org/#ircs://irc.hackint.org/#tvl