this post was submitted on 08 Sep 2023
30 points (96.9% liked)

Nix / NixOS

2569 readers
1 users here now

Main links

Videos

founded 2 years ago
MODERATORS
 

I agree that dockerfile's are not very reproducible. But honestly, that's not how most people use it. I believe most people just pull the already built image which is very reproducible. Anyways, I found this video interesting and thought I'd share it and get your guys thoughts.

all 12 comments
sorted by: hot top controversial new old
[–] onlinepersona@programming.dev 5 points 2 years ago (2 children)

flake? The experimental feature that hasn't been stabilised for multiple years, isn't officially part of the main package repository (nixpkgs), requires external tutorials and documentation because it doesn't have an official tutorial and the most official documentation on it is in a man page about nix flakes, and has split the community in flakes vs no flakes, is better than a well documented (from the beginning mind you) file which is used throughout most of the industry?

Yeah.... no

[–] lambda@programming.dev 4 points 2 years ago (1 children)

Great points! I wasn't aware of any of that. Thanks for your input! :)

[–] tatterdemalion@programming.dev 2 points 2 years ago (1 children)

You act like non-flake nix has better documentation.

[–] onlinepersona@programming.dev 2 points 2 years ago

It is better, but better doesn't mean good.

[–] Mattol@discuss.tchncs.de 4 points 2 years ago

Agree. The issue with reproducibility comes up mostly once you are building your own containers, many of them, and run them in production but then it can hit very hard because it becomes too expensive then to work around all of the following: Once you are hit by a problem (sometimes years after building the original one), it's hard to debug bc you can't be certain to be able to reproduce what you have. It's even difficult to just find out what is in an existing Docker container, companies are running costly scans for that. And finally you can't compose (you can mostly layer) as well one Docker container with another. Using Nix with flakes gets rid of all of that and you can still have Docker or other containers as output.