Nixos Module Options Reference

These are the NixOS Module options for self-hosting NixCI.

Please reach out to get set up with a self-hosted NixCI installation.

Options

services.nix-ci.production.leader.api-hosts

The host to serve api requests on

Type: list of string

Default: [ ]

Example: "api.nix-ci.com"


services.nix-ci.production.leader.config

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.admin

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.admin.codeberg

Codeberg usernames of administrators

Type: null or (list of string)

Default: null


services.nix-ci.production.leader.config.admin.github

GitHub usernames of administrators

Type: null or (list of string)

Default: null


services.nix-ci.production.leader.config.admin.gitlab

GitLab usernames of administrators

Type: null or (list of string)

Default: null


services.nix-ci.production.leader.config.admin.user

Usernames of administrators

Type: null or (list of string)

Default: null


services.nix-ci.production.leader.config.api

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.api.approot

The host to serve api requests on

Type: null or string

Default: null


services.nix-ci.production.leader.config.api.host-preference

Host preference for binding to serve API requests

Type: null or string

Default: null


services.nix-ci.production.leader.config.api.port

The port to serve API requests on

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null


services.nix-ci.production.leader.config.autoscale

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.autoscale.command

Command to scale up or down the number of workers based on the queue size

Type: null or string

Default: null


services.nix-ci.production.leader.config.autoscale.scale-down-timeout

How long to wait after a worker has done no work before scaling it down

Type: null or string or signed integer

Default: null


services.nix-ci.production.leader.config.autoscale.still-up-threshold

How long a worker must be reachable to be considered still up

Type: null or string or signed integer

Default: null


services.nix-ci.production.leader.config.background-job-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.background-job-garbage-collector.enable

enable the background-job-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.background-job-garbage-collector.period

period of the background-job-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.background-job-garbage-collector.phase

phase of the background-job-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.background-job-poll-interval

How long a background worker waits for an announced job before looking at the queue anyway. The floor under job latency whenever nothing announces a job.

Type: null or string or signed integer

Default: null


services.nix-ci.production.leader.config.background-worker-count

Number of background worker threads for processing jobs

Type: null or (unsigned integer, meaning >=0)

Default: null


services.nix-ci.production.leader.config.billing-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.billing-garbage-collector.enable

enable the billing-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.billing-garbage-collector.period

period of the billing-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.billing-garbage-collector.phase

phase of the billing-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.branding

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.branding.css-file

CSS file path

Type: null or string

Default: null


services.nix-ci.production.leader.config.branding.logo-file

Logo file path, bust be SVG

Type: null or string

Default: null


services.nix-ci.production.leader.config.branding.privacy-email

Privacy contact email address

Type: null or string

Default: null


services.nix-ci.production.leader.config.branding.subtitle

Subtitle shown on the web interface

Type: null or string

Default: null


services.nix-ci.production.leader.config.branding.support-email

Support email address

Type: null or string

Default: null


services.nix-ci.production.leader.config.branding.title

HTML title prefix

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache

Global cache

Type: null or (submodule)

Default: null


services.nix-ci.production.leader.config.cache.cachix

Cachix caches

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.cachix.*.auth-token-file

Auth token file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.cachix.*.name

Cache name

Type: string


services.nix-ci.production.leader.config.cache.cachix.*.public-key

public-key

Type: string


services.nix-ci.production.leader.config.cache.cachix.*.signing-key-file

Signing key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.cachix-downloads

Cachix cache downloads

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.cachix-downloads.*.auth-token-file

Auth token file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.cachix-downloads.*.name

Cache name

Type: string


services.nix-ci.production.leader.config.cache.cachix-downloads.*.public-key

public-key

Type: string


services.nix-ci.production.leader.config.cache.cachix-uploads

Cachix cache uploads

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.cachix-uploads.*.auth-token-file

Auth token file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.cachix-uploads.*.name

Cache name

Type: string


services.nix-ci.production.leader.config.cache.cachix-uploads.*.signing-key-file

Signing key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci

NixCI caches

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.nix-ci.*.name

Name of the cache, for logging

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci.*.signing-key-file

Signing key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci.*.signing-public-key

