about summary refs log tree commit diff
path: root/users/flokli/presentations/2023-09-09-nixcon-tvix/default.nix
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-10-13T13·53+0200
committerflokli <flokli@flokli.de>2023-10-16T11·49+0000
commitb8ef3e52637fc783ec03b209ce2f4f4a25152a27 (patch)
tree1bf5e37565ba6e54bc7b69a838e374b21cb3b34c /users/flokli/presentations/2023-09-09-nixcon-tvix/default.nix
parentc739df3d78a81ea7943051a95702801eb3d219e9 (diff)
feat(users/flokli): add NixCon 2023 presentation r/6829
This adds the materials for the talk held at NixCon 2023, Darmstadt.

It seems it's not really possible to export a PDF out of this,
at least I couldn't get reveal-md to do it properly.

The video recordings live on
https://media.ccc.de/v/nixcon-2023-35254-tvix and
https://www.youtube.com/watch?v=j67prAPYScY .

Change-Id: Id27dc8c8637ffd455981141383c54d8d1484679e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9750
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/flokli/presentations/2023-09-09-nixcon-tvix/default.nix')
-rw-r--r--users/flokli/presentations/2023-09-09-nixcon-tvix/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/users/flokli/presentations/2023-09-09-nixcon-tvix/default.nix b/users/flokli/presentations/2023-09-09-nixcon-tvix/default.nix
new file mode 100644
index 000000000000..1ec0a0bd0ed7
--- /dev/null
+++ b/users/flokli/presentations/2023-09-09-nixcon-tvix/default.nix
@@ -0,0 +1,37 @@
+{ depot, pkgs, ... }:
+
+let
+  inherit (pkgs)
+    fontconfig qrencode runCommand stdenv;
+  mkQr = url: runCommand "qrcode.png" { } ''
+    ${qrencode}/bin/qrencode -o $out -t SVG -s 5 \
+      --background=fafafa \
+      --foreground=000000 \
+      ${url}
+  '';
+in
+stdenv.mkDerivation {
+  name = "2023-nixcon-tvix";
+  src = ./.;
+
+  FONTCONFIG_FILE = pkgs.makeFontsConf {
+    fontDirectories = with pkgs; [ jetbrains-mono fira fira-code fira-mono lato ];
+  };
+
+  PUPPETEER_EXECUTABLE_PATH = "${pkgs.chromium}/bin/chromium";
+  PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = "1";
+
+  nativeBuildInputs = [ pkgs.reveal-md pkgs.graphviz ];
+
+  buildPhase = ''
+    cp ${depot.tvix.logo}/logo.png tvix-logo.png
+    dot -Tsvg crate-deps.dot > crate-deps.svg
+    cp ${mkQr "https://flokli.de"} qrcode-flokli.svg
+    cp ${mkQr "https://tvix.dev"} qrcode-tvix.svg
+
+    mkdir -p $out
+    reveal-md --static $out presentation.md
+    reveal-md --print $out/slides.pdf presentation.md
+    cp tvixbolt.webm $out
+  '';
+}