{ depot, pkgs, ... }: let inherit (pkgs) graphviz runCommandNoCC writeText; tvlGraph = runCommandNoCC "tvl.svg" { nativeBuildInputs = with pkgs; [ fontconfig freetype cairo jetbrains-mono ]; } '' ${graphviz}/bin/neato -Tsvg ${./tvl.dot} > $out ''; homepage = depot.web.tvl.template { title = "The Virus Lounge"; content = '' The Virus Lounge ================ ---------------- <img class="tvl-logo" src="/static/tvl-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!). 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 <hr> ## 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/static cp ${homepage} $out/index.html cp ${depot.web.static}/* $out/static cp ${depot.web.tvl.logo.pastelRainbow} $out/static/tvl-animated.svg ''