Skip to content

CLI reference

Note

This documentation is auto-generated from the command line.

now

now - Nix-based distributed command runner.

Examples:
  # Initialize a basic workflow in ./now.nix
  now init

  # Load envvars from a dotenv file and run the default job(s)
  now run --env-file .env

  # Run the "deploy" job (and all dependencies) from the specified workflow,
  # and specify a remote builder for the run
  now run deploy \
    --builders "ssh://mac aarch64-darwin" \
    --workflow .now/remote.nix

  # Abort immediately on the first failing job,
  # and don't checkout the current directory
  now run --abort --checkout none

Usage: now <COMMAND>

Commands:
  init  Initialize a basic workflow
  run   Run one or more jobs
  help  Print this message or the help of the given subcommand(s)

Options:
  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

now init

Initialize a basic workflow

Usage: now init [WORKFLOW]

Arguments:
  [WORKFLOW]  Path to the workflow

Options:
  -h, --help  Print help

now run

Run one or more jobs

Usage: now run [OPTIONS] [JOB]...

Arguments:
  [JOB]...
          Jobs to target in this run.

          If unspecified, the default jobs of the workflow are run.

          Cannot be used together with the `--all-jobs` option.

Options:
  -w, --workflow <FILE>
          Path to the workflow.

          Cannot be used together with the `--flake` option.

  -f, --flake <FLAKE[#ATTR]>
          Path to the flake and an optional attribute (defaults to the `now` output).

          Cannot be used together with the `--workflow` option.

      --all-jobs
          Run all jobs in the workflow.

          Cannot be used together with any `[JOB]` arguments.

  -e, --env-file <FILE>
          Optional dotenv file to read environment variables from

      --abort
          Immediately abort on the first job failure

      --timeout <DURATION>
          Timeout for the entire workflow, eg. `1h`

      --eval
          Evaluate but don't run the workflow

  -c, --cwdir <CWDIR>
          In which directory to run the workflow.

          Defaults to the current directory if --workflow is set, and the directory that `now.nix` is in otherwise

      --builders <BUILDERS>
          A semicolon-separated list of build machines. When specified, overrides the remote builders configuration of the host.

          Cannot be used together with the `--local-only` option.

          For more information on the syntax, see: <https://nix.dev/manual/nix/latest/command-ref/conf-file#conf-builders>

      --local-only
          When specified, ignores the remote builders configuration of the host, running all jobs in the local builder.

          Jobs that cannot run in the local builder will fail.

          Cannot be used together with either the `--builders` or `--remote-only` options.

      --remote-only
          When specified, runs all jobs in remote builders, only using the local runner for job orchestration.

          Cannot be used together with the `--local-only` option.

      --skip
          When specified, skips jobs that don't match any builders or runners and their dependencies, instead of failing

      --use-cache
          Whether to use now's binary cache and pinned nixpkgs when building the step runner.

          This avoids having to download and run the compiler toolchain on local and remote builds.

      --tracing
          Whether to emit traces in Duper instead of colored logs.

          For more information on Duper: <https://duper.dev.br>

  -h, --help
          Print help (see a summary with '-h')