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
|
# Reproducible
|
||||||
|
|
||||||
- Systems have a given configuration
|
- 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 package manager (nix)
|
||||||
- Nix language
|
- Nix language
|
||||||
- Systemd
|
- 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
|
- Package manager takes in user and system configuration
|
||||||
- Downloads needed data into store
|
- Downloads needed data into store
|
||||||
|
- Prebuilt, signed binaries are called "substitutes"
|
||||||
- Build any needed packages
|
- Build any needed packages
|
||||||
- Symlinks the user and system profiles
|
- Symlinks the user and system profiles
|
||||||
|
|
||||||
|
@ -173,3 +184,9 @@ $ readlink /home/tylerm/.guix-home/profile/bin/gcc
|
||||||
- Uses contained environment
|
- Uses contained environment
|
||||||
- `guix shell <package>`
|
- `guix shell <package>`
|
||||||
- `nix shell -p <package>`
|
- `nix shell -p <package>`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## test
|
||||||
|
|
||||||
|
Test content in a slide
|
||||||
|
|
Loading…
Reference in a new issue