Signing public key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci.*.signing-public-key-file

Signing public key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci.*.url

NixCI cache URL

Type: string


services.nix-ci.production.leader.config.cache.nix-ci-downloads

NixCI cache downloads

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.nix-ci-downloads.*.name

Name of the cache, for logging

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci-downloads.*.signing-public-key

Signing public key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci-downloads.*.signing-public-key-file

Signing public key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci-downloads.*.url

NixCI cache URL

Type: string


services.nix-ci.production.leader.config.cache.nix-ci-uploads

NixCI cache uploads

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.nix-ci-uploads.*.name

Name of the cache, for logging

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.nix-ci-uploads.*.url

NixCI cache URL

Type: string


services.nix-ci.production.leader.config.cache.ssh

SSH caches

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.ssh.*.domain

Domain

Type: string


services.nix-ci.production.leader.config.cache.ssh.*.host-key

Host key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.host-key-file

Host key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.name

Name of the cache, for logging

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.private-key-file

Ssh secret key file

Type: string


services.nix-ci.production.leader.config.cache.ssh.*.public-key

Ssh public key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.public-key-file

Ssh public key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.remote-store

remote-store parametr

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.signing-key-file

Signing key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.signing-public-key

Signing public key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.signing-public-key-file

Signing public key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh.*.user

ssh user

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads

SSH cache downloads

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.ssh-downloads.*.domain

Domain

Type: string


services.nix-ci.production.leader.config.cache.ssh-downloads.*.host-key

Host key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.host-key-file

Host key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.name

Name of the cache, for logging

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.private-key-file

Ssh secret key file

Type: string


services.nix-ci.production.leader.config.cache.ssh-downloads.*.public-key

Ssh public key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.public-key-file

Ssh public key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.remote-store

remote-store parametr

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.signing-public-key

Signing public key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.signing-public-key-file

Signing public key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-downloads.*.user

ssh user

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-uploads

SSH cache uploads

Type: null or (list of (submodule))

Default: [ ]


services.nix-ci.production.leader.config.cache.ssh-uploads.*.domain

Domain

Type: string


services.nix-ci.production.leader.config.cache.ssh-uploads.*.host-key

Host key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-uploads.*.host-key-file

Host key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-uploads.*.name

Name of the cache, for logging

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-uploads.*.private-key-file

Ssh secret key file

Type: string


services.nix-ci.production.leader.config.cache.ssh-uploads.*.public-key

Ssh public key

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-uploads.*.public-key-file

Ssh public key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-uploads.*.remote-store

remote-store parametr

Type: null or string

Default: null


services.nix-ci.production.leader.config.cache.ssh-uploads.*.user

ssh user

Type: null or string

Default: null


services.nix-ci.production.leader.config.changelog-dir

The changelog to serve at /changelog: a directory with an entries/ directory of markdown entries in it. The version of the newest entry is the release this leader reports itself as running.

Type: null or string

Default: null


services.nix-ci.production.leader.config.codeberg

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.codeberg.instance

The Codeberg instance: codeberg.org most likely

Type: null or string

Default: null


services.nix-ci.production.leader.config.codeberg.integration

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.codeberg.integration.hook-url

The hook url for contacting nix-ci from codeberg.

Type: null or string

Default: null


services.nix-ci.production.leader.config.codeberg.integration.title-prefix

Optional prefix for Codeberg commit status titles (e.g., 'nix-ci-staging')

Type: null or string

Default: null


services.nix-ci.production.leader.config.codeberg.oauth

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.codeberg.oauth.client-id

The client identifier

Type: null or string

Default: null


services.nix-ci.production.leader.config.codeberg.oauth.client-secret

The client secret

Type: null or string

Default: null


services.nix-ci.production.leader.config.codeberg.oauth.client-secret-file

The client secret

Type: null or string

Default: null


services.nix-ci.production.leader.config.codeberg.suites

Which webhook events trigger a suite for Codeberg repositories

Type: null or (submodule)

Default: null


services.nix-ci.production.leader.config.codeberg.suites.push

Which pushes build a suite: true, false, or which branches and tags to build

Type: boolean or (submodule)

