Appendix A. Configuration Options

bootstrap.packages.cachix

Type: package

Default: "channels.cipkgs.cachix"

Declared by:

<ci/env.nix>
bootstrap.packages.nix

Type: null or package

Default: "corepkgs.nix"

Declared by:

<ci/env.nix>
cache.cachix

Type: attribute set of (submodule)

Default: { }

Declared by:

<ci/env.nix>
cache.cachix.<name>.enable

Whether to enable cachix cache.

Type: boolean

Default: true

Example: true

Declared by:

<ci/env.nix>
cache.cachix.<name>.name

Type: string

Default: "‹name›"

Declared by:

<ci/env.nix>
cache.cachix.<name>.publicKey

Type: null or string

Default: null

Declared by:

<ci/env.nix>
cache.cachix.<name>.signingKey

Type: null or string

Default: null

Declared by:

<ci/env.nix>
cache.substituters

Type: attribute set of (submodule)

Declared by:

<ci/env.nix>
cache.substituters.<name>.publicKeys

Type: list of string

Declared by:

<ci/env.nix>
cache.substituters.<name>.url

Type: string

Declared by:

<ci/env.nix>
channels

Type: attribute set of ((submodule) or string convertible to it)

Declared by:

<ci/env.nix>
channels.<name>.enable

Whether to enable channel.

Type: boolean

Default: true

Example: true

Declared by:

<ci/env.nix>
channels.<name>.args

Type: attribute set of unspecified value

Declared by:

<ci/env.nix>
channels.<name>.file

Type: null or string

Declared by:

<ci/env.nix>
channels.<name>.name

Type: string

Default: "‹name›"

Declared by:

<ci/env.nix>
channels.<name>.nixPathImport

Type: boolean

Default: false

Declared by:

<ci/env.nix>
channels.<name>.overlays

Type: list of unspecified value

Declared by:

<ci/env.nix>
channels.<name>.path

Type: string or path

Declared by:

<ci/env.nix>
channels.<name>.sha256

Type: null or string

Declared by:

<ci/env.nix>
channels.<name>.url

Type: null or string

Declared by:

<ci/env.nix>
channels.<name>.version

Type: null or string

Declared by:

<ci/env.nix>
ci.configPath

Type: string

Default: "./tests/example.nix"

Declared by:

<ci/config.nix>
ci.gh-actions.enable

Whether to enable GitHub Actions CI.

Type: boolean

Default: false

Example: true

Declared by:

<ci/actions-ci.nix>
ci.gh-actions.checkoutOptions

Type: attribute set of unspecified value

Declared by:

<ci/actions-ci.nix>
ci.gh-actions.checkoutVersion

Type: string

Default: "v4"

Declared by:

<ci/actions-ci.nix>
ci.gh-actions.emit

Type: boolean

Default: true

Declared by:

<ci/actions-ci.nix>
ci.gh-actions.export

Type: boolean

Default: false

Declared by:

<ci/actions-ci.nix>
ci.gh-actions.name

Type: string

Default: "ci"

Declared by:

<ci/actions-ci.nix>
ci.gh-actions.path

Type: null or string

Default: ".github/workflows/ci.yml"

Declared by:

<ci/actions-ci.nix>
ci.url

Type: string

Default: "https://github.com/arcnmx/ci/archive/v0.7.tar.gz"

Declared by:

<ci/config.nix>
ci.version

Type: string

Default: "v0.7"

Declared by:

<ci/config.nix>
doc.json

Type: unspecified value

Declared by:

<ci/config.nix>
doc.manPages

Type: unspecified value

Declared by:

<ci/config.nix>
doc.manual

Type: unspecified value

Declared by:

<ci/config.nix>
doc.open

Type: unspecified value

Declared by:

<ci/config.nix>
environment.allowRoot

Type: boolean

Default: "getEnv \"CI_ALLOW_ROOT\" != \"\""

Declared by:

<ci/env.nix>
environment.bootstrap

Type: attribute set of package

Declared by:

<ci/env.nix>
environment.closeStdin

Type: boolean

Default: "getEnv \"CI_CLOSE_STDIN\" != \"\""

Declared by:

<ci/env.nix>
environment.glibcLocales

Type: list of package

Default: [ ]

Declared by:

<ci/env.nix>
environment.impure

Type: boolean

Default: true

Declared by:

<ci/env.nix>
environment.shell

Type: attribute set of package

Declared by:

<ci/env.nix>
environment.test

Type: attribute set of package

Declared by:

<ci/env.nix>
environment.workingDirectory

Type: path

Default: "getEnv \"PWD\""

Declared by:

<ci/env.nix>
exec.nixRealise

Type: one of "nix build", "nix-build", "nix-store"

Default: "nix build"

Declared by:

<ci/exec.nix>
exec.useNix2

Type: boolean

Default: true

Declared by:

<ci/exec.nix>
exec.verbosity

Type: one of "build", "quiet", "silent"

Default: "build"

Declared by:

<ci/exec.nix>
export.doc

Type: unspecified value

Declared by:

<ci/config.nix>
export.env.bootstrap

