about summary refs log tree commit diff
path: root/web/tvl/default.nix
blob: e79c47b53162d41b45f70a973c2c3ab1a0866e99 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{ 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 = ''
      <main>
        <img alt="The Virus Lounge" src="/static/virus_lounge.webp">
      </main>

      <p>
        Welcome to <b>The Virus Lounge</b>. We're a random group of
        people who feel undersocialised in these trying times, and
        we've decided that there isn't enough spontaneous socialising
        on the internet.
      </p>

      <hr>
      <h2>Where did all these people come from?</h2>

      <p>
        It's pretty straightforward. Feel free to click on people, too.
      </p>
      ${builtins.readFile tvlGraph}
    '';
    extraHead = ''
      <style>
        svg {
          max-width: inherit;
          height: auto;
        }
      </style>
    '';
  };
in runCommandNoCC "website" {} ''
  mkdir -p $out/static
  cp ${homepage} $out/index.html
  cp -r ${./static}/* $out/static

  # Some assets are stolen from tazjin's blog
  cp ${depot.users.tazjin.homepage}/static/jetbrains-* $out/static
  cp ${depot.users.tazjin.homepage}/static/tazjin.css $out/static
''