Skip to main content
Use the host scheduler when it already owns wakeups, restarts and process lifetime. Nika emits the bridge; the engine still owns cadence policy, spend, locking, firing and proof.

Preview generated units

Without --write, the exact unit prints to stdout. Review its working directory, binary, calendar and environment-file path before installation.

Write a user-scoped unit

The live default is user scope. launchd writes a macOS user agent. systemd writes a user timer and service pair.

One firing law

OS WAKEUP Β· ENGINE DECISION
The generated unit does not reimplement Nika policy. It wakes the engine and the engine applies the same firer used by nika serve.

Keep secrets out of emitted bytes

The unit carries the path to an environment file, never provider secret values. nika.yaml carries project policy, not credentials. The workflow declares secret names under its own secrets: contract.

Disarm as a state, not a deletion

The suspension remains reviewable. nika arm disarm <label> --write can remove generated unit files and teaches the host unload command, but it does not pretend that removing a unit edited project intent.

Continue

Resident server

Use the wall-clock loop where no OS scheduler exists.

Install the binary

Install the binary for headless operation.

Security boundary

Keep authority outside generated files.

Arm reference

Full command, policy and exit semantics.