DEV Community

Dwayne Crooks
Dwayne Crooks

Posted on

Elm + Nix: A reproducible RealWorld clone

Nix has infected my soul. I don't know how else to describe it.

I refactored my RealWorld clone, dwayne/elm-conduit, to use Nix. It uses Nix for the development environment, building, serving, running checks, deploying, and CI.

As a bonus, if you have Nix running on your machine you can:

  • Run the frontend workshop environment:
    • nix run github:dwayne/elm-conduit#workshop
  • Run the sandbox:
    • nix run github:dwayne/elm-conduit#sandbox
  • Run the development version of the web app:
    • nix run github:dwayne/elm-conduit
  • Run the production version of the web app, i.e. the exact version that's hosted by Netlify at https://elm-conduit.netlify.app:
    • nix run github:dwayne/elm-conduit#prod

The Elm builds are all powered by dwayne/elm2nix.

The Classics

This actually completes my refactoring of "The Classics" to use Nix.

TodoMVC, Super Rentals, 7GUIs, and Conduit are now all using Nix in the same way. Check out anyone of them to help you figure out how to combine Elm and Nix for fun and profit.

TodoMVC

nix run github:dwayne/elm-todos#prod

Super Rentals

nix run github:dwayne/elm-super-rentals#prod

7GUIs

nix run github:dwayne/elm-7guis#prod

Related posts

Contact me for Nix training and support

If you're interested in learning Nix or adding Nix to your workflow don't hesitate to reach out to me via the newsletter. I'd be delighted to help you achieve your goals.

Subscribe to my newsletter

If you're interested in improving your skills with Elm then I invite you to subscribe to my newsletter, Elm with Dwayne. To learn more about it, please read this announcement.

Top comments (1)

Collapse
 
dirkbj profile image
Dirk Johnson

This is awesome, Dwayne. Thanks for the excitement surrounding this. I definitely plan on looking into nix soon.