tvl-depot/users/tazjin/presentations/tvix-eval-2023/default.nix
Vincent Ambo eb0b33db72 feat(tazjin/presentations): bootstrap tvix-eval-2023 presentation
I spent way too much time fighting LaTeX to do roughly what I want
here again, but all the alternatives are even worse.

Change-Id: Ibe12a4ce175ceb73e9d6e276613dcd4827dd76c4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9150
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: Mark Shevchenko <markshevchenko@gmail.com>
Tested-by: BuildkiteCI
2023-09-01 13:50:32 +00:00

54 lines
1.1 KiB
Nix

{ depot, pkgs, ... }:
let
inherit (pkgs) fontconfig texlive stdenv imagemagick;
tex = texlive.combine {
inherit (texlive)
babel
babel-russian
beamer
beamertheme-metropolis
etoolbox
euenc
extsizes
fontspec
listings
xetex
minted
ms
pgfopts
scheme-basic
translator;
};
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
# webp images can't be included directly, need to convert to PNG
convert ${depot.tvix.website}/tvix-logo.webp tvix-logo.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/
'';
}