# Towards more reliable CI

**URL:** https://discourse.elm-lang.org/t/towards-more-reliable-ci/10503
**Category:** Request Feedback
**Created:** [December 11, 2025, 11:57am UTC](https://discourse.elm-lang.org/t/towards-more-reliable-ci/10503 "2025-12-11T11:57:31Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![jerith](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/jerith/32/114_2.png) [@jerith](https://discourse.elm-lang.org/u/jerith)
#### Post date: [December 14, 2025, 8:07pm UTC](https://discourse.elm-lang.org/t/towards-more-reliable-ci/10503/4 "2025-12-14T20:07:30Z")

</div>

I think it’s worth mentioning [Nix](https://nixos.org/) in this context as well. Nix builds run in a sandbox without any network access. So when you use Nix to build your Elm code, preventing network access at build time becomes a necessity rather than a “nice to have” for added stability and performance.

The [announcement post for elm2nix](https://blog.hercules-ci.com/elm/2019/01/03/elm2nix-0.1/) makes some excellent points about what Elm could do better to enable Nix and other “build planning” software to work with the Elm compiler more easily:

> [I]t would be ideal if there would be [an] `elm.lock` file or similar with all dependencies pinned including their hashes
> 
> Ideally instead of committing [`versions.dat`] to [the] git repository, one would be able to point to an url that would present [this] binary file pinned at some specific time - allowing it to always be verifiable with [an] upfront known hash.

I think Elm’s built-in package management provides a great beginner experience already! So with limited resources, I would say time is better spent on exposing information, documenting file formats, etc. This way, dedicated third-party build systems (like Nix or more conventional CI pipelines) can plug in easily once a project is ready to “graduate” from the exploratory phase, and the Elm core team can concentrate on other things.

[How I use Nix in my Elm projects](https://discourse.elm-lang.org/t/how-i-use-nix-in-my-elm-projects/9525) and [Enabling pure Nix builds including elm-review & elm-codegen](https://discourse.elm-lang.org/t/enabling-pure-nix-builds-including-elm-review-elm-codegen/9969) have more discussion of building Elm with Nix if folks are curious!

---

_[View the full topic](https://discourse.elm-lang.org/t/towards-more-reliable-ci/10503)._