Default: true


services.nix-ci.production.leader.config.codeberg-user-access-token-refresher

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.codeberg-user-access-token-refresher.enable

enable the codeberg-user-access-token-refresher looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.codeberg-user-access-token-refresher.period

period of the codeberg-user-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.codeberg-user-access-token-refresher.phase

phase of the codeberg-user-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.codeberg-webhook-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.codeberg-webhook-garbage-collector.enable

enable the codeberg-webhook-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.codeberg-webhook-garbage-collector.period

period of the codeberg-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.codeberg-webhook-garbage-collector.phase

phase of the codeberg-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.database

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.database.postgresql

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.database.postgresql.connections

The maximum number of connections in the pool

Type: null or signed integer

Default: null


services.nix-ci.production.leader.config.database.postgresql.database

The database name to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.host

The host of the PostgreSQL server

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.password

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.password-file

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.port

The port of the PostgreSQL server

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.database.postgresql.read-replica.database

The database name to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.host

The host of the PostgreSQL server

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.password

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.password-file

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.port

The port of the PostgreSQL server

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.sslcert

Path to the client SSL certificate

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.sslkey

Path to the client SSL private key

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.sslmode

The SSL mode for the PostgreSQL connection (disable, allow, prefer, require, verify-ca, verify-full)

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.sslrootcert

Path to the root SSL certificate for server verification

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.read-replica.user

The user to connect to PostgreSQL as

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.database.postgresql.session.database

The database name to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.host

The host of the PostgreSQL server

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.password

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.password-file

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.port

The port of the PostgreSQL server

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.sslcert

Path to the client SSL certificate

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.sslkey

Path to the client SSL private key

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.sslmode

The SSL mode for the PostgreSQL connection (disable, allow, prefer, require, verify-ca, verify-full)

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.sslrootcert

Path to the root SSL certificate for server verification

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.session.user

The user to connect to PostgreSQL as

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.sslcert

Path to the client SSL certificate

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.sslkey

Path to the client SSL private key

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.sslmode

The SSL mode for the PostgreSQL connection (disable, allow, prefer, require, verify-ca, verify-full)

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.sslrootcert

Path to the root SSL certificate for server verification

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.database.postgresql.transaction.database

The database name to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.host

The host of the PostgreSQL server

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.password

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.password-file

The password to connect to PostgreSQL with

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.port

The port of the PostgreSQL server

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.sslcert

Path to the client SSL certificate

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.sslkey

Path to the client SSL private key

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.sslmode

The SSL mode for the PostgreSQL connection (disable, allow, prefer, require, verify-ca, verify-full)

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.sslrootcert

Path to the root SSL certificate for server verification

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.transaction.user

The user to connect to PostgreSQL as

Type: null or string

Default: null


services.nix-ci.production.leader.config.database.postgresql.user

The user to connect to PostgreSQL as

Type: null or string

Default: null


services.nix-ci.production.leader.config.default-configuration

What every repository on this leader defaults to. These are the configuration fields a repository may leave out of its nix-ci.nix. A repository that sets one of these overrides it for itself; a repository that leaves it out gets what is set here, and a field left out here keeps its built-in default. Only the fields that mean something instance-wide are here. The rest of a suite's configuration describes one repository, so setting it for every repository would name attributes most of them do not have. A suite's configuration run shows what its configuration came to and which of these decided each field.

Type: null or (submodule)

Default: null


services.nix-ci.production.leader.config.default-configuration.allow-import-from-derivation

Allow import-from-derivation during evaluation. default: true

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.auto-retry

Automatically retry every individual failed run in a suite once default: true

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.build-logs

Build with --print-build-logs default: true

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.dependency-discovery

Dependency discovery configuration default: true

Type: null or boolean or (submodule)

Default: null


services.nix-ci.production.leader.config.default-configuration.enable

Whether to run CI. default: true

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.fail-fast

Cancel the rest of a suite once one job fails default: true

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.fail-on-dangling-dependencies

Fail the build when a configured build dependency references a job that does not exist. When false, such a dangling dependency is reported as a warning and ignored instead. default: false

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.impure

Build with --impure default: false

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.shallow-clone

