PureNix

2022-01-03

My friend Jonas Carpay (@jonascarpay) and I recently released PureNix. PureNix is a Nix backend for PureScript. PureNix allows you to write PureScript code and transpile it to Nix code. This can be helpful when trying to write large or tricky code in Nix.

This blog post series is all about PureNix. It explains how to get started with PureNix, why we wrote PureNix, when you might want to use PureNix, and more. If you just want to play around with PureNix, all you need is the first post.

  1. Getting Started with PureNix

    This post gives a high-level overview of PureNix, and explains how to setup an environment for playing around with it.

  2. Who Would Find PureNix Easy to Use?

    What sort of programmers would find PureNix easy to get started with?

  3. Why PureNix?

    Why we decided to start working on PureNix.

  4. PureNix vs. Nix (coming soon)

    When you should consider choosing PureNix over writing in raw Nix. Examples of code written in PureNix vs. Nix.

  5. PureNix Project Ideas (coming soon)

    A list of ideas for projects that would be neat to write in PureNix. Some project ideas are just jokes.

  6. Contributing to the PureNix and the Ecosystem (coming soon)

    This post lists different parts of the PureNix ecosystem we'd love to get help with. There are tons of things that we'd like to improve.

  7. cabal2nixWithoutIFD (coming soon)

    An overview of the cabal2nixWithoutIFD project. This is a proof-of-concept implementation of callCabal2nix written using PureNix.

  8. Efficient unfoldr Implementation in Nix with builtins.genericClosure (coming soon)

    A neat way of writing unfoldr in Nix efficiently.

  9. Under the Hood of PureNix (coming soon)

    This post explains how PureNix works internally. It talks about what goes in to writing a new PureScript backend.

  10. PureNix vs. Nickel (coming soon)

    This post compares PureNix to Nickel.

tags: purescript, nixos, haskell