more misc changes

This commit is contained in:
Ryan Schanzenbacher 2023-09-29 10:09:11 -04:00
parent 46b6496f8c
commit 8c22928054
Signed by: ryan77627
GPG key ID: 81B0E222A3E2308E

View file

@ -47,7 +47,7 @@ While we will try to talk about generalities of declarative operating system par
# Reproducible # Reproducible
- Systems have a given configuration - 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 - If you pin versions, you can make your system completely reproducible
- Everything is isolated - 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 - Anything not being used by a profile is eligible for garbage-collection
- All state is containted - All state is containted
- Preserves state-less root - 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 - Always have some working system state
- Since any transaction is atomic, it either works or doesn't - 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 - 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` - Guix `/gnu/store`
- Nix `/nix/store` - Nix `/nix/store`
- Stores all package and system files - Stores all package and system files
- Partially based off of configuration - Contents are based off of configuration
--- ---
### What is the store like? ### What is the store like?
- Lots of files that look like {hash}-package-version - 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 - Hash is derived from a build dependency graph
- A program can use any version of a library it needs - 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. - A program build hash is unique, if any dependency changes the hash will as well.
### Distro Profile ---
### Profile
- Guix `~/.guix-profile` - Guix `~/.guix-profile`
- Nix `~/.nix-profile` - Nix `~/.nix-profile`