I already left a comment on the post when this was first posted. You should read the comments, there’s a lot of them, and they’re good.
I saw quite a few “just use Nix” comments. Nix seems very interesting, if a little unapproachable.
Has any language decided to use Nix as part of its native build pipeline/recommended package manager?
Anyone using Nix to build Go1 code?
I came across this post earlier today about using Nix in place of virtualenv for setting up isolated Python environments.
It’s also worth noting that there’s a project called Guix which swaps out the nix expression language for Guile scheme.
There seems to be a fair amount of cross-pollination happening between Nix and Haskell’s Cabal, too, but a Haskeller would be able to speak to that better.
I use Nix to build my pet Go projects. Go packaging in Nix is under work currently. You can already use it if you are confident with Nix. Example here: https://github.com/CiotoFlow/goagainst/blob/master/default.nix
I’ve been considering using Nix in Dylan. One issue that we see is the lack of Windows support. There are a few other things that might be difficult as well, like establishing a good out-of-the-box experience for someone who doesn’t already have Nix installed.
We’re in the early stages of thinking about this though and haven’t done any prototyping yet.
Edit: I’d love to work with someone on this if anyone is interested in even talking about some of what is involved. I only know Nix from a high level. Chris Double packaged Dylan for Nix, so that part is already there.
Lack of Windows was a killer for us in Rust as well, as it’s a hard requirement.
I attempted this for Erlang, found it required to be way to hacky to pull it off and ditched it.