From 332eb673d4c431c2ccd4c9c57b9f545b12c714e3 Mon Sep 17 00:00:00 2001
From: Faure Adrien <adrien.faure2@gmail.com>
Date: Wed, 26 Jun 2019 19:33:41 +0200
Subject: [PATCH] fix Nix description

---
 slides.tex | 39 +++++++++++++--------------------------
 1 file changed, 13 insertions(+), 26 deletions(-)

diff --git a/slides.tex b/slides.tex
index 16ab5f2..8706717 100644
--- a/slides.tex
+++ b/slides.tex
@@ -144,7 +144,7 @@ The Problem:
 
 \begin{frame}{What is Nix ?}
   \only<1>{%
-    Nix is a Package Manager: \\
+    Nix is a Package Manager\\
     % Why for experimentations ?
     \vspace{1em}
     \begin{itemize}
@@ -153,22 +153,19 @@ The Problem:
     \item Multiple versions
     \item Decentralized package repositories
       \note{Packages can come from different places, thus you can have yours.\\}
-    \item Explicit build process
+    \item Clear dependencies
+    \item{build on my laptop, run on g5k}
       \note{Every deps need to be stated\\
       The building process is explicit in Nix\\
       Build Once, build twice (six month later)\\
       Possibility to describing full software environment\\
       From building environment, to runtime and data analysis\\}
-    \item Portable packages
-      \note{build on my laptop, run on g5k}
     \end{itemize}
   }
   % \center\Large\sc The Nix Ecosystem. {\url{https://nixos.org}}
 \end{frame}
 
 
-\subsection{Expression Language}
-
 % \begin{frame}{Nix - Programming Language}
 %
 %   What?
@@ -194,7 +191,7 @@ The Problem:
 % \end{frame}
 
 
-\section{Nix Concepts}
+\subsection{Nix Concepts}
 
 \begin{frame}{Main Concepts}
 
@@ -206,40 +203,30 @@ The Problem:
   \vspace{1em}
   \begin{itemize}
     \item Functions build packages
-    \item Functions inputs are package dependencies
+    \item Inputs = dependencies, source code
+    \item No side effects
+    \begin{itemize}
+      \item Undeclared dependencies $\rightarrow$ fail
+      % \item Undeclared dependencies $\rightarrow$ fail
+    \end{itemize}
+    \item Packages are written in Nix
   \end{itemize}
 
 \end{frame}
 
-\begin{frame}[fragile]{Derivations}
-  \note{https://nixos.org/nixos/nix-pills/our-first-derivation.html\\}
-      % Nix refers to \textbf{derivation} instead of package. \\
-   % A package is a defined by a \textbf{derivation}. \\
-
-   % It can be build with the command \textit{nix-build}.
-  \begin{tcolorbox}[colframe=black,colback=gray!10,coltext=black]
-    A derivation is a Nix build action.
-  \end{tcolorbox}
-
-  \vspace{1em}
-  A derivation is defined in Nix, as a set of attributes:
+\subsection{Packages}
+\begin{frame}[fragile]{Package Definition Example}
   % It is a Nix attribute set describing how to build a package.
-  \note{A python dict, or java hashtable\\}
-
-  \pause
-
   \vspace{-1em}
 
 
   \begin{lstlisting}[language=Nix,basicstyle=\small]
 stdenv.mkDerivation {
   name = "chord";
-
   src = fetchurl {
     url = "https://gitlab.com/me/chord.tar.gz";
     sha256 = "1h2jgq5pspyiskffq777nhi5rf0y8h...";
   };
-
   buildInputs = [ simgrid boost cmake ];
 }
 \end{lstlisting}
-- 
GitLab