NixOS Options List

Table of Contents

Option List

_module.args

Description

Additional arguments passed to each module in addition to ones like lib, config, and pkgs, modulesPath.

This option is also available to all submodules. Submodules do not inherit args from their parent module, nor do they provide args to their parent module or sibling submodules. The sole exception to this is the argument name which is provided by parent modules to a submodule and contains the attribute name the submodule is bound to, or a unique generated name if it is not bound to an attribute.

Some arguments are already passed by default, of which the following cannot be changed with this option:

  • lib: The nixpkgs library.

  • config: The results of all options after merging the values from all modules together.

  • options: The options declared in all modules.

  • specialArgs: The specialArgs argument passed to evalModules.

  • All attributes of specialArgs

    Whereas option values can generally depend on other option values thanks to laziness, this does not apply to imports, which must be computed statically before anything else.

    For this reason, callers of the module system can provide specialArgs which are available during import resolution.

    For NixOS, specialArgs includes modulesPath, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of the nixpkgs or NixOS directories.

    { modulesPath, ... }: {
      imports = [
        (modulesPath + "/profiles/minimal.nix")
      ];
    }

For NixOS, the default value for this option includes at least this argument:

  • pkgs: The nixpkgs package set according to the nixpkgs.pkgs option.

Type

lazy attribute set of raw value

Declared by

<lib/modules.nix>

basement.enableAgenix

Description

decrypt encrypted secrets using agenix

Type

boolean

Default

True

Declared by

<nixos-modules/secrets.nix>

basement.healthchecks.enable

Description

Whether to enable heathchecks.io monitoring.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/healthchecks/default.nix>

basement.healthchecks.exclude

Description

Names of systemd units that should not be monitored (this is ownly used for the warning)

Type

list of string

Default

[]

Declared by

<nixos-modules/healthchecks/default.nix>

basement.healthchecks.providerFunctions

Description

None

Type

list of function that evaluates to a(n) function that evaluates to a(n) package

Default

[]

Declared by

<nixos-modules/healthchecks/default.nix>

basement.healthchecks.providers.healthchecks-io.enable

Description

Whether to enable healthchecks.io healthcheck provider.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/healthchecks/providers/healthchecks-io.nix>

basement.healthchecks.providers.healthchecks-io.services

Description

Healthchecks.io IDs or ping URLs

Type

attribute set of Concatenated string

Default

{}

Declared by

<nixos-modules/healthchecks/providers/healthchecks-io.nix>

basement.healthchecks.providers.prometheus.address

Description

Address to serve the prometheus exporter on (go format)

Type

string

Default

127.0.0.1:9000

Declared by

<nixos-modules/healthchecks/providers/prometheus.nix>

basement.healthchecks.providers.prometheus.enable

Description

Whether to enable prometheus healthcheck provider.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/healthchecks/providers/prometheus.nix>

basement.healthchecks.providers.prometheus.stateDir

Description

None

Type

string

Default

/var/lib/healthchecks/prometheus

Declared by

<nixos-modules/healthchecks/providers/prometheus.nix>

basement.healthchecks.services

Description

Names of systemd units that should be monitored

Type

list of string

Default

[]

Declared by

<nixos-modules/healthchecks/default.nix>

basement.netboot

Description

Configuration of a nix-basement netboot client.

Type

submodule

Default

{}

Example

{enable = true; uid = d2:ed:80:67:e1:5f; }

Declared by

<nixos-modules/services/netboot/default.nix>

basement.netboot.enable

Description

Whether to enable Enables nix-basement netboot client configuration.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/services/netboot/default.nix>

basement.netboot.isRpi

Description

is this a raspberry pi?

Type

boolean

Default

False

Declared by

<nixos-modules/services/netboot/default.nix>

basement.netboot.uid

Description

On a UEFI/BIOS system, the MAC Address of the PXEing interface. On a Raspberry Pi, its Serial. To get a RPi’s Serial run

cat /proc/cpuinfo | grep Serial | tail -c 9

on it.

Type

string

Example

d2:ed:80:67:e1:5f

Declared by

<nixos-modules/services/netboot/default.nix>

basement.presets.common

Description

Whether to enable Default settings for any kind of system.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/presets/common.nix>

basement.presets.darwinvm

Description

Preset for VMs booted by the linuxvm darwinModule

Type

boolean

Default

False

Declared by

<nixos-modules/presets/darwinvm.nix>

basement.presets.server

Description

Whether to enable Default settings for servers.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/presets/server.nix>

basement.services.docker.enable

Description

Whether to enable the docker container engine.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/services/docker.nix>

basement.services.gitlab-runner.commonFlags

Description

Flags to add to all runners

Type

list of string

Default

[]

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.commonTags

Description

Tags to add to all runners

Type

list of string

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.concurrentJobs

Description

Maximum number of jobs to run concurrently

Type

signed integer

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.configs

Description

GitLab Runner regsitration configurations

Type

attribute set of submodule

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.configs.<name>.addNixRunner

Description

Add an additional runner that uses the nix daemon

Type

boolean

Default

True

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.configs.<name>.forwardDockerSocket

Description

Allow jobs to access the host’s docker daemon

Type

boolean

Default

False

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.configs.<name>.registrationConfigFile

Description

GitLab Runner registration configuration file

basement.services.gitlab-runner.configs.<name>.tags

Description

GitLab Runner tags

Type

list of Concatenated string

Default

[]

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.configs.<name>.useLocalCache

Description

Use a local cache for the runner (disable this if you use S3 or some other remote cache)

Type

boolean

Default

True

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.enable

Description

