about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@gmail.com>2018-03-12T00·08+0100
committerVincent Ambo <tazjin@gmail.com>2018-03-12T00·08+0100
commitda53459e60d57045ef68c4b4608417027d803bf2 (patch)
treeda2759ba7c6fbb9ae6739a9aba5a6aa4536229b2
parentfe9d8f03ab7cb93a78e424f85d76b5b7fd33222d (diff)
feat(build): Add Nix derivation for LaTeX build
-rw-r--r--default.nix47
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
+  '';
+}