Effects are in beta and require a recent hercules-ci-agent from the master branch.

This hercules-ci-effects repository provides useful abstractions and implementations to automate tasks such as deployment.

Hercules CI Effects as implemented by the agent are a fairly low-level interface for executing programs that interact with the Nix store, centralized state, secrets and the real world.

hercules-ci-effects provides a standard library of both Nix and bash functions. Its foundation is the mkEffect function, which extends Nixpkgs' stdenv to handle the typical inputs and lifecycle of an effect.

Furthermore, it provides Nix functions that perform a number of common deployment tasks, such as runNixOS and runNixOps.

It also comes with a library of bash functions that help manage secrets, configuration files and provide access to the state file API.