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

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.api-bind-host

The host to bind the api server on

Type: null or string

Default: null


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.api-mirrors

Hosts to mirror api requests to

Type: attribute set of string

Default: { }

Example: { staging = "api.staging.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.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.admin-notification-command

Admin notification command

Type: null or string

Default: null


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

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 signed integer

Default: null


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

The host to serve web requests on

Type: null or string

Default: null


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

This option has no description.

Type: submodule

Default: { }


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 (list of ((submodule) or (submodule)))

Default: null


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

The database file

Type: null or string

Default: null


services.nix-ci.production.leader.config.foreign-key-checker

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.foreign-key-checker.enable

enable the foreign-key-checker looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.foreign-key-checker.period

period of the foreign-key-checker looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.foreign-key-checker.phase

phase of the foreign-key-checker looper in seconds

Type: null or signed integer or floating point number

Default: null


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

This option has no description.

Type: submodule

Default: { }


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

The application identifier

Type: null or string

Default: null


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

The client identifier

Type: null or string

Default: null


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

The client secret file

Type: null or string

Default: null


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

The client secret file

Type: null or string

Default: null


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

The private key file

Type: null or string

Default: null


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

The private key file

Type: null or string

Default: null


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.gitlab

This option has no description.

Type: submodule

Default: { }


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

The application identifier

Type: null or string

Default: null


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

The client identifier

Type: null or string

Default: null


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

The client secret file

Type: null or string

Default: null


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

The client secret file

Type: null or string

Default: null


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

The hook url for contacting nix-ci from gitlab.

Type: null or string

Default: null


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.jwk-file

File with the JSON Web Key (JWK)

Type: null or string

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.conversion-fee

Conversion fee, in CHF

Type: null or signed integer or floating point number

Default: null


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: null or string

Default: null


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

Customer's GitHub owners

Type: null or (list of string)

Default: null


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

Customer's amount of leader seats

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

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.customers.<name>.worker-discount

Customer's worker discount rate

Type: null or signed integer or floating point number

Default: null


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.payment-details

Invoice 'Payment Detials' section, per currency

Type: null or (attribute set of unspecified value)

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.necrork

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.necrork.intray

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.necrork.intray.key

Access key

Type: null or string

Default: null


services.nix-ci.production.leader.config.necrork.intray.key-file

Access key

Type: null or string

Default: null


services.nix-ci.production.leader.config.necrork.intray.username

Username

Type: null or string

Default: null


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

This option has no description.

Type: submodule

Default: { }


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

enable the notifier looper

Type: null or boolean

Default: null


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

period of the notifier looper in seconds

Type: null or signed integer or floating point number

Default: null


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

phase of the notifier looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.necrork.switch

Name of the necrork switch

Type: null or string

Default: null


services.nix-ci.production.leader.config.necrork.timeout

How long after last hearing from this switch, nodes should consider it dead

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

Default: null


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

Base url of the necrork server

Type: null or string

Default: null


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

Turn on promotional builds

Type: null or boolean

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-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 signed integer

Default: null


services.nix-ci.production.leader.config.worker-alarmer

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.leader.config.worker-alarmer.enable

enable the worker-alarmer looper

Type: null or boolean

Default: null


services.nix-ci.production.leader.config.worker-alarmer.period

period of the worker-alarmer looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.leader.config.worker-alarmer.phase

phase of the worker-alarmer looper in seconds

Type: null or signed integer or floating point number

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.*.oneshot

This option has no description.

Type: null or boolean

Default: null


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

Whether to enable NixCI Leader Server.

Type: boolean

Default: false

Example: true


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.web-hosts

The host to serve web requests on

Type: list of string

Default: [ ]

Example: "nix-ci.com"


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

Hosts to mirror web requests to

Type: attribute set of string

Default: { }

Example: { staging = "staging.nix-ci.com"; }


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

Working directory of the leader

Type: string

Default: "/www/nix-ci/production/leader/"