From e87eb9419adda6bcdab6448db508ab88cdf10fe4 Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Fri, 29 Sep 2023 09:46:45 -0400 Subject: [PATCH] imperative v. declarative --- presentation.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/presentation.md b/presentation.md index 2d53372..8534fef 100644 --- a/presentation.md +++ b/presentation.md @@ -35,6 +35,15 @@ While we will try to talk about generalities of declarative operating system par --- +# Declarative v. Imperative + +- Most distros are imperative + - You give them commands to get a result +- Nix and Guix are declarative + - You define a wanted end state and Guix/Nix gets you there its way + +--- + # Reproducible - Systems have a given configuration @@ -76,6 +85,7 @@ While we will try to talk about generalities of declarative operating system par - Nix package manager (nix) - Nix language - Systemd +- Wrote like an entire research paper on the theory behind Nix ![bg left 40%](nix.png) @@ -162,6 +172,7 @@ $ readlink /home/tylerm/.guix-home/profile/bin/gcc - Package manager takes in user and system configuration - Downloads needed data into store + - Prebuilt, signed binaries are called "substitutes" - Build any needed packages - Symlinks the user and system profiles @@ -173,3 +184,9 @@ $ readlink /home/tylerm/.guix-home/profile/bin/gcc - Uses contained environment - `guix shell ` - `nix shell -p ` + +--- + +## test + +Test content in a slide