diff options
Diffstat (limited to 'users/tazjin/presentations/tvix-eval-2023/default.nix')
-rw-r--r-- | users/tazjin/presentations/tvix-eval-2023/default.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/users/tazjin/presentations/tvix-eval-2023/default.nix b/users/tazjin/presentations/tvix-eval-2023/default.nix new file mode 100644 index 000000000000..a4d855197c5e --- /dev/null +++ b/users/tazjin/presentations/tvix-eval-2023/default.nix @@ -0,0 +1,63 @@ +{ depot, pkgs, ... }: + +let + inherit (pkgs) fontconfig texlive stdenv imagemagick runCommand qrencode; + + tex = texlive.combine { + inherit (texlive) + babel + babel-russian + beamer + beamertheme-metropolis + etoolbox + euenc + extsizes + fontspec + listings + xetex + minted + ms + pgfopts + scheme-basic + translator; + }; + + linksQrCode = runCommand "qrcode.png" { } '' + ${qrencode}/bin/qrencode -o code.png -s 8 \ + --background=fafafa \ + --foreground=000000 \ + 'https://tazj.in/blog/tvix-eval-talk-2023' + + # latex has trouble with the PDF produced by qrencode + ${imagemagick}/bin/convert code.png $out + ''; +in +stdenv.mkDerivation { + name = "progmsk-tvix-eval"; + src = ./.; + + nativeBuildInputs = [ tex imagemagick fontconfig ]; + + FONTCONFIG_FILE = pkgs.makeFontsConf { + fontDirectories = with pkgs; [ jetbrains-mono fira fira-code fira-mono ]; + }; + + buildPhase = '' + # LaTeX needs a cache folder in /home/ ... + mkdir home + export HOME=$PWD/home + + cp ${depot.tvix.logo}/logo.png tvix-logo.png + cp ${linksQrCode} qrcode.png + + # As usual, TeX needs to be run twice ... + ${tex}/bin/xelatex presentation.tex + ${tex}/bin/xelatex presentation.tex + ''; + + installPhase = '' + mkdir -p $out + cp presentation.pdf $out/ + cp $src/presentation.pdfpc $out/ + ''; +} |