diff --git a/presentation.md b/presentation.md index 8534fef..1f7d399 100644 --- a/presentation.md +++ b/presentation.md @@ -1,7 +1,7 @@ --- marp: true -title: Declarative Distrbutions -description: Declarative Distrbutions +title: Declarative Distributions +description: Declarative Distributions theme: uncover class: - invert @@ -127,6 +127,13 @@ While we will try to talk about generalities of declarative operating system par --- +### What is the store like? + +- Lots of files that look like {hash}-package-version +- Hash is derived from a build dependency graph + - A program can use any version of a library it needs + - A program build hash is unique, if any dependency changes the hash will as well. + ### Distro Profile - Guix `~/.guix-profile` @@ -137,7 +144,7 @@ While we will try to talk about generalities of declarative operating system par --- -- Store hold system and package files +- Store holds system and package files - Profile links to those files --- @@ -187,6 +194,14 @@ $ readlink /home/tylerm/.guix-home/profile/bin/gcc --- -## test +## What is a package? -Test content in a slide +- Since Nix and Scheme are functional, packages are immutable pure functions +- They define everything from: + - Inputs + - Dependencies + - Expected Outputs + - Build environment +- Builds are completely isolated from one another + - You cannot forget to define a dependency + - You can guarantee that package will build once you get it working