From 9642cd7ae24f0ba79ce5647c709b35ae8f06a285 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Sun, 19 Jan 2025 21:14:51 +0100 Subject: vault backup: 2025-01-19 21:14:51 --- 3 Resources/Nix/How Nix works.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 3 Resources/Nix/How Nix works.md (limited to '3 Resources/Nix/How Nix works.md') 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 -- cgit v1.2.3