diff --git a/presentation.md b/presentation.md index 1f7d399..dddc35e 100644 --- a/presentation.md +++ b/presentation.md @@ -47,7 +47,7 @@ While we will try to talk about generalities of declarative operating system par # Reproducible - Systems have a given configuration -- Configuration can duplicate systems +- Configuration can produce identical systems - If you pin versions, you can make your system completely reproducible - Everything is isolated @@ -66,6 +66,7 @@ While we will try to talk about generalities of declarative operating system par - Anything not being used by a profile is eligible for garbage-collection - All state is containted - Preserves state-less root + - Can be further extended to your home directory --- @@ -75,6 +76,7 @@ While we will try to talk about generalities of declarative operating system par - Always have some working system state - Since any transaction is atomic, it either works or doesn't - Your system will never be left in a half updated state that is difficult to recover + - When updating, the actual "commit" is changing a symlink around --- @@ -123,18 +125,33 @@ While we will try to talk about generalities of declarative operating system par - Guix `/gnu/store` - Nix `/nix/store` - Stores all package and system files -- Partially based off of configuration +- Contents are based off of configuration --- ### What is the store like? - Lots of files that look like {hash}-package-version + +--- + +### Example + +``` +/gnu/store/spxcaq8gnmckhzz9a1wm3qc9dmz5bvsd-gcc-toolchain-12.3.0 +``` + +--- + +### What is the store like? + - 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 +--- + +### Profile - Guix `~/.guix-profile` - Nix `~/.nix-profile`