Fetch only the commit being built, not its whole history. Set false for a flake that reads self.revCount, which has nothing to count without the history. In-repo test and deploy jobs ignore this and fetch the whole history. default: true

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.default-configuration.timeout

Maximum timeout, in seconds. Note that the actual timeout may depend on the workers' configuration. Set to null for a suite that runs without a timeout of its own. default: null

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.exchange-rate-refresher

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.exchange-rate-refresher.enable

enable the exchange-rate-refresher looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.exchange-rate-refresher.period

period of the exchange-rate-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.exchange-rate-refresher.phase

phase of the exchange-rate-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.foreign-owner-wait-threshold

How long a foreign-owner run must be waiting before a sticky worker is told to reboot. See foreignOwnerWaitThreshold.

Type: null or string or signed integer

Default: null


services.nix-ci.production.leader.config.github

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.github.instance

The GitHub instance: github.com most likely

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.integration

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.github.integration.app-id

The application identifier

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.integration.app-slug

The application slug, used to build the installation configuration URL

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.integration.private-key

The private key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.integration.private-key-file

The private key file

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.merge-wait-window

How long to go on asking GitHub what a pull request's merge is before giving up and reporting that on the pull request. GitHub generates a trial merge on its own schedule and announces it with no event, so this is a wait on somebody else's work rather than on ours. Longer means a pull request whose merge GitHub is slow to produce still gets built; shorter means it is told sooner that it will not be.

Type: null or string or signed integer

Default: null


services.nix-ci.production.leader.config.github.oauth

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.github.oauth.client-id

The client identifier

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.oauth.client-secret

The client secret file

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.oauth.client-secret-file

The client secret file

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.requests-per-hour

How many requests an hour to pace any one GitHub App installation at until GitHub says what that installation is allowed. GitHub says so in a header on every answer, so this is only the assumption the first call is paced at, and only lasts for an installation whose answers never carry one. Must be positive.

Type: null or (unsigned integer, meaning >=0)

Default: null


services.nix-ci.production.leader.config.github.suites

Which webhook events trigger a suite for GitHub repositories

Type: null or (submodule)

Default: null


services.nix-ci.production.leader.config.github.suites.check-suite

Build a suite for each check_suite.requested event

Type: boolean

Default: true


services.nix-ci.production.leader.config.github.suites.merge-group

Build the commit a merge queue asks for checks on

Type: boolean

Default: true


services.nix-ci.production.leader.config.github.suites.pull-request-head

Build the head-commit suite of a pull request: true, false, or 'when-no-merge-ref'

Type: string or boolean

Default: "always"


services.nix-ci.production.leader.config.github.suites.pull-request-merge

Build the merge-commit suite of a pull request

Type: boolean

Default: true


services.nix-ci.production.leader.config.github.suites.push

Which pushes build a suite: true, false, or which branches and tags to build

Type: boolean or (submodule)

Default: true


services.nix-ci.production.leader.config.github.webhook

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.github.webhook.secret

The webhook secret file

Type: null or string

Default: null


services.nix-ci.production.leader.config.github.webhook.secret-file

The webhook secret file

Type: null or string

Default: null


services.nix-ci.production.leader.config.github-installation-access-token-refresher

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.github-installation-access-token-refresher.enable

enable the github-installation-access-token-refresher looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.github-installation-access-token-refresher.period

period of the github-installation-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.github-installation-access-token-refresher.phase

phase of the github-installation-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.github-user-access-token-refresher

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.github-user-access-token-refresher.enable

enable the github-user-access-token-refresher looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.github-user-access-token-refresher.period

period of the github-user-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.github-user-access-token-refresher.phase

phase of the github-user-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.github-webhook-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.github-webhook-garbage-collector.enable

enable the github-webhook-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.github-webhook-garbage-collector.period

period of the github-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.github-webhook-garbage-collector.phase

phase of the github-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.gitlab

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.gitlab.instance

The gitlab instance: gitlab.com most likely

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.integration

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.gitlab.integration.access-token-name

The name to use for GitLab access tokens created by nix-ci

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.integration.hook-url