Whether to enable GitLab runner.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.gitlab-runner.namePrefix

Description

Prefix for the runner name

Type

string

Default

``

Declared by

<nixos-modules/services/gitlab-runner.nix>

basement.services.k3s.clusterCIDR

Description

IP range for pods in the cluster

Type

string

Default

10.12.0.0/16

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.clusterDNS

Description

IP of the CoreDNS service (must be within serviceCIDR)

Type

string

Default

10.13.0.10

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.dns.nameservers

Description

IPs of the upstream DNS server for CoreDNS

Type

list of string

Default

['8.8.8.8', '8.8.4.4']

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.dns.searchPath

Description

Upstream DNS search path

Type

string

Default

``

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.docker

Description

Whether to use docker instead of containerd

Type

boolean

Default

False

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.enable

Description

Whether to enable customized k3s module.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.extraFlags

Description

Additional flags to pass to k3s

Type

list of string

Default

[]

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.maxPods

Description

Maximum number of pods that can be run on this node

Type

signed integer

Default

110

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.nodeIp

Description

IP that this machine can be reached on by other nodes

Type

string

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.role

Description

Role of this node. Either server or agent

Type

one of "server", "agent"

Default

server

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.serverAddr

Description

IP of the k3s server to connect to (agent only)

Type

string

Declared by

<nixos-modules/services/k3s.nix>

basement.services.k3s.serviceCIDR

Description

IP range for services in the cluster

Type

string

Default

10.13.0.0/16

Declared by

<nixos-modules/services/k3s.nix>

basement.services.netboot-host

Description

This is the server component of the nix-basement netboot system.

To use it, your DHCP Server needs to have PXE configured to boot

  • undionly for X86 BIOS systems

  • snponly.efi for X86-64 UEFI systems

of the tftp server running as part of this module.

The following dnsmasq(1) configuration is known to work (with 192.168.3.1 as the netboot server)

dhcp-boot=undionly,192.168.3.1
dhcp-vendorclass=BIOS,PXEClient:Arch:00000
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
dhcp-vendorclass=UEFI,PXEClient:Arch:00007
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009
dhcp-boot=net:UEFI,snponly.efi,192.168.3.1
dhcp-boot=net:UEFI64,snponly.efi,192.168.3.1
pxe-prompt="nix-basement netboot", 0
pxe-service=X86PC, "biosboot", undionly,192.168.3.1
pxe-service=X86PC, "biosboot", unionly,192.168.3.1
pxe-service=X86-64_EFI, "uefi boot", snponly.efi,192.168.3.1
pxe-service=X86-64_EFI, "uefi boot", snponly.efi,192.168.3.1
pxe-service=0,"other boot",192.168.3.1

The netboot server will do the following:

  • Build the nixos configurations in into it’s store

  • Create a directory with all configurations and supplementary ipxe configuration

  • Make this directory accessible via HTTP and TFTP (ipxe boots via HTTP)

  • Make the nix store accessible via NFS

Clients will boot via PXE, get their kernel/initramfs via HTTP (or TFTP on Raspberry Pis) and mount the NFS Store read only.

Type

submodule

Default

{}

Example

{configurations = [ inputs.self.nixosConfigurations.host1 ]; enable = true; }

Declared by

<nixos-modules/services/netboot/default.nix>

basement.services.netboot-host.configurations

Description

All the nixosConfigurations that should be bootable all configurations have to have a networking.hostName and a basement.netboot.uid

Type

list of raw value

Declared by

<nixos-modules/services/netboot/default.nix>

basement.services.netboot-host.enable

Description

Whether to enable Enables the nix-basement netboot server.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/services/netboot/default.nix>

basement.services.netboot-host.nfsRanges

Description

IP ranges the NFS Server should expose the nix-store on

Type

unspecified

Default

['*']

Example

['192.168.3.0/24']

Declared by

<nixos-modules/services/netboot/default.nix>

basement.services.ssh.enable

Description

Whether to enable OpenSSH server and key management.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/services/ssh.nix>

basement.services.ssh.users

Description

None

Type

attribute set of submodule

Default

{}

Declared by

<nixos-modules/services/ssh.nix>

basement.services.ssh.users.<name>.authorizedKeys

Description

List of additional public keys that can log in with this account

Type

list of string

Default

[]

Declared by

<nixos-modules/services/ssh.nix>

basement.services.ssh.users.<name>.authorizedUsers

Description

List of users in authorizedKeys.nix who should be able to log in with this account

Type

list of string

Default

[]

Declared by

<nixos-modules/services/ssh.nix>

basement.services.weblate.address

Description

Address that weblate should listen on

Type

string

Default

127.0.0.1

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.backup.enable

Description

Enable automatic backups

Type

boolean

Default

True

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.backup.startAt

Description

Backup schedule in systemd format

Type

string

Default

config.services.postgresqlBackup.startAt

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.backup.target

Description

Target directory for backups

Type

string

Default

/var/backup

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.domain

Description

Domain under which the service will be available

Type

string

Example

weblate.example.com

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.enable

Description

Whether to enable weblate web-based translation tool.

Type

boolean

Default

False

Example

True

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.envFile

Description

Path to the file with weblate environment variables

Type

path or string

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.path

Description

Path where weblate stores its data

Type

string

Default

/var/lib/weblate

Declared by

<nixos-modules/services/weblate.nix>

basement.services.weblate.port

Description

Port that weblate should listen on

Type

signed integer

Default

9592

Declared by

<nixos-modules/services/weblate.nix>

secrets

Description

None

Type

unspecified

Declared by

<nixos-modules/secrets.nix>