diff options
author | Vincent Ambo <tazjin@gmail.com> | 2018-03-12T00·08+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@gmail.com> | 2018-03-12T00·08+0100 |
commit | da53459e60d57045ef68c4b4608417027d803bf2 (patch) | |
tree | da2759ba7c6fbb9ae6739a9aba5a6aa4536229b2 /default.nix | |
parent | fe9d8f03ab7cb93a78e424f85d76b5b7fd33222d (diff) |
feat(build): Add Nix derivation for LaTeX build
Diffstat (limited to 'default.nix')
-rw-r--r-- | default.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/default.nix b/default.nix new file mode 100644 index 000000000000..c4ac8a472a78 --- /dev/null +++ b/default.nix @@ -0,0 +1,47 @@ +# This derivation builds the LaTeX presentation. + +{ pkgs ? import <nixpkgs> {} }: + +with pkgs; let tex = texlive.combine { + inherit (texlive) + beamer + beamertheme-metropolis + etoolbox + euenc + extsizes + fontspec + lualibs + luaotfload + luatex + luatex-def + minted + ms + pgfopts + scheme-basic; +}; +in stdenv.mkDerivation { + name = "nuug-reproducible-slides.pdf"; + src = ./.; + + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ fira fira-code fira-mono ]; + }; + + buildInputs = [ tex fira fira-code fira-mono ]; + buildPhase = '' + # LaTeX needs a cache folder in /home/ ... + mkdir home + export HOME=$PWD/home + # ${tex}/bin/luaotfload-tool -ufv + + # As usual, TeX needs to be run twice ... + function run() { + ${tex}/bin/lualatex presentation.tex + } + run && run + ''; + + installPhase = '' + cp presentation.pdf $out + ''; +} |