diff options
Diffstat (limited to '3 Resources/Nix/How Nix works.md')
-rw-r--r-- | 3 Resources/Nix/How Nix works.md | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/3 Resources/Nix/How Nix works.md b/3 Resources/Nix/How Nix works.md new file mode 100644 index 0000000..07b8623 --- /dev/null +++ b/3 Resources/Nix/How Nix works.md @@ -0,0 +1,22 @@ +--- +tags: + - nix +references: + - https://github.com/NixOS/nixpkgs +--- +The hash in the store path is a hash of the package's dependency graph. Thus it changes if even one dependency changes. This enables many versions of the same package be present in the store, which might be dependencies to other packages.. + +Atomicity -> Packages are never overwritten, only new paths are ever added. + V + Enables rollbacking + +Source deployment model -> Build program + dependencies from source upon installation. +Binary cache -> a web server that provided pre-built binaries. + +Nixpkgs[1] is a set of Nix expressions for building existing UNIX packages. + +NixOS extends Nix by also building configuration, thus enabling the same features for config. + +"NixOS has a _transactional_ approach to configuration management: configuration changes such as upgrades are _atomic_. This means that if the upgrade to a new configuration is interrupted — say, the power fails half-way through — the system will still be in a consistent state: it will either boot in the old or the new configuration. In most other systems, you’ll end up in an inconsistent state, and your machine may not even boot anymore." + +Presumably this means that in some way they make it so the system config is only changed by updating a single point.
\ No newline at end of file |