diff options
Diffstat (limited to 'web/tvl')
-rw-r--r-- | web/tvl/default.nix | 76 | ||||
-rw-r--r-- | web/tvl/static/favicon.webp | bin | 0 -> 14710 bytes | |||
-rw-r--r-- | web/tvl/static/virus_lounge.webp | bin | 0 -> 77556 bytes | |||
-rw-r--r-- | web/tvl/tvl.dot | 186 |
4 files changed, 262 insertions, 0 deletions
diff --git a/web/tvl/default.nix b/web/tvl/default.nix new file mode 100644 index 000000000000..2321f2e00a0d --- /dev/null +++ b/web/tvl/default.nix @@ -0,0 +1,76 @@ +{ 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 = writeText "index.html" '' + <!DOCTYPE html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="description" content="The Virus Lounge"> + <link rel="stylesheet" type="text/css" href="/static/tazjin.css" media="all"> + <link rel="icon" type="image/webp" href="/static/favicon.webp"> + <title>The Virus Lounge</title> + <style> + svg { + max-width: inherit; + height: auto; + } + </style> + </head> + <body class="light"> + <header> + <h1><a class="blog-title" href="/">The Virus Lounge</a> </h1> + <hr> + </header> + + <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} + + <hr> + <footer> + <p class="footer"> + <a class="uncoloured-link" href="https://cs.tvl.fyi/depot/-/blob/README.md">code</a> + | + <a class="uncoloured-link" href="https://cl.tvl.fyi/">reviews</a> + | + <a class="uncoloured-link" href="https://b.tvl.fyi/">bugs</a> + | + <a class="uncoloured-link" href="https://todo.tvl.fyi/">todos</a> + </p> + <p class="lod">ಠ_ಠ</p> + </footer> + </body> + ''; +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 +'' diff --git a/web/tvl/static/favicon.webp b/web/tvl/static/favicon.webp new file mode 100644 index 000000000000..42fdc7b44cfb --- /dev/null +++ b/web/tvl/static/favicon.webp Binary files differdiff --git a/web/tvl/static/virus_lounge.webp b/web/tvl/static/virus_lounge.webp new file mode 100644 index 000000000000..1f898b6ad8a7 --- /dev/null +++ b/web/tvl/static/virus_lounge.webp Binary files differdiff --git a/web/tvl/tvl.dot b/web/tvl/tvl.dot new file mode 100644 index 000000000000..17f072ee9ccc --- /dev/null +++ b/web/tvl/tvl.dot @@ -0,0 +1,186 @@ +digraph tvl { + node [fontname = "JetBrains Mono"]; + overlap = false; + splines = polyline; + + TVL [style="bold" href="http://tvl.fyi"]; + tazjin -> TVL [style="bold"]; + + // people + subgraph { + adisbladis [href="http://nixos.expert/"]; + andi [label="andi-" href="https://andreas.rammhold.de/"]; + anon1 [color="grey" fontcolor="grey"]; + aranea; + aurora [href="https://nonegenderleftfox.aventine.se/"]; + benjojo [href="https://benjojo.co.uk/"]; + camsbury [href="https://camsbury.com/"]; + cynthia [href="https://cynthia.re/"]; + edef [href="https://edef.eu/files/edef.hs"]; + ericvolp [href="https://ericv.me"]; + espes; + eta [href="https://theta.eu.org/"]; + firefly [href="http://firefly.nu/"]; + flokli [href="https://flokli.de/"]; + ghuntley [href="https://ghuntley.com/"]; + grfn [href="http://gws.fyi"]; + htbf [href="https://htbf.dev/"]; + hyperfekt [href="https://hyperfekt.net"]; + implr [href="https://twitter.com/implring"]; + Irenes [href="https://www.pluralpride.com/"]; + isomer [href="https://www.lorier.net/"]; + jooiiee [href="https://jooiiee.se/"]; + jusrin [href="https://jusrin.dev/"]; + kanepyork [href="https://social.wxcafe.net/@riking"]; + leah2 [href="https://leahneukirchen.org/"]; + lukegb [href="https://lukegb.com/"]; + marcusr [href="http://marcus.nordaaker.com/"]; + maskerad [href="https://femalelegends.com/"]; + ncl; + nikky [href="http://nikky.moe/"]; + nyanotech [href="https://twitter.com/nyanotech"]; + poigon; + profpatsch [href="http://profpatsch.de/"]; + puck [href="https://puckipedia.com/"]; + qyliss [href="https://alyssa.is"]; + rcombs [href="http://rcombs.me/"]; + seven [href="https://open.spotify.com/user/so7"]; + spacekookie [href="https://spacekookie.de/"]; + tazjin [href="https://tazj.in/"]; + wpcarro [href="https://wpcarro.dev/"]; + } + + // companies (blue) + subgraph { + node [color="#4285f4" fontcolor="#4285f4"]; + spotify [href="https://www.spotify.com/"]; + google [href="https://www.google.com/"]; + urbint [href="https://www.urbint.com/"]; + } + + // communities? (red) + subgraph { + node [color="#db4437" fontcolor="#db4437"]; + eve [href="https://www.eveonline.com/"]; + nix [href="https://nixos.org/nix/"]; + ircv3 [href="https://ircv3.net/"]; + lgbtslack [label="lgbt.tech" href="https://lgbtq.technology/"]; + muccc [label="µccc" href="https://muc.ccc.de/"]; + afra [label="AfRA" href="https://afra-berlin.de/"]; + } + + // special + subgraph { + baby [color="pink" fontcolor="pink" href="https://cynthia.re/s/baby"]; + unspecific [color="grey" fontcolor="grey"]; + } + + // primary edges (how did they end up in TVL?) + subgraph { + // Direct edges + nix -> tazjin; + spotify -> tazjin; + google -> tazjin; + eve -> tazjin; + unspecific -> tazjin; + edef -> tazjin; + + // via nix + adisbladis -> nix; + jusrin -> nix; + ghuntley -> nix; + flokli -> nix; + andi -> nix; + profpatsch -> nix; + + // via edef + benjojo -> edef; + espes -> edef; + firefly -> edef; + leah2 -> aurora; + ncl -> edef; + puck -> edef; + qyliss -> edef; + rcombs -> edef; + + // via spotify + seven -> spotify; + + // via google + htbf -> google; + Irenes -> google; + isomer -> google; + lukegb -> google; + wpcarro -> google; + + // via urbint + grfn -> urbint; + + // random primary + urbint -> wpcarro; + camsbury -> wpcarro; + anon1 -> google; + aurora -> eve; + cynthia -> benjojo; + eta -> anon1; + ericvolp -> lukegb; + jooiiee -> unspecific; + kanepyork -> lukegb; + marcusr -> unspecific; + maskerad -> unspecific; + nyanotech -> kanepyork; + poigon -> eve; + implr -> lukegb; + hyperfekt -> espes; + afra -> unspecific; + nikky -> afra; + spacekookie -> qyliss; + } + + // secondary edges (how are they connected otherwise?) + subgraph { + edge [weight=0 style="dotted" color="grey" arrowhead="none"]; + + // lgbt slack + aurora -> lgbtslack; + leah2 -> lgbtslack; + edef -> lgbtslack; + + // ircv3 + eta -> ircv3; + firefly -> ircv3; + + // µccc + leah2 -> muccc; + + // random + leah2 -> edef; + lukegb -> isomer; + eta -> firefly; + cynthia -> firefly; + cynthia -> lukegb; + implr -> google; + kanepyork -> google; + nyanotech -> google; + lukegb -> benjojo; + espes -> benjojo; + espes -> aurora; + puck -> nix; + qyliss -> nix; + grfn -> nix; + edef -> nix; + aranea -> nix; + aranea -> profpatsch; + hyperfekt -> edef; + camsbury -> urbint; + spacekookie -> afra; + qyliss -> afra; + } + + // baby + subgraph { + edge [weight=0 style="dotted" color="pink" arrowhead="none"]; + cynthia -> baby; + eta -> baby; + } +} |