The hook url for contacting nix-ci from gitlab. Use this to override the default URL rendering using the approot.

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.integration.title-prefix

Optional prefix for GitLab commit status titles (e.g., 'nix-ci-staging')

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.minimum-access-level

The minimum GitLab repository access level required to use CI on a repo

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.oauth

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.gitlab.oauth.app-id

The application identifier

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.oauth.client-id

The client identifier

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.oauth.client-secret

The client secret file

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.oauth.client-secret-file

The client secret file

Type: null or string

Default: null


services.nix-ci.production.leader.config.gitlab.suites

Which webhook events trigger a suite for GitLab repositories

Type: null or (submodule)

Default: null


services.nix-ci.production.leader.config.gitlab.suites.merge-request-merge

Build the merge-commit suite of a merge request

Type: boolean

Default: true


services.nix-ci.production.leader.config.gitlab.suites.push

Which branches build a suite when they are pushed: true, false, or the branches to run on

Type: string or list of (value ":any" (singular enum) or value ":default" (singular enum) or string or value "any" (singular enum) or value "all" (singular enum) or value "default" (singular enum)) or (submodule) or boolean or one of ":any", ":default", "any", "all", "default"

Default: ":any"


services.nix-ci.production.leader.config.gitlab-repo-access-token-refresher

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.gitlab-repo-access-token-refresher.enable

enable the gitlab-repo-access-token-refresher looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.gitlab-repo-access-token-refresher.period

period of the gitlab-repo-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.gitlab-repo-access-token-refresher.phase

phase of the gitlab-repo-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.gitlab-user-access-token-refresher

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.gitlab-user-access-token-refresher.enable

enable the gitlab-user-access-token-refresher looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.gitlab-user-access-token-refresher.period

period of the gitlab-user-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.gitlab-user-access-token-refresher.phase

phase of the gitlab-user-access-token-refresher looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.gitlab-webhook-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.gitlab-webhook-garbage-collector.enable

enable the gitlab-webhook-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.gitlab-webhook-garbage-collector.period

period of the gitlab-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.gitlab-webhook-garbage-collector.phase

phase of the gitlab-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.http

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.http.circuit-breaker-degraded-window

How long after a failed request a dependency is still reported as degraded, even once requests are succeeding again. Zero reports only the circuit itself.

Type: null or string or signed integer

Default: null


services.nix-ci.production.leader.config.http.circuit-breaker-failure-threshold

Number of consecutive failed requests before the circuit breaker opens, which is also how many requests one call may spend on retries

Type: null or (unsigned integer, meaning >=0)

Default: null


services.nix-ci.production.leader.config.http.circuit-breaker-reset-timeout

How long the circuit breaker stays open before it admits a probe call. Must be positive.

Type: null or string or signed integer

Default: null


services.nix-ci.production.leader.config.jwk-file

File with the JSON Web Key (JWK) used to sign API login tokens. Required: generate one with nix-ci-leader-keygen and provision it as a secret.

Type: null or string

Default: null


services.nix-ci.production.leader.config.license

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.license.enable

enable the license looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.license.period

period of the license looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.license.phase

phase of the license looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.license.private-key

The leader private key this installation signs its reports with, from nix-ci-leader-keygen

Type: null or string

Default: null


services.nix-ci.production.leader.config.license.private-key-file

The leader private key this installation signs its reports with, from nix-ci-leader-keygen

Type: null or string

Default: null


services.nix-ci.production.leader.config.license.url

The API root of the NixCI to report usage to

Type: null or string

Default: null


services.nix-ci.production.leader.config.license-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.license-garbage-collector.enable

enable the license-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.license-garbage-collector.period

period of the license-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.license-garbage-collector.phase

phase of the license-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.log-level

Minimal severity of log messages

Type: null or one of "Debug", "Info", "Warn", "Error"

Default: null


services.nix-ci.production.leader.config.logs-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.logs-garbage-collector.enable

enable the logs-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.logs-garbage-collector.period

period of the logs-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.logs-garbage-collector.phase

phase of the logs-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.monetisation

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.monetisation.contact

Contact email address for sales inquiries

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.conversion-fee

