diff --git a/.gitignore b/.gitignore
index dcccf49ae03c7dbb2157ec3dadeae1d3b19459a3..fde857ac5dbbb1ddd1afab035baedcefc9c36693 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
+result
+.ninja_*
 fig/*.pdf
+pipe-usage-example.pdf
diff --git a/build.ninja b/build.ninja
index 5f22979f3b05625ecff2ab643fae16f7ad8bd633..1ed28b41c9cfecaf6db6d0eef878f74fe4428825 100644
--- a/build.ninja
+++ b/build.ninja
@@ -1,10 +1,10 @@
 rule svg_to_pdf
     command = inkscape -o $out $in
 
-rule tex_to_pdf
-    command = pdflatex -interaction=nonstopmode $in
+rule concatenate_pdf
+    command = pdftk $in cat output $out
 
-build slides.pdf slides.aux slides.log slides.nav slides.out slides.snm slides.toc: tex_to_pdf slides.tex | fig/00-parent-begin.pdf fig/01-parent-pipe.pdf fig/02-parent-fork.pdf fig/03-parent-fork-focus-pipe.pdf fig/04-parent-switch.pdf fig/05-parent-close.pdf fig/06-parent-close-done.pdf fig/07-parent-read-blocked.pdf fig/08-child-switch.pdf fig/09-child-close.pdf fig/10-child-close-done.pdf fig/11-child-dup2.pdf fig/12-child-dup2-done.pdf fig/13-child-dup2-done2.pdf fig/14-child-exec.pdf fig/15-child-exec-done.pdf fig/16-parent-read-loop.pdf fig/17-child-exit.pdf fig/18-child-exit-done.pdf fig/18b-child-exit-done-deadlock-note.pdf fig/19-parent-close.pdf fig/20-parent-close-done.pdf
+build pipe-usage-example.pdf: concatenate_pdf fig/00-parent-begin.pdf fig/01-parent-pipe.pdf fig/02-parent-fork.pdf fig/03-parent-fork-focus-pipe.pdf fig/04-parent-switch.pdf fig/05-parent-close.pdf fig/06-parent-close-done.pdf fig/07-parent-read-blocked.pdf fig/08-child-switch.pdf fig/09-child-close.pdf fig/10-child-close-done.pdf fig/11-child-dup2.pdf fig/12-child-dup2-done.pdf fig/13-child-dup2-done2.pdf fig/14-child-exec.pdf fig/15-child-exec-done.pdf fig/16-parent-read-loop.pdf fig/17-child-exit.pdf fig/18-child-exit-done.pdf fig/18b-child-exit-done-deadlock-note.pdf fig/19-parent-close.pdf fig/20-parent-close-done.pdf
 
 build fig/00-parent-begin.pdf: svg_to_pdf fig/00-parent-begin.svg
 build fig/01-parent-pipe.pdf: svg_to_pdf fig/01-parent-pipe.svg
diff --git a/pipe-example.c b/code/pipe-example.c
similarity index 100%
rename from pipe-example.c
rename to code/pipe-example.c
diff --git a/default.nix b/default.nix
index c02ce0e212eb0b999f5be8fff47226048097ad78..59a4fac63a411fe62098bc5c709f9f0104344ec6 100644
--- a/default.nix
+++ b/default.nix
@@ -6,24 +6,12 @@
 
 let
   self = rec {
-    slides = pkgs.stdenv.mkDerivation rec {
-      name = "report";
-      nativeBuildInputs = with pkgs; [
-        texlive.combined.scheme-full
+    shell = pkgs.mkShell {
+      buildInputs = with pkgs; [
         ninja
         inkscape
+        pdftk
       ];
-
-      src = pkgs.lib.sourceByRegex ./. [
-        ".*\.tex"
-        "build\.ninja"
-        "fig"
-        "fig/.*\.svg"
-      ];
-      installPhase = ''
-        mkdir -p $out
-        mv slides.pdf $out/
-      '';
     };
   };
 in
diff --git a/slides.tex b/slides.tex
deleted file mode 100644
index f24c500d9b38330766d2abae63d5c684cc1b019e..0000000000000000000000000000000000000000
--- a/slides.tex
+++ /dev/null
@@ -1,41 +0,0 @@
-\documentclass[12pt, aspectratio=43]{beamer}
-\setbeamertemplate{navigation symbols}{}
-\mode<presentation>
-
-\title{Exemple de pipe (fd, pipe, fork, dup2, exec)}
-\author{Millian Poquet}
-
-\newcommand{\imageframe}[1]{
-  \begin{frame}[plain]{}%
-    \begin{center}%
-        \makebox[\textwidth]{\includegraphics[width=\paperwidth]{#1}}%
-    \end{center}%
-  \end{frame}
-}
-
-\begin{document}
-
-\imageframe{fig/00-parent-begin.pdf}
-\imageframe{fig/01-parent-pipe.pdf}
-\imageframe{fig/02-parent-fork.pdf}
-\imageframe{fig/03-parent-fork-focus-pipe.pdf}
-\imageframe{fig/04-parent-switch.pdf}
-\imageframe{fig/05-parent-close.pdf}
-\imageframe{fig/06-parent-close-done.pdf}
-\imageframe{fig/07-parent-read-blocked.pdf}
-\imageframe{fig/08-child-switch.pdf}
-\imageframe{fig/09-child-close.pdf}
-\imageframe{fig/10-child-close-done.pdf}
-\imageframe{fig/11-child-dup2.pdf}
-\imageframe{fig/12-child-dup2-done.pdf}
-\imageframe{fig/13-child-dup2-done2.pdf}
-\imageframe{fig/14-child-exec.pdf}
-\imageframe{fig/15-child-exec-done.pdf}
-\imageframe{fig/16-parent-read-loop.pdf}
-\imageframe{fig/17-child-exit.pdf}
-\imageframe{fig/18-child-exit-done.pdf}
-\imageframe{fig/18b-child-exit-done-deadlock-note.pdf}
-\imageframe{fig/19-parent-close.pdf}
-\imageframe{fig/20-parent-close-done.pdf}
-
-\end{document}