imperative v. declarative
This commit is contained in:
parent
ec6680a380
commit
e87eb9419a
|
@ -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
|
||||
|
||||

|
||||
|
||||
|
@ -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 <package>`
|
||||
- `nix shell -p <package>`
|
||||
|
||||
---
|
||||
|
||||
## test
|
||||
|
||||
Test content in a slide
|
||||
|
|
Loading…
Reference in a new issue