Description
Turn your Elm project into buildable Nix project.
Description
Please see the README on Github at https://github.com/cachix/elm2nix#readme
README.md
elm2nix
Convert an Elm project into Nix expressions.
It consists of multiple commands:
elm2nix convert: Givenelm.jsonin current directory, all dependencies are parsed and their sha256sum calculatedelm2nix snapshot: Reads packages fromelm.jsonand writes them to binary cache fileregistry.datused by elm-compiler.elm2nix init: Generatesdefault.nixthat glues everything together
Assumptions
Supports Elm 0.19.1
Installation
It's already included in devenv when using Elm:
{
langauges.elm.enable = true;
tasks = {
"frontend:elm2nix" = {
exec = "cd frontend && elm2nix convert > elm-srcs.nix && elm2nix snapshot";
execIfModified = [ "frontend/elm.json" ];
before = [ "devenv:enterShell" ];
};
};
}
Running tests (as per CI)
$ ./scripts/tests.sh
FAQ
Why is mkDerivation inlined into default.nix?
As it's considered experimental, it's generated for now. Might change in the future.
How do I use elm2nix with ParcelJS and Yarn?
Instead of running elm2nix init, create a default.nix with the following derivation:
https://github.com/cachix/elm2nix/issues/49#issuecomment-1696082884