diff --git a/Makefile b/Makefile
index 782e6bd7814e568b2534a043ef077ba5935a23b0..2ad469d988b12255e449094ad6f4a06c1c6450d8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
 all: slides.pdf
 
 slides.pdf: slides.tex
-	rubber --pdf slides
+	pdflatex slides.tex
+	pdflatex slides.tex
 
 clean:
-	rubber --pdf --clean slides
 	rm -f slides.vrb
diff --git a/default.nix b/default.nix
index 0a94414113c9bbc04e779bfced7c79e9cbac7f69..5c23070b47a7d0a6011195bc3990cc2b9049e43f 100644
--- a/default.nix
+++ b/default.nix
@@ -1,12 +1,22 @@
-{ pkgs ? import <nixpkgs> {} }:
+{ pkgs ? import
+  ( fetchTarball "https://github.com/NixOS/nixpkgs/archive/19.03.tar.gz") {}
+}:
+
 with pkgs;
 let
-  texlive = pkgs.texlive.combined.scheme-minimal;
+  texlive = pkgs.texlive.combined.scheme-full;
 in
   stdenv.mkDerivation rec {
     name = "slides";
-    src = ./.;
-    buildInputs = [ texlive pkgs.dia rubber ninja ];
+    src = pkgs.lib.sourceByRegex ./. [
+      "^slides.tex"
+      "^Makefile"
+      "^figures"
+      "^figures/.*\.jpg"
+      "^figures/.*\.pdf"
+      "^figures/.*\.png"
+    ];
+    buildInputs = [ texlive gnumake ];
     buildPhase = "make";
 
     installPhase = ''