Navigating the jungle of reproducible environments can be pretty tough, as there is a myriad of problems to consider: does this language-specific package manager build packages reproducibly? How does it integrate its external dependencies? Is the compiler bootstrapped? Will all the metadata it's using disappear in X years? Will my distributed artifacts work without external assumptions? Do I have tools and guarantees to examine all of this?
With these interrogations in mind, I will give an overview of Guix, the swiss army knife of environments, and describe how it can help you achieve reproducibility. I will also be comparing it with some other practices I've seen and try to dismiss some misconceptions about them, highlighting Guix's strengths.
Videos brought to you by the video team at Institut Agro and published under CC-BY-NC 3.0. Guix artwork by Luis Felipe published under CC-BY-SA 4.0.