added more detail on the store

This commit is contained in:
Ryan Schanzenbacher 2023-09-29 09:58:28 -04:00
parent e87eb9419a
commit 46b6496f8c
Signed by: ryan77627
GPG key ID: 81B0E222A3E2308E

View file

@ -1,7 +1,7 @@
--- ---
marp: true marp: true
title: Declarative Distrbutions title: Declarative Distributions
description: Declarative Distrbutions description: Declarative Distributions
theme: uncover theme: uncover
class: class:
- invert - 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 ### Distro Profile
- Guix `~/.guix-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 - 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