[erlang-questions] [Nix-dev] Erlang Package Manager

Tristan Sloughter <>
Wed Dec 31 15:58:24 CET 2014


I tried to setup Nix for erlang development months or so ago and walked
away frustrated. Your build-erlang.nix is an example of what I found
unsatisfactory.

Besides the simple fact of needing so much shell scripting (and it would
need more if it was to support more than rebar, or even rebar3) there
was also the need to manually (in the script) perform the linking.

I came to Nix to try this because I thought I would be able to create
build environments per project that only require telling it the
Erlang/OTP version I want and the dependencies -- these being nix
expressions with the url/sha to fetch -- and since all those would be
set to install to something like .../erlang/lib/ I would get a ready
environment with all my deps and Erlang in my path.

That wasn't true, so next I was attempting scripts like you have but
generic and setting ERL_LIBS instead of putting in ./deps/ because I
didn't want it to assume what build tool that is in use.

After fiddling some more I decided it wasn't worth it.

So, it started with my lack of understanding of Nix -- my assumption
that I could simply list dependencies in addition to the ones it would
find based on the binary linking trick it does -- but I think in the end
it just isn't a fit for Erlang development.

-- 
  Tristan Sloughter
  

On Tue, Dec 30, 2014, at 11:49 PM, stewart mackenzie wrote:
> Dear all,
> 
> I am an Erlang programmer and I use NixOS almost exclusively.
> 
> Here is a nix project that compiles and deploys MongooseIM
> 
> https://github.com/headcounter/deployment
> 
> You can visit www.headcounter.org/hydra to see the CI.
> Particularly this build: https://headcounter.org/hydra/eval/14531
> which also runs the tests :
> https://headcounter.org/hydra/build/447454/download/1/ct_report/
> and builds the manual.
> 
> Points of interest:
> This file builds the erlang dependencies:
> https://github.com/headcounter/deployment/blob/master/pkgs/build-support/build-erlang.nix
> Here are the erlang dependencies for MongooseIM :
> https://github.com/headcounter/deployment/tree/master/pkgs/erldeps
> This folder deals with MongooseIM:
> https://github.com/headcounter/deployment/tree/master/pkgs/mongooseim
> 
> Have fun!
> 
> We'll be rolling out NixOS in production shortly.
> 
> Kind regards
> Stewart
> 
> 
> On Wed, Dec 31, 2014 at 1:00 PM, Anderson Torres
> <> wrote:
> > I think using Nix is very attractive:
> > - we are a small team by now, and we need more programmers and
> > beta-testers (as almost any big project).
> > - also, we can serve as a platform for popularizing Erlang.
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions


More information about the erlang-questions mailing list