hex2nix is a command that generates correct Nix Expressions from the
Hex.pm repository. It only generates those expressions for packages
that have a buildable Build System. Right now that is
make. It builds all of these with
rebar3. That works
for the vast majority of packages but not all.
Usage: hex2nix [-h [<output_path>]] [-r [<registry_url>]] [-c [<cache>]] [-h [<help>]] -o, --output-path Output Path for the `hex-packages.nix` file [default: ./] -r, --registry-url The url of the registry to base generation on [default: https://s3.amazonaws.com/s3.hex.pm/registry.ets.gz] -c, --cache-result Cache the result of package download so it can be reused. This is primarily useful for testing. [default: false] -h, --help Print the help message for this command [default: false]
You can run
hex2nix with no arguments and it will dump a
hex-packages.nix file in the current directory. Optionally, you can
give it an
output-path and point that to the erlang-modules
directory of your nixpkgs repo. That is usually
pkgs/development/erlang-modules. By default it pulls from the
current canonical Hex.pm registry, however you can give it a
different url if you so desire. Finally, you can tell it to cache the
intermediate results. This is mostly useful during development of
hex2nix so it doesn't have to redownload the entire package
repository for every run.
Assuming you are using Nix, you can simply run
make and it will
build the command for you.