Type: package (read only)

Declared by:

<ci/env.nix>
export.env.setup

Type: package (read only)

Declared by:

<ci/env.nix>
export.env.shell

Type: package (read only)

Declared by:

<ci/env.nix>
export.env.test

Type: package (read only)

Declared by:

<ci/env.nix>
export.environment

Type: package

Declared by:

<ci/exec.nix>
export.exec

Type: attribute set of unspecified value

Declared by:

<ci/exec.nix>
export.gh-actions.configFile

Type: package

Declared by:

<ci/actions-ci.nix>
export.help

Type: unspecified value

Declared by:

<ci/exec.nix>
export.job

Type: attribute set of unspecified value

Declared by:

<ci/project.nix>
export.list

Type: package

Declared by:

<ci/exec.nix>
export.run

Type: attribute set of unspecified value

Declared by:

<ci/exec.nix>
export.shell

Type: package

Declared by:

<ci/exec.nix>
export.source

Type: strings concatenated with "\n"

Declared by:

<ci/exec.nix>
export.stage

Type: attribute set of unspecified value

Declared by:

<ci/project.nix>
export.test

Type: unspecified value

Declared by:

<ci/exec.nix>
gh-actions.enable

Whether to enable GitHub Actions.

Type: boolean

Default: false

Example: true

Declared by:

<ci/actions.nix>
gh-actions.env

Type: attribute set of string

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs

Type: attribute set of (submodule)

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.container

Type: null or (submodule)

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.container.env

Type: attribute set of string

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.container.image

Type: string

Default: "‹name›"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.container.options

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.container.ports

Type: list of string

Default: [ ]

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.container.volumes

Type: list of string

Default: [ ]

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.env

Type: attribute set of string

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.id

Type: string

Default: "‹name›"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.if

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.name

Type: string

Default: "‹name›"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.needs

Type: (list of string) or string convertible to it

Default: [ ]

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.permissions

Type: unspecified value

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.runs-on

Type: one of "ubuntu-latest", "ubuntu-22.04", "ubuntu-20.04", "windows-latest", "windows-2022", "windows-2019", "macos-latest", "macos-14", "macos-13", "macos-12", "macos-11" or list of string or string or (attribute set)

Default: "ubuntu-latest"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.services

Type: attribute set of (submodule)

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.services.<name>.env

Type: attribute set of string

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.services.<name>.image

Type: string

Default: "‹name›"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.services.<name>.options

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.services.<name>.ports

Type: list of string

Default: [ ]

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.services.<name>.volumes

Type: list of string

Default: [ ]

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step

Type: attribute set of (submodule)

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.continue-on-error

Type: boolean

Default: false

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.env

Type: attribute set of string

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.id

Type: null or string

Default: "‹name›"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.if

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.name

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.order

Type: signed integer

Default: 1000

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.run

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.shell

Type: null or one of "bash", "pwsh", "python", "sh", "cmd", "powershell"

Default: null

Example: "bash"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.shellTemplate

Type: null or string

Default: null

Example: "-xeu {0} scriptArg"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.timeout-minutes

Type: null or positive integer, meaning >0

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses

Type: null or (submodule)

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses.docker

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses.owner

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses.path

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses.repo

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses.slug

Type: null or string

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses.spec

Type: string

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.uses.version

Type: string

Default: "v1"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.with

Type: attribute set of (null or boolean or string or signed integer or floating point number)

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.step.<name>.working-directory

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps

Type: list of (submodule)

Default: [ ]

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.continue-on-error

Type: boolean

Default: false

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.env

Type: attribute set of string

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.id

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.if

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.name

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.order

Type: null or signed integer

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.run

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.shell

Type: null or one of "bash", "pwsh", "python", "sh", "cmd", "powershell"

Default: null

Example: "bash"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.shellTemplate

Type: null or string

Default: null

Example: "-xeu {0} scriptArg"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.timeout-minutes

Type: null or positive integer, meaning >0

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses

Type: null or (submodule)

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses.docker

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses.owner

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses.path

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses.repo

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses.slug

Type: null or string

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses.spec

Type: string

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.uses.version

Type: string

Default: "v1"

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.with

Type: attribute set of (null or boolean or string or signed integer or floating point number)

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.steps.*.working-directory

Type: null or string

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.strategy.fail-fast

Type: boolean

Default: true

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.strategy.matrix

Type: attribute set of unspecified value

Default: { }

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.strategy.max-parallel

Type: null or positive integer, meaning >0

Default: null

Declared by:

<ci/actions.nix>
gh-actions.jobs.<name>.timeout-minutes

Type: positive integer, meaning >0

Default: 360

Declared by:

<ci/actions.nix>
gh-actions.name

Type: string

Declared by:

<ci/actions.nix>
gh-actions.on

Type: unspecified value

Default:

[
  "push"
  "pull_request"
]

Declared by:

<ci/actions.nix>
gh-actions.permissions

Type: unspecified value

Default: null

Declared by:

<ci/actions.nix>
lib

Type: attribute set of (attribute set)

Default: { }

Declared by:

