Deploying a Haskell Web Service with Nix
NixOS (or Guix) seems like an ideal platform for building service-based architectures. I don&#x27;t understand why it&#x27;s not more popular. CoreOS seems to be extremely popular in that space, despite working against a somewhat crappy package manager (portage from Gentoo) and with all of the declarative stuff slapped on top in a quite heavy-handed way. With CoreOS, you roll entirely new images whenever you have a change to deploy. So, the goals are the same, but the mechanisms are so very different as to make them look like they&#x27;re solving different problems. I&#x27;m pretty sure I prefer the way NixOS is going about it.<p>That said, I&#x27;ve not used either in production. But, Nix was the first time I&#x27;ve looked at a new package manager and thought, &quot;OK, someone finally improved on RPM&#x2F;yum or deb&#x2F;apt.&quot; Most of the time, I look at new package managers and just find myself running down a list of all of the ways they&#x27;ve failed to even replicate the power&#x2F;flexibility&#x2F;reliability of those now-ancient package managers, and usually without any really good reason. It&#x27;s a cool side effect of a superior package manager that so much other stuff comes easily or automatically.<p>Anyway, this is a really cool idea, and something I want to look into more. You get so much of the &quot;declarative and predictable&quot; elements you want in a service-based architecture for free with Nix, while so many other solutions are bolted on clumsily.