6 comments

[ 3.1 ms ] story [ 27.9 ms ] thread
I actually used nix in place of dockerfiles to build docker images, as it helped produce a perfectly minimal image for N architectures without much effort.
Could you elaborate?

How much effort had to go into the Nix expression to make the image smaller, compared to what you'd do with a Dockerfile?

I'm guessing you / your team is otherwise already familiar with Nix?

> Use a Dockerfile and the official Nix image to build your application using Nix using roughly one shell command.

I'd misread the title, & thought this would be about using nixpkgs' dockerTools.

https://nix.dev/tutorials/building-and-running-docker-images

I would assume that the resulting image is about the same, but you wouldn't need a bespoke Dockerfile. The downsides being that you'd need to know nix to maintain it (which you would anyway with this approach), and you'd need `nix` rather than `docker` to build the image.

> I'm serious, I haven't had a "works on my machine [but not on others]" issue in years. Not a single one.

Clearly you haven't touched OpenGL. Nix apps on non-nixos need a wrapper to use OpenGL and what's worse is that you need a different wrapper for each GPU vendor