Convert Elm projects into Nix expressions for reproducible builds and dependency management.
elm2nix is a command-line tool that converts Elm projects into Nix expressions, allowing developers to manage Elm dependencies within the Nix ecosystem. It solves the problem of integrating Elm's package manager with Nix's reproducible build system by generating Nix files that include all dependencies with their sha256 checksums.
Elm developers who use Nix for package management and want to ensure reproducible builds of their Elm applications within a Nix environment.
Developers choose elm2nix because it provides a seamless way to integrate Elm projects into Nix, ensuring deterministic builds and leveraging Nix's powerful dependency management without manual intervention.
Convert Elm project into Nix expressions
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The `elm2nix convert` command parses elm.json and calculates sha256 sums for all dependencies, ensuring reproducible builds across environments as highlighted in the README.
Generates `default.nix` that seamlessly integrates Elm projects into Nix, enabling use within Nix-based pipelines and tools like devenv for streamlined workflows.
The `snapshot` command writes Elm package data to `registry.dat`, facilitating efficient caching and faster rebuilds in Nix environments, as described in the features.
Only supports Elm 0.19.1 per the README, which may be outdated for projects requiring newer Elm features or security updates.
The FAQ notes that mkDerivation is inlined and considered experimental, indicating potential instability or breaking changes in future updates.
Effectively using elm2nix assumes familiarity with Nix, adding a significant learning curve for developers new to the ecosystem, beyond Elm's native tooling.