We designed Holonix to enable developer productivity in a FOSS and extensible way based on the assumption that productivity comes from evolving conventions around a set of “golden workflows”.

These workflows are relevant to most projects in the Holochain ecosystem.

  • building & testing zomes
  • building & testing UIs
  • documenting code
  • releasing artifacts

The benefits of leveraging a well tested set of conventional scripts usually outweighs reinventing the wheel here.

Holonix dogfoods relevant golden workflows.
E.g. this documentation is generated by the hugo tooling, bash examples recorded with asciinema, all automatically deployed to github pages by a simple bash script, that is itself part of Holonix.

Workflows are achieved through a combination of:

  • automated management of tools and dependencies on the $PATH
  • setting environment variables inside a shell session
  • simple bash scripts and scaffolding tools
  • virtual machines for continuous integration and extended platform support
  • conventions and project specific configuration
  • leveraging the NixOS toolkit

Extending holonix

Holonix can be consumed in three main ways:

  • A project-agnostic 1-liner
  • A project-specific default.nix configuration
  • As a NixOS native overlay

This allows for increasing levels of sophistication and control over Holonix usage.

As developers gain familiarity with Holonix and NixOS in general they can progressively dive deeper to customise and leverage more.