Conversion fee, in CHF

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.monetisation.currencies

Currencies' settings

Type: null or (attribute set of (submodule))

Default: null


services.nix-ci.production.leader.config.monetisation.currencies.<name>.payment-details

Invoice 'Payment Details' section

Type: unspecified value


services.nix-ci.production.leader.config.monetisation.currencies.<name>.quantisation-factor

Currency quantisation factor

Type: 32 bit unsigned integer; between 0 and 4294967295 (both inclusive)

Default: 100


services.nix-ci.production.leader.config.monetisation.currency-risk

Currency risk

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.monetisation.customers

Customers

Type: null or (attribute set of (submodule))

Default: null


services.nix-ci.production.leader.config.monetisation.customers.<name>.currency

Customer's preferred currency

Type: string


services.nix-ci.production.leader.config.monetisation.customers.<name>.email

Email 'To' address

Type: string


services.nix-ci.production.leader.config.monetisation.customers.<name>.method

Charging method

Type: submodule

Default: { }


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.flat-amount

Flat rate amount (only for flat-rate)

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.license-keys

Public keys this self-hosted customer signs its usage reports with

Type: null or string or list of string

Default: null


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories

Customer's repositories to charge for

Type: null or (submodule)

Default: null


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories.codeberg

Codeberg owners

Type: null or (list of string)

Default: [ ]


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories.github

GitHub owners

Type: null or (list of string)

Default: [ ]


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories.gitlab

GitLab namespaces

Type: null or (list of string)

Default: [ ]


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories.url

Url repos

Type: null or (list of string)

Default: [ ]


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.seats

Customer's amount of leader seats (only for hosted)

Type: null or (unsigned integer, meaning >=0)

Default: null


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.type

Charging method type

Type: string


services.nix-ci.production.leader.config.monetisation.customers.<name>.method.worker-discount

Customer's worker discount rate (only for hosted)

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.monetisation.customers.<name>.to

Invoice 'To' section

Type: unspecified value


services.nix-ci.production.leader.config.monetisation.from

Invoice 'From' section

Type: null or unspecified value

Default: null


services.nix-ci.production.leader.config.monetisation.leader-rate

How many CHF to charge per seat per day for the leader

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.monetisation.self-hosted-leader-rate

How many CHF to charge per seat per day for the self-hosted leader

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.monetisation.stripe

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.monetisation.stripe.leader-meter-event-name

The Stripe billing meter event name for leader seat-day usage

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.leader-price

The Stripe price ID for leader seat metered billing (must start with 'price_')

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.publishable-key

The Stripe publishable key (must start with 'pk_')

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.secret-key

The Stripe secret key (must start with 'sk_')

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.secret-key-file

The Stripe secret key (must start with 'sk_')

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.webhook-secret

The Stripe webhook signing secret (must start with 'whsec_')

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.webhook-secret-file

The Stripe webhook signing secret (must start with 'whsec_')

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.worker-meter-event-name

The Stripe billing meter event name for worker time usage

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.stripe.worker-price

The Stripe price ID for worker usage metered billing (must start with 'price_')

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.typst-executable

Path to the typst executable

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.worker-comparison

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.monetisation.worker-comparison.instance-type

The comparable cloud instance type

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.worker-comparison.provider

The cloud provider name

Type: null or string

Default: null


services.nix-ci.production.leader.config.monetisation.worker-comparison.rate

On-demand rate in USD per hour

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.monetisation.worker-rate

How many CHF to charge per second of worker-time

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.oidc

The OIDC issuers whose tokens authenticate requests to this leader, and what a token from each may do. A workload that already holds a token from an issuer listed here needs no NixCI credential of its own, which is the point: there is nothing stored on either side to leak or to rotate. It reaches the API as a bearer token, and the cache as a netrc password under the login "oidc".

Type: null or (list of (submodule))

Default: null


services.nix-ci.production.leader.config.oidc.*.algorithms

The signature algorithms this issuer's tokens may use. An allowlist rather than whatever a token's header asks for, so that an issuer holding both an RSA and an EC key cannot have a token checked against the weaker one just because the token says so. Neither a symmetric algorithm nor "none" can be written here at all. All three forges sign RS256 and nothing else.

