This is the first step on a path to better support for Elixir and Erlang via Nix.
So far it’s been nearly impossible to build arbitrary projects with Nix, given that the versions of BEAM packages in nixpkgs are outdated and incomplete.
The current approach is also not sustainable, given the amount of changes happening on hex.pm.
The approach I’ve taking is similar to what moretea did with yarn2nix: given a lock file we want to create a derivation on the fly, and if IFD is an issue, create a nix-readable lockfile to speed up builds.
Also important was for me a bundix-like approach to per-package configuration and a preset of common hacks needed to get certain packages to build.
You can find the result at https://gitlab.com/manveru/mixnix and give it a go.
I’d be especially thankful for suggestions of projects that are worth packaging for nixpkgs that have been ignored so far because it was too hard.
I’d also like to give a special thanks to all the people who’ve worked on the BEAM packaging support in nixpkgs. This wouldn’t have been possible without all their hard work that this is based on.