This function is a module system-based wrapper for mkEffect. The module system[1] helps effect logic to be composed, factored out and reused. hercules-ci-effects provides a number of modules to be imported.


hci-effects.modularEffect ({ pkgs, ... }: {
  imports = [ hci-effects.modules.git-auth ];
  inputs = [ pkgs.hello ]
  effectScript = ''
    git status

For hci-effects, see Import hercules-ci-effects.


modularEffect takes one parameter, which must be a module.

The module may set Core Options and/or import other modules using imports.

Return value

modularEffect returns an effect derivation, like mkEffect does.

1. The module system refers to the module system used by NixOS. It does not include anything specific to NixOS, but rather the features such as imports, types, mkForce, etc.