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.cache.bind-host

The host to bind the server on

Type: null or string

Default: null


services.nix-ci.production.cache.config

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.cache.config.access-precision

Minimal differenc for an access time update. Increase this to reduce database load at the cost of less accurate access times.

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.admin-notification-command

Admin notification command

Type: null or string

Default: null


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

This option has no description.

Type: submodule

Default: { }


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

This option has no description.

Type: submodule

Default: { }


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

The base URL of the NixCI leader to for auth

Type: null or string

Default: null


services.nix-ci.production.cache.config.auth.static

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.cache.config.auth.static.users

A map of user -> password combinations that are allowed to read from the cache, but not write

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

Default: null


services.nix-ci.production.cache.config.auth.static.users.<name>.password

The password in plain text

Type: null or string

Default: null


services.nix-ci.production.cache.config.auth.static.users.<name>.password-file

A file containing the password

Type: null or string

Default: null


services.nix-ci.production.cache.config.auth.static.users.<name>.read

Whether this user is allowed to read from the cache

Type: null or (list of string) or value "all" (singular enum)

Default: null


services.nix-ci.production.cache.config.auth.static.users.<name>.write

Whether this user is allowed to write to the cache

Type: null or string or value "global" (singular enum)

Default: null


services.nix-ci.production.cache.config.chunk-size

The chunk size to use when uploading/downloading files (in bytes)

Type: null or signed integer

Default: null


services.nix-ci.production.cache.config.chunks-per-page

The number of chunks to fetch in each page for fetches

Type: null or signed integer

Default: null


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

The database

Type: null or string

Default: null


services.nix-ci.production.cache.config.garbage-collector

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.cache.config.garbage-collector.age

Only GC paths registered longer than this much time ago

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.garbage-collector.delay

Delay between garbage collection deletions. Increase to GC more slowly for less internal load.

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.garbage-collector.enable

enable the garbage-collector looper

Type: null or boolean

Default: null


services.nix-ci.production.cache.config.garbage-collector.goal-size

The goal size for the cache. No GC will be performed until this size is exceeded

Type: null or string

Default: null


services.nix-ci.production.cache.config.garbage-collector.period

period of the garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.garbage-collector.phase

phase of the garbage-collector looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.garbage-collector.unused

Only GC paths that have not been used for this much time

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.host-preference

Host preference for binding to serve requests

Type: null or string

Default: null


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

Minimal severity of log messages

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

Default: null


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

The port to serve requests on

Type: null or signed integer

Default: null


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

This option has no description.

Type: submodule

Default: { }


services.nix-ci.production.cache.config.processor.delay

Delay between processing nars. Increase this to process more slowly for less internal load.

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.processor.enable

enable the processor looper

Type: null or boolean

Default: null


services.nix-ci.production.cache.config.processor.period

period of the processor looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.config.processor.phase

phase of the processor looper in seconds

Type: null or signed integer or floating point number

Default: null


services.nix-ci.production.cache.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.cache.config.watchdog-notifier

This option has no description.

Type: submodule

Default: { }


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

enable the watchdog-notifier looper

Type: null or boolean

Default: null


services.nix-ci.production.cache.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.cache.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.cache.config.worker-queue-size

The number of workers to use for burstier performance. Make this bigger for better worst-case performance, at a cost of more memory usage.

Type: null or signed integer

Default: null


services.nix-ci.production.cache.enable

Enable the NixCI Cache

Type: boolean

Default: true

Example: false


services.nix-ci.production.cache.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.cache.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.cache.hosts

The host to serve requests on

Type: list of string

Default: [ ]

Example: "cache.nix-ci.com"


services.nix-ci.production.cache.openFirewall

Whether to open the specified ports in the firewall

Type: boolean

Default: false


services.nix-ci.production.cache.recommendedOSSettings

Enable recommended OS settings.

Type: boolean

Default: true

Example: false


services.nix-ci.production.cache.state-dir

State directory of the cache, as a subdirectory

Type: null or string

Default: "production/cache/"


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

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

Type: string

Default: "nix-ci-production-cache"