<ci/lib.nix>
name

Type: string

Default: "ci"

Declared by:

<ci/project.nix>
nix.config

Type: attribute set of (string or boolean or signed integer or list of string)

Declared by:

<ci/env.nix>
nix.configFile

/etc/nix/nix.conf

Type: path

Declared by:

<ci/env.nix>
nix.experimental-features

Type: list of string

Declared by:

<ci/env.nix>
nix.extraConfig

Type: strings concatenated with "\n"

Default: ""

Declared by:

<ci/env.nix>
nix.extraSettings

Type: strings concatenated with "\n"

Default: ""

Declared by:

<ci/env.nix>
nix.settings

Type: attribute set of (string or boolean or signed integer or list of string)

Declared by:

<ci/env.nix>
nix.settingsFile

appended to $NIX_USER_CONF_FILES

Type: path

Declared by:

<ci/env.nix>
nixPath

Type: attribute set of path

Declared by:

<ci/env.nix>
nixpkgs

Type: (submodule) or string convertible to it

Default: { }

Declared by:

<ci/env.nix>
nixpkgs.enable

Whether to enable channel.

Type: boolean

Default: true

Example: true

Declared by:

<ci/env.nix>
nixpkgs.args

Type: submodule

Declared by:

<ci/env.nix>
nixpkgs.args.config

Type: attribute set of unspecified value

Default: { }

Declared by:

<ci/env.nix>
nixpkgs.args.crossOverlays

Type: list of unspecified value

Default: [ ]

Declared by:

<ci/env.nix>
nixpkgs.args.crossSystem

Type: null or ((attribute set of unspecified value) or string convertible to it)

Declared by:

<ci/env.nix>
nixpkgs.args.localSystem

Type: (attribute set of unspecified value) or string convertible to it

Declared by:

<ci/env.nix>
nixpkgs.args.overlays

Type: list of unspecified value

Default: [ ]

Declared by:

<ci/env.nix>
nixpkgs.args.stdenvStages

Type: null or unspecified value

Default: null

Declared by:

<ci/env.nix>
nixpkgs.args.system

Type: (attribute set of unspecified value) or string convertible to it

Declared by:

<ci/env.nix>
nixpkgs.file

Type: null or string

Declared by:

<ci/env.nix>
nixpkgs.name

Type: string

Default: "‹name›"

Declared by:

<ci/env.nix>
nixpkgs.nixPathImport

Type: boolean

Default: false

Declared by:

<ci/env.nix>
nixpkgs.overlays

Type: list of unspecified value

Declared by:

<ci/env.nix>
nixpkgs.path

Type: string or path

Declared by:

<ci/env.nix>
nixpkgs.sha256

Type: null or string

Declared by:

<ci/env.nix>
nixpkgs.url

Type: null or string

Declared by:

<ci/env.nix>
nixpkgs.version

Type: null or string

Declared by:

<ci/env.nix>
project.exec

Type: attribute set of string

Default: { }

Declared by:

<ci/project.nix>
project.executor.connectionDetails

Type: attribute set of unspecified value

Default: { }

Declared by:

<ci/tasks.nix>
project.run

Type: attribute set of package

Default: { }

Declared by:

<ci/project.nix>
system

Type: null or ((attribute set of unspecified value) or string convertible to it)

Default: null

Declared by:

<ci/env.nix>
tasks

Type: attribute set of (submodule)

Default: { }

Declared by:

<ci/tasks.nix>
tasks.<name>.args

Type: attribute set of unspecified value

Default: { }

Declared by:

<ci/tasks.nix>
tasks.<name>.buildCommand

Type: strings concatenated with "\n"

Default: ""

Declared by:

<ci/tasks.nix>
tasks.<name>.cache.enable

Whether to enable cache build results.

Type: boolean

Default: true

Example: true

Declared by:

<ci/tasks.nix>
tasks.<name>.cache.inputs

Type: list of package

Default: [ ]

Declared by:

<ci/tasks.nix>
tasks.<name>.cache.wrap

Whether to enable cache whether a build succeeds and not the output.

Type: boolean

Default: false

Example: true

Declared by:

<ci/tasks.nix>
tasks.<name>.id

Type: string

Default: "ci-task-‹name›"

Declared by:

<ci/tasks.nix>
tasks.<name>.inputs

Type: (list of unspecified value) or unspecified value convertible to it

Default: [ ]

Declared by:

<ci/tasks.nix>
tasks.<name>.name

Type: null or string

Default: "‹name›"

Declared by:

<ci/tasks.nix>
tasks.<name>.preBuild

Type: strings concatenated with "\n"

Default: ""

Declared by:

<ci/tasks.nix>
tasks.<name>.skip

Type: boolean or string

Default: false

Declared by:

<ci/tasks.nix>
tasks.<name>.timeoutSeconds

Type: null or positive integer, meaning >0

Default: null

Declared by:

<ci/tasks.nix>
tasks.<name>.warn

Type: boolean

Default: false

Declared by:

<ci/tasks.nix>
warn

Type: boolean

Default: false

Declared by:

<ci/project.nix>