Type: (list of (value "EdDSA" (singular enum) or value "ES256" (singular enum) or value "ES384" (singular enum) or value "ES512" (singular enum) or value "PS256" (singular enum) or value "PS384" (singular enum) or value "PS512" (singular enum) or value "RS256" (singular enum) or value "RS384" (singular enum) or value "RS512" (singular enum))) or one of "EdDSA", "ES256", "ES384", "ES512", "PS256", "PS384", "PS512", "RS256", "RS384", "RS512"


services.nix-ci.production.leader.config.oidc.*.audiences

The audiences this leader answers to. A token is for this leader only if its aud claim holds one of these. The same string the workload asks its issuer to mint for, which is what stops a token minted for some other service being replayed against this one. This leader's api approot is a good choice, because no other service can claim it.

Type: string or list of string


services.nix-ci.production.leader.config.oidc.*.clock-skew

How far this leader's clock and the issuer's may be apart, in seconds. Applied to exp, nbf and iat, so a token minted a moment ago by a host whose clock runs slightly ahead is not refused as not yet valid.

Type: signed integer

Default: 60


services.nix-ci.production.leader.config.oidc.*.issuer

The issuer, matched against a token's iss claim exactly. Exactly as the issuer spells itself, which is not always the site it belongs to. GitHub Actions is https://token.actions.githubusercontent.com, GitLab is https://gitlab.com, and Forgejo is a path under the site: https://codeberg.org/api/actions. The issuer's own /.well-known/openid-configuration says which. an issuer, exactly as it spells itself

Type: string


services.nix-ci.production.leader.config.oidc.*.jwks-url

Where this issuer publishes its public keys. The jwks_uri of the issuer's discovery document, which is worth reading rather than guessing: GitHub's is /.well-known/jwks with no .json on the end, GitLab's is /oauth/discovery/keys, and Forgejo's is the issuer with /.well-known/keys after it. Configured rather than discovered, so that this leader makes one request to a url it was told instead of two to urls it worked out. Refetched on a period, so a key the issuer rotates in is picked up without a restart. It has to be https: these keys are the whole of what makes a token believable, and one fetched over plain HTTP is one anybody on the path could replace.

Type: string


services.nix-ci.production.leader.config.oidc.*.max-token-lifetime

The longest exp - iat a token may have, in seconds. Left out, a token is accepted for as long as its issuer said it lives. Set it once a real lifetime has been read off one of this issuer's tokens: a value under what the issuer actually mints refuses every one of them, with a refusal that looks exactly like a token that was simply wrong. What it buys is that an issuer which starts handing out long-lived tokens stops being treated as federation and starts being refused.

Type: null or signed integer

Default: null


services.nix-ci.production.leader.config.oidc.*.mints-for

Who can obtain a token from this issuer. "other-people-too" for a public forge, where anybody with an account there can ask for a token naming any audience, so a token says which repository it is about and never whose it is. "your-own-workloads" for an issuer you run, where holding a token is itself the evidence, which is what lets a rule grant repositories or an account the token does not name. Left as "other-people-too", a rule that grants what the token does not name has to be narrowed by a subject or a claim, or it is refused at startup.

Type: one of "other-people-too", "your-own-workloads"

Default: "other-people-too"


services.nix-ci.production.leader.config.oidc.*.name

What this provider is called. Only ever shown: every log line about a token from this issuer names it, including the ones saying why a token was refused.

Type: string


services.nix-ci.production.leader.config.oidc.*.rules

What tokens from this issuer may do, in order. The first rule a token matches is the one it acts under, so a rule that matches more belongs after the rules that match less. A token no rule is about is not a credential: there is no rule that applies by default.

Type: (submodule) or list of (submodule)


services.nix-ci.production.leader.config.per-owner-fairness

