Skip to main content


Flakular aims to supplement Zero to Nix with the goal of introducing people to writing modular flakes.

We begin with explaining the necessary Nix foundations before proceeding to highlight the various flake modules (developed using the flake-parts framework) that are typically involved in managing software projects and systems.


Documentation for individual modules may live in their respective repositories. We reference them using git submodules. To modify the documentation for a module, you should:

  1. Clone this repository
  2. Run nix develop to enter a shell with all the necessary tools
  3. Edit one of the ext/* folder. For eg., to work on haskell-flake documentation, edit a file under ext/haskell-flake
  4. Run just run in the nix shell to run the website locally.
  5. Once you are done with your changes, commit it to the submodule repository, and then commit the submodule change in this repo.