|
|
|
|
|
by reuben364
1016 days ago
|
|
One distinction in Nix vs Docker is that Nix has a dag structure as opposed to a singlely linked list structure of layers. The "writeText" function produces a derivation (basically an atomic build recipe) that produces that file. The crux of nix is that you make deterministic derivations, and then you can always refer to the results of a derivation from the hash of the derivation and its inputs. What nix adds is glue logic to chain these derivations together in a way that preserves reproducibility of the individual imperative, but deterministic, components. Unless you are using something like recursive-nix, you can completely evaluate the nix expression without building any of the derivations. |
|