Do per-owner fairness, which is two things. The VM cap: no single owner can occupy more than C-O distinct workers, where C is the total number of connected/working VMs and O is the number of distinct owners currently running work. Workers whose VM has already built for an owner's repo are exempt from this cap. And the queue ordering: among jobs that rank equally above it, the owner whose last dispatch is oldest goes first, so owners take turns. Turn this off on a single-tenant leader, where the round robin sorts nothing and the queue is better decided by boosts and suite order. Orthogonal to 'separate-owner-stores': with stores not separated, the cap still applies but loses the affinity carve-out.

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.run-ready-fixer

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.run-ready-fixer.enable

enable the run-ready-fixer looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.run-ready-fixer.period

period of the run-ready-fixer looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.run-ready-fixer.phase

phase of the run-ready-fixer looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.separate-owner-stores

Whether to keep tenants on separate VMs by acting on each VM's build history (derived from its run_output rows). When off, dispatch is never narrowed by history and the leader never returns JobOfferRebootRequired.

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.session-key-file

File with the session encryption key. Required: generate one with nix-ci-leader-keygen and provision it as a secret.

Type: null or string

Default: null


services.nix-ci.production.leader.config.signing-key-files

Global signing key files

Type: null or (list of string)

Default: null


services.nix-ci.production.leader.config.stripe-usage-reporter

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.stripe-usage-reporter.enable

enable the stripe-usage-reporter looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.stripe-usage-reporter.period

period of the stripe-usage-reporter looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.stripe-usage-reporter.phase

phase of the stripe-usage-reporter looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.stripe-webhook-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.stripe-webhook-garbage-collector.enable

enable the stripe-webhook-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.stripe-webhook-garbage-collector.period

period of the stripe-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.stripe-webhook-garbage-collector.phase

phase of the stripe-webhook-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.suite-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.suite-garbage-collector.enable

enable the suite-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.suite-garbage-collector.period

period of the suite-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.suite-garbage-collector.phase

phase of the suite-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.version

The version tag to display: Use a git commit hash if you can!

Type: null or string

Default: null


services.nix-ci.production.leader.config.watchdog-notifier

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.watchdog-notifier.enable

enable the watchdog-notifier looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.watchdog-notifier.period

period of the watchdog-notifier looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.watchdog-notifier.phase

phase of the watchdog-notifier looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.web

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.web.approot

The host to serve web requests on

Type: null or string

Default: null


services.nix-ci.production.leader.config.web.host-preference

Host preference for binding to serve web requests

Type: null or string

Default: null


services.nix-ci.production.leader.config.web.port

The port to serve web requests on

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null


services.nix-ci.production.leader.config.worker-garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.worker-garbage-collector.enable

enable the worker-garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.worker-garbage-collector.period

period of the worker-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.worker-garbage-collector.phase

phase of the worker-garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.workers

Workers that are allowed to register

Type: null or (list of (submodule))

Default: null


services.nix-ci.production.leader.config.workers.*.allowed

This option has no description.

Type: null or (submodule) or list of (submodule)

Default: null


services.nix-ci.production.leader.config.workers.*.name

This option has no description.

Type: string


services.nix-ci.production.leader.config.workers.*.public-key

This option has no description.

Type: null or string

Default: null


services.nix-ci.production.leader.config.workers.*.public-key-file

This option has no description.

Type: null or string

Default: null


services.nix-ci.production.leader.enable

Enable the NixCI Leader

Type: boolean

Default: true

Example: false


services.nix-ci.production.leader.enableSettingsCheck

Enable a static settings check. Turn this off if your system has secrets that are provisioned at runtime.

Type: boolean

Default: true


services.nix-ci.production.leader.extraConfig

The contents of the config file, as an attribute set. This will be translated to Yaml and put in the right place along with the rest of the options defined in this submodule.

Type: unspecified value

Default: { }


services.nix-ci.production.leader.openFirewall

Whether to open the specified ports in the firewall

Type: boolean

Default: false


services.nix-ci.production.leader.recommendedOSSettings

Enable recommended OS settings.

Type: boolean

Default: true

Example: false


services.nix-ci.production.leader.web-hosts

The host to serve web requests on

Type: list of string

Default: [ ]

Example: "nix-ci.com"


services.nix-ci.production.leader.working-dir

Working directory of the leader, a relative path that will be the RuntimeDirectory of the leader.

Type: string

Default: "nix-ci-production-leader"