# confctl-options.nix 8 2024-05-07 master ## NAME `confctl-options.nix` - confctl configuration documentation ## DESCRIPTION This document describes Nix options, which can be used in confctl(8) cluster configurations to configure `confctl` and machines within the cluster. ## CONFCTL SETTINGS The following `confctl` settings can be configured in `configs/confctl.nix` within the deployment configuration directory: `confctl.buildGenerations.max` The maximum number of build generations to be kept. This is the default value, which can be overriden per host. *Type:* signed integer *Default:* `30` *Declared by:* `` `confctl.buildGenerations.maxAge` Delete build generations older than `confctl.buildGenerations.maxAge` seconds. Old generations are deleted even if `confctl.buildGenerations.max` is not reached. This is the default value, which can be overriden per host. *Type:* signed integer *Default:* `15552000` *Declared by:* `` `confctl.buildGenerations.min` The minimum number of build generations to be kept. This is the default value, which can be overriden per host. *Type:* signed integer *Default:* `5` *Declared by:* `` `confctl.hostGenerations.collectGarbage` Run nix-collect-garbage *Type:* boolean *Default:* `true` *Declared by:* `` `confctl.hostGenerations.max` The maximum number of generations to be kept on machines. This is the default value, which can be overriden per host. *Type:* signed integer *Default:* `30` *Declared by:* `` `confctl.hostGenerations.maxAge` Delete generations older than `confctl.hostGenerations.maxAge` seconds from machines. Old generations are deleted even if `confctl.hostGenerations.max` is not reached. This is the default value, which can be overriden per host. *Type:* signed integer *Default:* `15552000` *Declared by:* `` `confctl.hostGenerations.min` The minimum number of generations to be kept on machines. This is the default value, which can be overriden per host. *Type:* signed integer *Default:* `5` *Declared by:* `` `confctl.list.columns` Configure which columns should `confctl ls` show. Names correspond to options within `cluster.` module. *Type:* list of string *Default:* `[ "name" "spin" "host.fqdn" ]` *Declared by:* `` `confctl.nix.maxJobs` Maximum number of build jobs, passed to `nix-build` commands. *Type:* null or signed integer or value "auto" (singular enum) *Default:* `null` *Declared by:* `` `confctl.nix.nixPath` List of extra paths added to environment variable `NIX_PATH` for all `nix-build` invokations *Type:* list of string *Default:* `[ ]` *Declared by:* `` ## SOFTWARE PIN CHANNELS The following `confctl` settings for software pin channels can be configured in `configs/swpins.nix` within the deployment configuration directory: `confctl.swpins.channels` Software pin channels *Type:* attribute set of attribute set of (submodule) *Default:* `{ }` *Declared by:* `` `confctl.swpins.channels...directory` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `confctl.swpins.channels...directory.path` Absolute path to the directory *Type:* string *Default:* `null` *Example:* `"/opt/my-swpin"` *Declared by:* `` `confctl.swpins.channels...git` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `confctl.swpins.channels...git.fetchSubmodules` Fetch git submodules *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.channels...git.update.auto` When enabled, the pin is automatically updated to `ref` before building machines. *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.channels...git.update.interval` Number of seconds from the last update to trigger the next auto-update, if auto-update is enabled. *Type:* signed integer *Default:* `3600` *Declared by:* `` `confctl.swpins.channels...git.update.ref` Implicit git reference to use for both manual and automatic updates *Type:* null or string *Default:* `null` *Example:* `"refs/heads/master"` *Declared by:* `` `confctl.swpins.channels...git.url` URL of the git repository *Type:* string *Default:* `null` *Example:* `"https://github.com/vpsfreecz/vpsadminos"` *Declared by:* `` `confctl.swpins.channels...git-rev` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `confctl.swpins.channels...git-rev.fetchSubmodules` Fetch git submodules *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.channels...git-rev.update.auto` When enabled, the pin is automatically updated to `ref` before building machines. *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.channels...git-rev.update.interval` Number of seconds from the last update to trigger the next auto-update, if auto-update is enabled. *Type:* signed integer *Default:* `3600` *Declared by:* `` `confctl.swpins.channels...git-rev.update.ref` Implicit git reference to use for both manual and automatic updates *Type:* null or string *Default:* `null` *Example:* `"refs/heads/master"` *Declared by:* `` `confctl.swpins.channels...git-rev.url` URL of the git repository *Type:* string *Default:* `null` *Example:* `"https://github.com/vpsfreecz/vpsadminos"` *Declared by:* `` `confctl.swpins.channels...type` This option has no description. *Type:* one of "directory", "git", "git-rev" *Default:* `"git"` *Declared by:* `` `confctl.swpins.core.channels` List of channels from `confctl.swpins.channels` to use for core swpins *Type:* list of string *Default:* `[ ]` *Declared by:* `` `confctl.swpins.core.pins` Core software packages used internally by confctl It has to contain package `nixpkgs`, which is used to resolve other software pins from channels or cluster machines. *Type:* attribute set of (submodule) *Default:* `{ nixpkgs = { git-rev = { update = { auto = true; interval = 2592000; ref = "refs/heads/nixos-unstable"; }; url = "https://github.com/NixOS/nixpkgs"; }; type = "git-rev"; }; }` *Declared by:* `` `confctl.swpins.core.pins..directory` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `confctl.swpins.core.pins..directory.path` Absolute path to the directory *Type:* string *Default:* `null` *Example:* `"/opt/my-swpin"` *Declared by:* `` `confctl.swpins.core.pins..git` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `confctl.swpins.core.pins..git.fetchSubmodules` Fetch git submodules *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.core.pins..git.update.auto` When enabled, the pin is automatically updated to `ref` before building machines. *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.core.pins..git.update.interval` Number of seconds from the last update to trigger the next auto-update, if auto-update is enabled. *Type:* signed integer *Default:* `3600` *Declared by:* `` `confctl.swpins.core.pins..git.update.ref` Implicit git reference to use for both manual and automatic updates *Type:* null or string *Default:* `null` *Example:* `"refs/heads/master"` *Declared by:* `` `confctl.swpins.core.pins..git.url` URL of the git repository *Type:* string *Default:* `null` *Example:* `"https://github.com/vpsfreecz/vpsadminos"` *Declared by:* `` `confctl.swpins.core.pins..git-rev` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `confctl.swpins.core.pins..git-rev.fetchSubmodules` Fetch git submodules *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.core.pins..git-rev.update.auto` When enabled, the pin is automatically updated to `ref` before building machines. *Type:* boolean *Default:* `false` *Declared by:* `` `confctl.swpins.core.pins..git-rev.update.interval` Number of seconds from the last update to trigger the next auto-update, if auto-update is enabled. *Type:* signed integer *Default:* `3600` *Declared by:* `` `confctl.swpins.core.pins..git-rev.update.ref` Implicit git reference to use for both manual and automatic updates *Type:* null or string *Default:* `null` *Example:* `"refs/heads/master"` *Declared by:* `` `confctl.swpins.core.pins..git-rev.url` URL of the git repository *Type:* string *Default:* `null` *Example:* `"https://github.com/vpsfreecz/vpsadminos"` *Declared by:* `` `confctl.swpins.core.pins..type` This option has no description. *Type:* one of "directory", "git", "git-rev" *Default:* `"git"` *Declared by:* `` ## MACHINE CONFIGURATION The following options can be configured in per-machine `module.nix` files within the deployment configuration directory, i.e. `cluster//module.nix`: `cluster..addresses` IP addresses *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `cluster..addresses.primary` Default address other machines should use to connect to this machine Defaults to the first IPv4 address if not set *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `cluster..addresses.primary.address` IPv4 address *Type:* string *Default:* `null` *Declared by:* `` `cluster..addresses.primary.prefix` Prefix length *Type:* positive integer, meaning >0 *Default:* `null` *Declared by:* `` `cluster..addresses.primary.string` Address with prefix as string *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..addresses.v4` List of IPv4 addresses this machine responds to *Type:* list of (submodule) *Default:* `[ ]` *Declared by:* `` `cluster..addresses.v4.*.address` IPv4 address *Type:* string *Default:* `null` *Declared by:* `` `cluster..addresses.v4.*.prefix` Prefix length *Type:* positive integer, meaning >0 *Default:* `null` *Declared by:* `` `cluster..addresses.v4.*.string` Address with prefix as string *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..addresses.v6` List of IPv6 addresses this machine responds to *Type:* list of (submodule) *Default:* `[ ]` *Declared by:* `` `cluster..addresses.v6.*.address` IPv6 address *Type:* string *Default:* `null` *Declared by:* `` `cluster..addresses.v6.*.prefix` Prefix length *Type:* positive integer, meaning >0 *Default:* `null` *Declared by:* `` `cluster..addresses.v6.*.string` Address with prefix as string *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..buildAttribute` Path to the attribute in machine system config that should be built For example, `[ "system" "build" "toplevel" ]` will select attribute `config.system.build.toplevel`. *Type:* list of string *Default:* `[ "system" "build" "toplevel" ]` *Declared by:* `` `cluster..buildGenerations.max` The maximum number of build generations to be kept on the build machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..buildGenerations.maxAge` Delete build generations older than `cluster..buildGenerations.maxAge` seconds from the build machine. Old generations are deleted even if `cluster..buildGenerations.max` is not reached. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..buildGenerations.min` The minimum number of build generations to be kept on the build machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..carrier.enable` Whether to enable This machine is a carrier for other machines. *Type:* boolean *Default:* `false` *Example:* `true` *Declared by:* `` `cluster..carrier.machines` List of carried machines *Type:* list of (submodule) *Default:* `[ ]` *Declared by:* `` `cluster..carrier.machines.*.alias` Alias for carried machine name *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.buildAttribute` Path to the attribute in machine system config that should be built For example, `[ "system" "build" "toplevel" ]` will select attribute `config.system.build.toplevel`. *Type:* list of string *Default:* `[ "system" "build" "toplevel" ]` *Declared by:* `` `cluster..carrier.machines.*.buildGenerations.max` The maximum number of build generations to be kept on the build machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.buildGenerations.maxAge` Delete build generations older than `cluster..carrier.machines.*.buildGenerations.maxAge` seconds from the build machine. Old generations are deleted even if `cluster..carrier.machines.*.buildGenerations.max` is not reached. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.buildGenerations.min` The minimum number of build generations to be kept on the build machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.extraModules` A list of additional NixOS modules to be imported for this machine *Type:* list of path *Default:* `[ ]` *Declared by:* `` `cluster..carrier.machines.*.hostGenerations.max` The maximum number of generations to be kept on the machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.hostGenerations.maxAge` Delete generations older than `cluster..carrier.machines.*.hostGenerations.maxAge` seconds from the machine. Old generations are deleted even if `cluster..carrier.machines.*.hostGenerations.max` is not reached. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.hostGenerations.min` The minimum number of generations to be kept on the machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.labels` Optional user-defined labels to classify the machine *Type:* attribute set *Default:* `{ }` *Declared by:* `` `cluster..carrier.machines.*.machine` Machine name *Type:* string *Default:* `null` *Declared by:* `` `cluster..carrier.machines.*.tags` Optional user-defined tags to classify the machine *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.builderCommands` Check commands run on the build machine *Type:* list of (submodule) *Default:* `[ ]` *Example:* `[ { description = "ping"; command = [ "ping" "-c1" "{host.fqdn}" ]; } ]` *Declared by:* `` `cluster..healthChecks.builderCommands.*.command` Command and its arguments It is possible to access machine attributes as from CLI using curly brackets. For example, {host.fqdn} would be replaced by machine FQDN. See confctl ls -L for a list of available attributes. *Type:* list of string *Default:* `null` *Declared by:* `` `cluster..healthChecks.builderCommands.*.cooldown` Number of seconds in between check attempts *Type:* unsigned integer, meaning >=0 *Default:* `3` *Declared by:* `` `cluster..healthChecks.builderCommands.*.description` Command description *Type:* string *Default:* `""` *Declared by:* `` `cluster..healthChecks.builderCommands.*.exitStatus` Expected exit status *Type:* unsigned integer, meaning >=0 *Default:* `0` *Declared by:* `` `cluster..healthChecks.builderCommands.*.standardError.exclude` String that must not be included in standard error *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.builderCommands.*.standardError.include` String that must be included in standard error *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.builderCommands.*.standardError.match` Standard error must match this string *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..healthChecks.builderCommands.*.standardOutput.exclude` Strings that must not be included in standard output *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.builderCommands.*.standardOutput.include` Strings that must be included in standard output *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.builderCommands.*.standardOutput.match` Standard output must match this string *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..healthChecks.builderCommands.*.timeout` Max number of seconds to wait for the check to pass *Type:* unsigned integer, meaning >=0 *Default:* `60` *Declared by:* `` `cluster..healthChecks.machineCommands` Check commands run on the target machine Note that the commands have to be available on the machine. *Type:* list of (submodule) *Default:* `[ ]` *Example:* `[ { description = "curl"; command = [ "curl" "-s" "http://localhost:80" ]; } ]` *Declared by:* `` `cluster..healthChecks.machineCommands.*.command` Command and its arguments It is possible to access machine attributes as from CLI using curly brackets. For example, {host.fqdn} would be replaced by machine FQDN. See confctl ls -L for a list of available attributes. *Type:* list of string *Default:* `null` *Declared by:* `` `cluster..healthChecks.machineCommands.*.cooldown` Number of seconds in between check attempts *Type:* unsigned integer, meaning >=0 *Default:* `3` *Declared by:* `` `cluster..healthChecks.machineCommands.*.description` Command description *Type:* string *Default:* `""` *Declared by:* `` `cluster..healthChecks.machineCommands.*.exitStatus` Expected exit status *Type:* unsigned integer, meaning >=0 *Default:* `0` *Declared by:* `` `cluster..healthChecks.machineCommands.*.standardError.exclude` String that must not be included in standard error *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.machineCommands.*.standardError.include` String that must be included in standard error *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.machineCommands.*.standardError.match` Standard error must match this string *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..healthChecks.machineCommands.*.standardOutput.exclude` Strings that must not be included in standard output *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.machineCommands.*.standardOutput.include` Strings that must be included in standard output *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..healthChecks.machineCommands.*.standardOutput.match` Standard output must match this string *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..healthChecks.machineCommands.*.timeout` Max number of seconds to wait for the check to pass *Type:* unsigned integer, meaning >=0 *Default:* `60` *Declared by:* `` `cluster..healthChecks.systemd.enable` Enable systemd checks, enabled by default *Type:* boolean *Default:* `true` *Declared by:* `` `cluster..healthChecks.systemd.systemProperties` Check systemd manager properties reported by systemctl show *Type:* list of (submodule) *Default:* `[ { property = "SystemState"; value = "running"; } ]` *Declared by:* `` `cluster..healthChecks.systemd.systemProperties.*.cooldown` Number of seconds in between check attempts *Type:* unsigned integer, meaning >=0 *Default:* `3` *Declared by:* `` `cluster..healthChecks.systemd.systemProperties.*.property` systemd property name *Type:* string *Default:* `null` *Declared by:* `` `cluster..healthChecks.systemd.systemProperties.*.timeout` Max number of seconds to wait for the check to pass *Type:* unsigned integer, meaning >=0 *Default:* `60` *Declared by:* `` `cluster..healthChecks.systemd.systemProperties.*.value` value to be checked *Type:* string *Default:* `null` *Declared by:* `` `cluster..healthChecks.systemd.unitProperties` Check systemd unit properties reported by systemctl show *Type:* attribute set of list of (submodule) *Default:* `{ }` *Example:* `{ "firewall.service" = [ { property = "ActiveState"; value = "active"; } ]; }` *Declared by:* `` `cluster..healthChecks.systemd.unitProperties..*.cooldown` Number of seconds in between check attempts *Type:* unsigned integer, meaning >=0 *Default:* `3` *Declared by:* `` `cluster..healthChecks.systemd.unitProperties..*.property` systemd property name *Type:* string *Default:* `null` *Declared by:* `` `cluster..healthChecks.systemd.unitProperties..*.timeout` Max number of seconds to wait for the check to pass *Type:* unsigned integer, meaning >=0 *Default:* `60` *Declared by:* `` `cluster..healthChecks.systemd.unitProperties..*.value` value to be checked *Type:* string *Default:* `null` *Declared by:* `` `cluster..host` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `cluster..host.domain` Host domain *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..host.fqdn` Host FQDN *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..host.fullDomain` Domain including location, i.e. FQDN without host name *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..host.location` Host location domain *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..host.name` Host name *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..host.target` Address/host to which the configuration is deployed to Set to null if the machine is not deployable, e.g. when it is only used as a carried machine. *Type:* null or string *Default:* `null` *Declared by:* `` `cluster..hostGenerations.collectGarbage` Run nix-collect-garbage *Type:* null or boolean *Default:* `null` *Declared by:* `` `cluster..hostGenerations.max` The maximum number of generations to be kept on the machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..hostGenerations.maxAge` Delete generations older than `cluster..hostGenerations.maxAge` seconds from the machine. Old generations are deleted even if `cluster..hostGenerations.max` is not reached. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..hostGenerations.min` The minimum number of generations to be kept on the machine. *Type:* null or signed integer *Default:* `null` *Declared by:* `` `cluster..labels` Optional user-defined labels to classify the machine *Type:* attribute set *Default:* `{ }` *Declared by:* `` `cluster..managed` Determines whether the machine is managed using confctl or not By default, NixOS and vpsAdminOS machines are managed by confctl. *Type:* null or boolean *Default:* `null` *Declared by:* `` `cluster..netboot.enable` Whether to enable Include this system on pxe servers. *Type:* boolean *Default:* `false` *Example:* `true` *Declared by:* `` `cluster..netboot.macs` List of MAC addresses for iPXE node auto-detection *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..nix.nixPath` List of extra paths added to environment variable `NIX_PATH` for `nix-build` *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..spin` OS type *Type:* one of "openvz", "nixos", "vpsadminos", "other" *Default:* `null` *Declared by:* `` `cluster..swpins.channels` List of channels from `confctl.swpins.channels` to use on this machine *Type:* list of string *Default:* `[ ]` *Declared by:* `` `cluster..swpins.pins` List of swpins for this machine, which can supplement or override swpins from configured channels *Type:* attribute set of (submodule) *Default:* `{ }` *Declared by:* `` `cluster..swpins.pins..directory` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `cluster..swpins.pins..directory.path` Absolute path to the directory *Type:* string *Default:* `null` *Example:* `"/opt/my-swpin"` *Declared by:* `` `cluster..swpins.pins..git` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `cluster..swpins.pins..git.fetchSubmodules` Fetch git submodules *Type:* boolean *Default:* `false` *Declared by:* `` `cluster..swpins.pins..git.update.auto` When enabled, the pin is automatically updated to `ref` before building machines. *Type:* boolean *Default:* `false` *Declared by:* `` `cluster..swpins.pins..git.update.interval` Number of seconds from the last update to trigger the next auto-update, if auto-update is enabled. *Type:* signed integer *Default:* `3600` *Declared by:* `` `cluster..swpins.pins..git.update.ref` Implicit git reference to use for both manual and automatic updates *Type:* null or string *Default:* `null` *Example:* `"refs/heads/master"` *Declared by:* `` `cluster..swpins.pins..git.url` URL of the git repository *Type:* string *Default:* `null` *Example:* `"https://github.com/vpsfreecz/vpsadminos"` *Declared by:* `` `cluster..swpins.pins..git-rev` This option has no description. *Type:* null or (submodule) *Default:* `null` *Declared by:* `` `cluster..swpins.pins..git-rev.fetchSubmodules` Fetch git submodules *Type:* boolean *Default:* `false` *Declared by:* `` `cluster..swpins.pins..git-rev.update.auto` When enabled, the pin is automatically updated to `ref` before building machines. *Type:* boolean *Default:* `false` *Declared by:* `` `cluster..swpins.pins..git-rev.update.interval` Number of seconds from the last update to trigger the next auto-update, if auto-update is enabled. *Type:* signed integer *Default:* `3600` *Declared by:* `` `cluster..swpins.pins..git-rev.update.ref` Implicit git reference to use for both manual and automatic updates *Type:* null or string *Default:* `null` *Example:* `"refs/heads/master"` *Declared by:* `` `cluster..swpins.pins..git-rev.url` URL of the git repository *Type:* string *Default:* `null` *Example:* `"https://github.com/vpsfreecz/vpsadminos"` *Declared by:* `` `cluster..swpins.pins..type` This option has no description. *Type:* one of "directory", "git", "git-rev" *Default:* `"git"` *Declared by:* `` `cluster..tags` Optional user-defined tags to classify the machine *Type:* list of string *Default:* `[ ]` *Declared by:* `` ## SERVICES The following options can be configured in per-machine `config.nix` files within the deployment configuration directory, i.e. `cluster//config.nix`, or any other imported Nix file. These options are added by `confctl` in addition to options from `NixOS` or `vpsAdminOS`. ## SEE ALSO confctl(8) ## BUGS Report bugs to https://github.com/vpsfreecz/confctl/issues. ## ABOUT `confctl` was originally developed for the purposes of [vpsFree.cz](https://vpsfree.org) and its cluster [configuration](https://github.com/vpsfreecz/vpsfree-cz-configuration).