{"_module.args": {"declarations": ["lib/modules.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional arguments passed to each module in addition to ones\nlike `lib`, `config`,\nand `pkgs`, `modulesPath`.\n\nThis option is also available to all submodules. Submodules do not\ninherit args from their parent module, nor do they provide args to\ntheir parent module or sibling submodules. The sole exception to\nthis is the argument `name` which is provided by\nparent modules to a submodule and contains the attribute name\nthe submodule is bound to, or a unique generated name if it is\nnot bound to an attribute.\n\nSome arguments are already passed by default, of which the\nfollowing *cannot* be changed with this option:\n- {var}`lib`: The nixpkgs library.\n- {var}`config`: The results of all options after merging the values from all modules together.\n- {var}`options`: The options declared in all modules.\n- {var}`specialArgs`: The `specialArgs` argument passed to `evalModules`.\n- All attributes of {var}`specialArgs`\n\n  Whereas option values can generally depend on other option values\n  thanks to laziness, this does not apply to `imports`, which\n  must be computed statically before anything else.\n\n  For this reason, callers of the module system can provide `specialArgs`\n  which are available during import resolution.\n\n  For NixOS, `specialArgs` includes\n  {var}`modulesPath`, which allows you to import\n  extra modules from the nixpkgs package tree without having to\n  somehow make the module aware of the location of the\n  `nixpkgs` or NixOS directories.\n  ```\n  { modulesPath, ... }: {\n    imports = [\n      (modulesPath + \"/profiles/minimal.nix\")\n    ];\n  }\n  ```\n\nFor NixOS, the default value for this option includes at least this argument:\n- {var}`pkgs`: The nixpkgs package set according to\n  the {option}`nixpkgs.pkgs` option.\n", "loc": ["_module", "args"], "readOnly": false, "type": "lazy attribute set of raw value"}, "appstream.enable": {"declarations": ["nixos/modules/config/appstream.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install files to support the\n[AppStream metadata specification](https://www.freedesktop.org/software/appstream/docs/index.html).\n", "loc": ["appstream", "enable"], "readOnly": false, "type": "boolean"}, "boot.bcache.enable": {"declarations": ["nixos/modules/tasks/bcache.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable bcache mount support.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["boot", "bcache", "enable"], "readOnly": false, "type": "boolean"}, "boot.bcachefs.package": {"declarations": ["nixos/modules/tasks/filesystems/bcachefs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bcachefs-tools"}, "description": "The bcachefs-tools package to use. This package should also provide a passthru 'kernelModule'\nattribute to build the out-of-tree kernel module.\n", "loc": ["boot", "bcachefs", "package"], "readOnly": false, "type": "package"}, "boot.binfmt.addEmulatedSystemsToNixSandbox": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add the {option}`boot.binfmt.emulatedSystems` to {option}`nix.settings.extra-platforms`.\nDisable this to use remote builders for those platforms, while allowing testing binaries locally.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["boot", "binfmt", "addEmulatedSystemsToNixSandbox"], "readOnly": false, "type": "boolean"}, "boot.binfmt.emulatedSystems": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of systems to emulate. Will also configure Nix to\nsupport your new systems.\nWarning: the builder can execute all emulated systems within the same build, which introduces impurities in the case of cross compilation.\n", "example": {"_type": "literalExpression", "text": "[\n  \"wasm32-wasi\"\n  \"x86_64-windows\"\n  \"aarch64-linux\"\n]"}, "loc": ["boot", "binfmt", "emulatedSystems"], "readOnly": false, "type": "list of (one of \"aarch64-linux\", \"aarch64_be-linux\", \"alpha-linux\", \"armv6l-linux\", \"armv7l-linux\", \"i386-linux\", \"i486-linux\", \"i586-linux\", \"i686-linux\", \"i686-windows\", \"loongarch64-linux\", \"mips-linux\", \"mips64-linux\", \"mips64-linuxabin32\", \"mips64el-linux\", \"mips64el-linuxabin32\", \"mipsel-linux\", \"powerpc-linux\", \"powerpc64-linux\", \"powerpc64le-linux\", \"riscv32-linux\", \"riscv64-linux\", \"s390x-linux\", \"sparc-linux\", \"sparc64-linux\", \"wasm32-wasi\", \"wasm64-wasi\", \"x86_64-linux\", \"x86_64-windows\")"}, "boot.binfmt.preferStaticEmulators": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use static emulators when available.\n\nThis enables the kernel to preload the emulator binaries when\nthe binfmt registrations are added, obviating the need to make\nthe emulator binaries available inside chroots and chroot-like\nsandboxes.\n", "loc": ["boot", "binfmt", "preferStaticEmulators"], "readOnly": false, "type": "boolean"}, "boot.binfmt.registrations": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra binary formats to register with the kernel.\nSee <https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html> for more details.\n", "loc": ["boot", "binfmt", "registrations"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.binfmt.registrations.<name>.fixBinary": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the interpreter file as soon as the\nregistration is loaded, rather than waiting for a\nrelevant file to be invoked.\n\nSee the description of the 'F' flag in the kernel docs\nfor more details.\n", "loc": ["boot", "binfmt", "registrations", "<name>", "fixBinary"], "readOnly": false, "type": "boolean"}, "boot.binfmt.registrations.<name>.interpreter": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "description": "The interpreter to invoke to run the program.\n\nNote that the actual registration will point to\n/run/binfmt/${name}, so the kernel interpreter length\nlimit doesn't apply.\n", "loc": ["boot", "binfmt", "registrations", "<name>", "interpreter"], "readOnly": false, "type": "absolute path"}, "boot.binfmt.registrations.<name>.magicOrExtension": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "description": "The magic number or extension to match on.", "loc": ["boot", "binfmt", "registrations", "<name>", "magicOrExtension"], "readOnly": false, "type": "string"}, "boot.binfmt.registrations.<name>.mask": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A mask to be ANDed with the byte sequence of the file before matching", "loc": ["boot", "binfmt", "registrations", "<name>", "mask"], "readOnly": false, "type": "null or string"}, "boot.binfmt.registrations.<name>.matchCredentials": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to launch with the credentials and security\ntoken of the binary, not the interpreter (e.g. setuid\nbit).\n\nSee the description of the 'C' flag in the kernel docs\nfor more details.\n\nImplies/requires openBinary = true.\n", "loc": ["boot", "binfmt", "registrations", "<name>", "matchCredentials"], "readOnly": false, "type": "boolean"}, "boot.binfmt.registrations.<name>.offset": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The byte offset of the magic number used for recognition.", "loc": ["boot", "binfmt", "registrations", "<name>", "offset"], "readOnly": false, "type": "null or signed integer"}, "boot.binfmt.registrations.<name>.openBinary": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to pass the binary to the interpreter as an open\nfile descriptor, instead of a path.\n", "loc": ["boot", "binfmt", "registrations", "<name>", "openBinary"], "readOnly": false, "type": "boolean"}, "boot.binfmt.registrations.<name>.preserveArgvZero": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to pass the original argv[0] to the interpreter.\n\nSee the description of the 'P' flag in the kernel docs\nfor more details;\n", "loc": ["boot", "binfmt", "registrations", "<name>", "preserveArgvZero"], "readOnly": false, "type": "boolean"}, "boot.binfmt.registrations.<name>.recognitionType": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "\"magic\""}, "description": "Whether to recognize executables by magic number or extension.", "loc": ["boot", "binfmt", "registrations", "<name>", "recognitionType"], "readOnly": false, "type": "one of \"magic\", \"extension\""}, "boot.binfmt.registrations.<name>.wrapInterpreterInShell": {"declarations": ["nixos/modules/system/boot/binfmt.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to wrap the interpreter in a shell script.\n\nThis allows a shell command to be set as the interpreter.\n", "loc": ["boot", "binfmt", "registrations", "<name>", "wrapInterpreterInShell"], "readOnly": false, "type": "boolean"}, "boot.blacklistedKernelModules": {"declarations": ["nixos/modules/system/boot/modprobe.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of names of kernel modules that should not be loaded\nautomatically by the hardware probing code. This can either be\na list of modules or an attrset. In an attrset, names that are\nset to `true` represent modules that will be blacklisted.\n", "example": {"_type": "literalExpression", "text": "[\n  \"cirrusfb\"\n  \"i2c_piix4\"\n]"}, "loc": ["boot", "blacklistedKernelModules"], "readOnly": false, "type": "(attribute set of boolean) or (list of string) convertible to it"}, "boot.bootspec.enableValidation": {"declarations": ["nixos/modules/system/activation/bootspec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the validation of bootspec documents for each build.\n      This will introduce Go in the build-time closure as we are relying on [Cuelang](https://cuelang.org/) for schema validation.\n      Enable this option if you want to ascertain that your documents are correct\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "bootspec", "enableValidation"], "readOnly": false, "type": "boolean"}, "boot.bootspec.extensions": {"declarations": ["nixos/modules/system/activation/bootspec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "User-defined data that extends the bootspec document.\n\nTo reduce incompatibility and prevent names from clashing\nbetween applications, it is **highly recommended** to use a\nunique namespace for your extensions.\n", "loc": ["boot", "bootspec", "extensions"], "readOnly": false, "type": "attribute set of anything"}, "boot.bootspec.package": {"declarations": ["nixos/modules/system/activation/bootspec.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bootspec"}, "description": "The bootspec package to use.", "loc": ["boot", "bootspec", "package"], "readOnly": false, "type": "package"}, "boot.consoleLogLevel": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "The kernel console `loglevel`. All Kernel Messages with a log level smaller\nthan this setting will be printed to the console.\n", "loc": ["boot", "consoleLogLevel"], "readOnly": false, "type": "signed integer"}, "boot.crashDump.enable": {"declarations": ["nixos/modules/misc/crashdump.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, NixOS will set up a kernel that will\nboot on crash, and leave the user in systemd rescue\nto be able to save the crashed kernel dump at\n/proc/vmcore.\nIt also activates the NMI watchdog.\n", "loc": ["boot", "crashDump", "enable"], "readOnly": false, "type": "boolean"}, "boot.crashDump.kernelParams": {"declarations": ["nixos/modules/misc/crashdump.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"1\"\n  \"boot.shell_on_fail\"\n]"}, "description": "Parameters that will be passed to the kernel kexec-ed on crash.\n", "loc": ["boot", "crashDump", "kernelParams"], "readOnly": false, "type": "list of string"}, "boot.crashDump.reservedMemory": {"declarations": ["nixos/modules/misc/crashdump.nix"], "default": {"_type": "literalExpression", "text": "\"128M\""}, "description": "The amount of memory reserved for the crashdump kernel.\nIf you choose a too high value, dmesg will mention\n\"crashkernel reservation failed\".\n", "loc": ["boot", "crashDump", "reservedMemory"], "readOnly": false, "type": "string"}, "boot.devShmSize": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "\"50%\""}, "description": "Size limit for the /dev/shm tmpfs. Look at {manpage}`mount(8)`, tmpfs size option,\nfor the accepted syntax.\n", "example": {"_type": "literalExpression", "text": "\"256m\""}, "loc": ["boot", "devShmSize"], "readOnly": false, "type": "string"}, "boot.devSize": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "\"5%\""}, "description": "Size limit for the /dev tmpfs. Look at {manpage}`mount(8)`, tmpfs size option,\nfor the accepted syntax.\n", "example": {"_type": "literalExpression", "text": "\"32m\""}, "loc": ["boot", "devSize"], "readOnly": false, "type": "string"}, "boot.extraModprobeConfig": {"declarations": ["nixos/modules/system/boot/modprobe.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any additional configuration to be appended to the generated\n{file}`modprobe.conf`.  This is typically used to\nspecify module options.  See\n{manpage}`modprobe.d(5)` for details.\n", "example": {"_type": "literalExpression", "text": "''\n  options parport_pc io=0x378 irq=7 dma=1\n''"}, "loc": ["boot", "extraModprobeConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.extraModulePackages": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of additional packages supplying kernel modules.", "example": {"_type": "literalExpression", "text": "[ config.boot.kernelPackages.nvidia_x11 ]"}, "loc": ["boot", "extraModulePackages"], "readOnly": false, "type": "list of package"}, "boot.extraSystemdUnitPaths": {"declarations": ["nixos/modules/system/boot/stage-2.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional paths that get appended to the SYSTEMD_UNIT_PATH environment variable\nthat can contain mutable unit files.\n", "loc": ["boot", "extraSystemdUnitPaths"], "readOnly": false, "type": "list of string"}, "boot.growPartition": {"declarations": ["nixos/modules/system/boot/grow-partition.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable growing the root partition on boot.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "growPartition"], "readOnly": false, "type": "boolean"}, "boot.hardwareScan": {"declarations": ["nixos/modules/services/hardware/udev.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to try to load kernel modules for all detected hardware.\nUsually this does a good job of providing you with the modules\nyou need, but sometimes it can crash the system or cause other\nnasty effects.\n", "loc": ["boot", "hardwareScan"], "readOnly": false, "type": "boolean"}, "boot.initrd.allowMissingModules": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the initrd can be built even though modules listed in\n{option}`boot.initrd.kernelModules` or\n{option}`boot.initrd.availableKernelModules` are missing from\nthe kernel. This is useful when combining configurations that\ninclude a lot of modules, such as\n{option}`hardware.enableAllHardware`, with kernels that don't\nprovide as many modules as typical NixOS kernels.\n\nNote that enabling this is discouraged. Instead, try disabling\nindividual modules by setting e.g.\n`boot.initrd.availableKernelModules.foo = lib.mkForce false;`\n", "loc": ["boot", "initrd", "allowMissingModules"], "readOnly": false, "type": "boolean"}, "boot.initrd.availableKernelModules": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The set of kernel modules in the initial ramdisk used during the\nboot process.  This set must include all modules necessary for\nmounting the root device.  That is, it should include modules\nfor the physical device (e.g., SCSI drivers) and for the file\nsystem (e.g., ext3).  The set specified here is automatically\nclosed under the module dependency relation, i.e., all\ndependencies of the modules list here are included\nautomatically.  The modules listed here are available in the\ninitrd, but are only loaded on demand (e.g., the ext3 module is\nloaded automatically when an ext3 filesystem is mounted, and\nmodules for PCI devices are loaded when they match the PCI ID\nof a device in your system).  To force a module to be loaded,\ninclude it in {option}`boot.initrd.kernelModules`.\n\nThis can either be a list of modules, or an attrset. In an\nattrset, names that are set to `true` represent modules that will\nbe included. Note that setting these names to `false` does not\nprevent the module from being loaded. For that, use\n{option}`boot.blacklistedKernelModules`.\n\n", "example": {"_type": "literalExpression", "text": "[\n  \"sata_nv\"\n  \"ext3\"\n]"}, "loc": ["boot", "initrd", "availableKernelModules"], "readOnly": false, "type": "(attribute set of boolean) or (list of string) convertible to it"}, "boot.initrd.checkJournalingFS": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to run {command}`fsck` on journaling filesystems such as ext3.\n", "loc": ["boot", "initrd", "checkJournalingFS"], "readOnly": false, "type": "boolean"}, "boot.initrd.clevis.devices": {"declarations": ["nixos/modules/system/boot/clevis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Encrypted devices that need to be unlocked at boot using Clevis", "loc": ["boot", "initrd", "clevis", "devices"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.clevis.devices.<name>.secretFile": {"declarations": ["nixos/modules/system/boot/clevis.nix"], "description": "Clevis JWE file used to decrypt the device at boot, in concert with the chosen pin (one of TPM2, Tang server, or SSS).", "loc": ["boot", "initrd", "clevis", "devices", "<name>", "secretFile"], "readOnly": false, "type": "absolute path"}, "boot.initrd.clevis.enable": {"declarations": ["nixos/modules/system/boot/clevis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Clevis in initrd.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "clevis", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.clevis.package": {"declarations": ["nixos/modules/system/boot/clevis.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clevis"}, "description": "The clevis package to use.", "loc": ["boot", "initrd", "clevis", "package"], "readOnly": false, "type": "package"}, "boot.initrd.clevis.useTang": {"declarations": ["nixos/modules/system/boot/clevis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the Clevis JWE file used to decrypt the devices uses a Tang server as a pin.", "loc": ["boot", "initrd", "clevis", "useTang"], "readOnly": false, "type": "boolean"}, "boot.initrd.clevisLuksAskpass.enable": {"declarations": ["nixos/modules/system/boot/clevis-luks-askpass.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable clevis-luks-askpass in initrd.\n\nWatches for systemd password requests during boot and answers them\nusing clevis tokens bound to LUKS headers. Runs in parallel with\nthe interactive password prompt. If clevis cannot unlock a device\n(tang unreachable, no binding, etc.) the user can still type the\npassphrase.\n\nPrerequisites:\n- Bind clevis to each LUKS device:\n    clevis luks bind -d /dev/xxx tang '{\"url\":\"...\"}'\n- Configure networking in the initrd so tang servers are reachable\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "clevisLuksAskpass", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.clevisLuksAskpass.package": {"declarations": ["nixos/modules/system/boot/clevis-luks-askpass.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clevis"}, "description": "The clevis package to use.", "loc": ["boot", "initrd", "clevisLuksAskpass", "package"], "readOnly": false, "type": "package"}, "boot.initrd.clevisLuksAskpass.useTang": {"declarations": ["nixos/modules/system/boot/clevis-luks-askpass.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the Clevis headers used to decrypt the devices uses a Tang server as a pin.", "loc": ["boot", "initrd", "clevisLuksAskpass", "useTang"], "readOnly": false, "type": "boolean"}, "boot.initrd.compressor": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalMD", "text": "`zstd` if the kernel supports it (5.9+), `gzip` if not"}, "description": "The compressor to use on the initrd image. May be any of:\n\n- The name of one of the predefined compressors, see {file}`pkgs/build-support/kernel/initrd-compressor-meta.nix` for the definitions.\n- A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. `pkgs: \"${pkgs.pigz}/bin/pigz\"`\n- (not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. `\"${pkgs.pigz}/bin/pigz\"`\n\nThe given program should read data from stdin and write it to stdout compressed.\n", "example": {"_type": "literalExpression", "text": "\"xz\""}, "loc": ["boot", "initrd", "compressor"], "readOnly": false, "type": "string or function that evaluates to a(n) string"}, "boot.initrd.compressorArgs": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Arguments to pass to the compressor for the initrd image, or null to use the compressor's defaults.", "loc": ["boot", "initrd", "compressorArgs"], "readOnly": false, "type": "null or (list of string)"}, "boot.initrd.enable": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "!config.boot.isContainer"}, "description": "Whether to enable the NixOS initial RAM disk (initrd). This may be\nneeded to perform some initialisation tasks (like mounting\nnetwork/encrypted file systems) before continuing the boot process.\n", "loc": ["boot", "initrd", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.extraFiles": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra files to link and copy in to the initrd.\n", "loc": ["boot", "initrd", "extraFiles"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.extraFiles.<name>.source": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "description": "The object to make available inside the initrd.", "loc": ["boot", "initrd", "extraFiles", "<name>", "source"], "readOnly": false, "type": "package"}, "boot.initrd.extraFirmwarePaths": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Other firmware files (relative to `\"${config.hardware.firmware}/lib/firmware\"`) to include in the final initrd we are building.\n", "loc": ["boot", "initrd", "extraFirmwarePaths"], "readOnly": false, "type": "list of string"}, "boot.initrd.includeDefaultModules": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "This option, if set, adds a collection of default kernel modules\nto {option}`boot.initrd.availableKernelModules` and\n{option}`boot.initrd.kernelModules`.\n", "loc": ["boot", "initrd", "includeDefaultModules"], "readOnly": false, "type": "boolean"}, "boot.initrd.kernelModules": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of modules that are always loaded by the initrd.\n\nThis can either be a list of modules, or an attrset. In an\nattrset, names that are set to `true` represent modules that will\nbe included. Note that setting these names to `false` does not\nprevent the module from being loaded. For that, use\n{option}`boot.blacklistedKernelModules`.\n\n", "loc": ["boot", "initrd", "kernelModules"], "readOnly": false, "type": "(attribute set of boolean) or (list of string) convertible to it"}, "boot.initrd.luks.cryptoModules": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"aes\"\n  \"blowfish\"\n  \"twofish\"\n  \"serpent\"\n  \"cbc\"\n  \"xts\"\n  \"lrw\"\n  \"sha1\"\n  \"sha256\"\n  \"sha512\"\n  \"af_alg\"\n  \"algif_skcipher\"\n  \"cryptd\"\n  \"input_leds\"\n]"}, "description": "A list of cryptographic kernel modules needed to decrypt the root device(s).\nThe default includes all common modules.\n", "loc": ["boot", "initrd", "luks", "cryptoModules"], "readOnly": false, "type": "list of string"}, "boot.initrd.luks.devices": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The encrypted disk that should be opened before the root\nfilesystem is mounted. Both LVM-over-LUKS and LUKS-over-LVM\nsetups are supported. The unencrypted devices can be accessed as\n{file}`/dev/mapper/\u00abname\u00bb`.\n", "example": {"_type": "literalExpression", "text": "{\n  luksroot = {\n    device = \"/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08\";\n  };\n}"}, "loc": ["boot", "initrd", "luks", "devices"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.luks.devices.<name>.allowDiscards": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow TRIM requests to the underlying device. This option\nhas security implications; please read the LUKS documentation before\nactivating it.\nThis option is incompatible with authenticated encryption (dm-crypt\nstacked over dm-integrity).\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "allowDiscards"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.devices.<name>.bypassWorkqueues": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to bypass dm-crypt's internal read and write workqueues.\nEnabling this should improve performance on SSDs; see\n[here](https://wiki.archlinux.org/index.php/Dm-crypt/Specialties#Disable_workqueue_for_increased_solid_state_drive_(SSD)_performance)\nfor more information. Needs Linux 5.9 or later.\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "bypassWorkqueues"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.devices.<name>.crypttabExtraOpts": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Only used with systemd stage 1.\n\nExtra options to append to the last column of the generated crypttab file.\n", "example": {"_type": "literalExpression", "text": "[\n  \"_netdev\"\n]"}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "crypttabExtraOpts"], "readOnly": false, "type": "list of (optionally newline-terminated) single-line string"}, "boot.initrd.luks.devices.<name>.device": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "description": "Path of the underlying encrypted block device.", "example": {"_type": "literalExpression", "text": "\"/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08\""}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "device"], "readOnly": false, "type": "string"}, "boot.initrd.luks.devices.<name>.fallbackToPassword": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to fallback to interactive passphrase prompt if the keyfile\ncannot be found. This will prevent unattended boot should the keyfile\ngo missing.\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "fallbackToPassword"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.devices.<name>.fido2.credential": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The FIDO2 credential ID.", "example": {"_type": "literalExpression", "text": "\"f1d00200d8dc783f7fb1e10ace8da27f8312d72692abfca2f7e4960a73f48e82e1f7571f6ebfcee9fb434f9886ccc8fcc52a6614d8d2\""}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "fido2", "credential"], "readOnly": false, "type": "null or string"}, "boot.initrd.luks.devices.<name>.fido2.credentials": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of FIDO2 credential IDs.\n\nUse this if you have multiple FIDO2 keys you want to use for the same luks device.\n", "example": {"_type": "literalExpression", "text": "[\n  \"f1d00200d8dc783f7fb1e10ace8da27f8312d72692abfca2f7e4960a73f48e82e1f7571f6ebfcee9fb434f9886ccc8fcc52a6614d8d2\"\n]"}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "fido2", "credentials"], "readOnly": false, "type": "list of string"}, "boot.initrd.luks.devices.<name>.fido2.gracePeriod": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Time in seconds to wait for the FIDO2 key.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "fido2", "gracePeriod"], "readOnly": false, "type": "signed integer"}, "boot.initrd.luks.devices.<name>.fido2.passwordLess": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Defines whatever to use an empty string as a default salt.\n\nEnable only when your device is PIN protected, such as [Trezor](https://trezor.io/).\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "fido2", "passwordLess"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.devices.<name>.gpgCard": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The option to use this LUKS device with a GPG encrypted luks password by the GPG Smartcard.\nIf null (the default), GPG-Smartcard will be disabled for this device.\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "gpgCard"], "readOnly": false, "type": "null or (submodule)"}, "boot.initrd.luks.devices.<name>.gpgCard.encryptedPass": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "description": "Path to the GPG encrypted passphrase.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "gpgCard", "encryptedPass"], "readOnly": false, "type": "absolute path"}, "boot.initrd.luks.devices.<name>.gpgCard.gracePeriod": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Time in seconds to wait for the GPG Smartcard.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "gpgCard", "gracePeriod"], "readOnly": false, "type": "signed integer"}, "boot.initrd.luks.devices.<name>.gpgCard.publicKey": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "description": "Path to the Public Key.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "gpgCard", "publicKey"], "readOnly": false, "type": "absolute path"}, "boot.initrd.luks.devices.<name>.header": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of the file or block device that\nshould be used as header for the encrypted device.\n", "example": {"_type": "literalExpression", "text": "\"/root/header.img\""}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "header"], "readOnly": false, "type": "null or string"}, "boot.initrd.luks.devices.<name>.keyFile": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of the file (can be a raw device or a partition) that\nshould be used as the decryption key for the encrypted device. If\nnot specified, you will be prompted for a passphrase instead.\n", "example": {"_type": "literalExpression", "text": "\"/dev/sdb1\""}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "keyFile"], "readOnly": false, "type": "null or string"}, "boot.initrd.luks.devices.<name>.keyFileOffset": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The offset of the key file. Use this in combination with\n`keyFileSize` to use part of a file as key file\n(often the case if a raw device or partition is used as a key file).\nIf not specified, the key begins at the first byte of\n`keyFile`.\n", "example": {"_type": "literalExpression", "text": "4096"}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "keyFileOffset"], "readOnly": false, "type": "null or signed integer"}, "boot.initrd.luks.devices.<name>.keyFileSize": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The size of the key file. Use this if only the beginning of the\nkey file should be used as a key (often the case if a raw device\nor partition is used as key file). If not specified, the whole\n`keyFile` will be used decryption, instead of just\nthe first `keyFileSize` bytes.\n", "example": {"_type": "literalExpression", "text": "4096"}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "keyFileSize"], "readOnly": false, "type": "null or signed integer"}, "boot.initrd.luks.devices.<name>.keyFileTimeout": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The amount of time in seconds for a keyFile to appear before\ntiming out and trying passwords.\n", "example": {"_type": "literalExpression", "text": "5"}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "keyFileTimeout"], "readOnly": false, "type": "null or signed integer"}, "boot.initrd.luks.devices.<name>.postOpenCommands": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands that should be run right after we have mounted our LUKS device.\n", "example": {"_type": "literalExpression", "text": "''\n  umount /tmp/persistent\n''"}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "postOpenCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.luks.devices.<name>.preLVM": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the luksOpen will be attempted before LVM scan or after it.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "preLVM"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.devices.<name>.preOpenCommands": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands that should be run right before we try to mount our LUKS device.\nThis can be useful, if the keys needed to open the drive is on another partition.\n", "example": {"_type": "literalExpression", "text": "''\n  mkdir -p /tmp/persistent\n  mount -t zfs rpool/safe/persistent /tmp/persistent\n''"}, "loc": ["boot", "initrd", "luks", "devices", "<name>", "preOpenCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.luks.devices.<name>.tryEmptyPassphrase": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If keyFile fails then try an empty passphrase first before\nprompting for password.\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "tryEmptyPassphrase"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.devices.<name>.yubikey": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The options to use for this LUKS device in YubiKey-PBA.\nIf null (the default), YubiKey-PBA will be disabled for this device.\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey"], "readOnly": false, "type": "null or (submodule)"}, "boot.initrd.luks.devices.<name>.yubikey.gracePeriod": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Time in seconds to wait for the YubiKey.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "gracePeriod"], "readOnly": false, "type": "signed integer"}, "boot.initrd.luks.devices.<name>.yubikey.iterationStep": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "How much the iteration count for PBKDF2 is increased at each successful authentication.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "iterationStep"], "readOnly": false, "type": "signed integer"}, "boot.initrd.luks.devices.<name>.yubikey.keyLength": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "64"}, "description": "Length of the LUKS slot key derived with PBKDF2 in byte.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "keyLength"], "readOnly": false, "type": "signed integer"}, "boot.initrd.luks.devices.<name>.yubikey.saltLength": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "16"}, "description": "Length of the new salt in byte (64 is the effective maximum).", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "saltLength"], "readOnly": false, "type": "signed integer"}, "boot.initrd.luks.devices.<name>.yubikey.slot": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "Which slot on the YubiKey to challenge.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "slot"], "readOnly": false, "type": "signed integer"}, "boot.initrd.luks.devices.<name>.yubikey.storage.device": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "\"/dev/sda1\""}, "description": "An unencrypted device that will temporarily be mounted in stage-1.\nMust contain the current salt to create the challenge for this LUKS device.\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "storage", "device"], "readOnly": false, "type": "absolute path"}, "boot.initrd.luks.devices.<name>.yubikey.storage.fsType": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "\"vfat\""}, "description": "The filesystem of the unencrypted device.", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "storage", "fsType"], "readOnly": false, "type": "string"}, "boot.initrd.luks.devices.<name>.yubikey.storage.path": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "\"/crypt-storage/default\""}, "description": "Absolute path of the salt on the unencrypted device with\nthat device's root directory as \"/\".\n", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "storage", "path"], "readOnly": false, "type": "string"}, "boot.initrd.luks.devices.<name>.yubikey.twoFactor": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use a passphrase and a YubiKey (true), or only a YubiKey (false).", "loc": ["boot", "initrd", "luks", "devices", "<name>", "yubikey", "twoFactor"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.fido2Support": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables support for authenticating with FIDO2 devices.\n", "loc": ["boot", "initrd", "luks", "fido2Support"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.gpgSupport": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables support for authenticating with a GPG encrypted password.\n", "loc": ["boot", "initrd", "luks", "gpgSupport"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.mitigateDMAAttacks": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Unless enabled, encryption keys can be easily recovered by an attacker with physical\naccess to any machine with PCMCIA, ExpressCard, ThunderBolt or FireWire port.\nMore information is available at <https://en.wikipedia.org/wiki/DMA_attack>.\n\nThis option blacklists FireWire drivers, but doesn't remove them. You can manually\nload the drivers if you need to use a FireWire device, but don't forget to unload them!\n", "loc": ["boot", "initrd", "luks", "mitigateDMAAttacks"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.reusePassphrases": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "When opening a new LUKS device try reusing last successful\npassphrase.\n\nUseful for mounting a number of devices that use the same\npassphrase without retyping it several times.\n\nSuch setup can be useful if you use {command}`cryptsetup luksSuspend`.\nDifferent LUKS devices will still have\ndifferent master keys even when using the same passphrase.\n", "loc": ["boot", "initrd", "luks", "reusePassphrases"], "readOnly": false, "type": "boolean"}, "boot.initrd.luks.yubikeySupport": {"declarations": ["nixos/modules/system/boot/luksroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables support for authenticating with a YubiKey on LUKS devices.\nSee the NixOS wiki for information on how to properly setup a LUKS device\nand a YubiKey to work with this feature.\n", "loc": ["boot", "initrd", "luks", "yubikeySupport"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.enable": {"declarations": ["nixos/modules/system/boot/initrd-network.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add network connectivity support to initrd. The network may be\nconfigured using the `ip` kernel parameter,\nas described in [the kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt).\nOtherwise, if\n{option}`networking.useDHCP` is enabled, an IP address\nis acquired using DHCP.\n\nYou should add the module(s) required for your network card to\nboot.initrd.availableKernelModules.\n`lspci -v | grep -iA8 'network\\|ethernet'`\nwill tell you which.\n", "loc": ["boot", "initrd", "network", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.flushBeforeStage2": {"declarations": ["nixos/modules/system/boot/initrd-network.nix"], "default": {"_type": "literalExpression", "text": "\"!config.boot.initrd.systemd.enable\""}, "description": "Whether to clear the configuration of the interfaces that were set up in\nthe initrd right before stage 2 takes over. Stage 2 will do the regular network\nconfiguration based on the NixOS networking options.\n\nThe default is false when systemd is enabled in initrd,\nbecause the systemd-networkd documentation suggests it.\n", "loc": ["boot", "initrd", "network", "flushBeforeStage2"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.ifstate.allowIfstateToDrasticlyIncreaseInitrdSize": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "IfState in initrd drastically increases the size of initrd, your boot partition may be too small and/or you may have significantly fewer generations. By setting this option, you acknowledge this fact and keep it in mind when reporting issues.", "loc": ["boot", "initrd", "network", "ifstate", "allowIfstateToDrasticlyIncreaseInitrdSize"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.ifstate.cleanupSettings": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "{\n  interfaces = { };\n}"}, "description": "Content of IfState's initrd cleanup configuration file. See <https://ifstate.net/2.0/schema/> for details. This configuration gets applied before systemd switches to stage two. The goal is to deconfigurate the whole network in order to prevent access to services, before the firewall is configured. The stage two IfState configuration will start after the firewall is configured.", "loc": ["boot", "initrd", "network", "ifstate", "cleanupSettings"], "readOnly": false, "type": "YAML 1.1 value"}, "boot.initrd.network.ifstate.enable": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable initrd networking using IfState.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "network", "ifstate", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.ifstate.package": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ifstate.override { withConfigValidation = false; }"}, "description": "The initrd IfState package to use.", "loc": ["boot", "initrd", "network", "ifstate", "package"], "readOnly": false, "type": "package"}, "boot.initrd.network.ifstate.settings": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Content of IfState's initrd configuration file. See <https://ifstate.net/2.2/schema/> for details.", "loc": ["boot", "initrd", "network", "ifstate", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "boot.initrd.network.openvpn.configuration": {"declarations": ["nixos/modules/system/boot/initrd-openvpn.nix"], "description": "The configuration file for OpenVPN.\n\n::: {.warning}\nUnless your bootloader supports initrd secrets, this configuration\nis stored insecurely in the global Nix store.\n:::\n", "example": {"_type": "literalExpression", "text": "./configuration.ovpn"}, "loc": ["boot", "initrd", "network", "openvpn", "configuration"], "readOnly": false, "type": "absolute path"}, "boot.initrd.network.openvpn.enable": {"declarations": ["nixos/modules/system/boot/initrd-openvpn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Starts an OpenVPN client during initrd boot. It can be used to e.g.\nremotely accessing the SSH service controlled by\n{option}`boot.initrd.network.ssh` or other network services\nincluded. Service is killed when stage-1 boot is finished.\n", "loc": ["boot", "initrd", "network", "openvpn", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.postCommands": {"declarations": ["nixos/modules/system/boot/initrd-network.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed after stage 1 of the\nboot has initialised the network.\n", "loc": ["boot", "initrd", "network", "postCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.network.ssh.authorizedKeyFiles": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "config.users.users.root.openssh.authorizedKeys.keyFiles"}, "description": "Authorized keys taken from files for the root user on initrd.\nYou can combine the `authorizedKeyFiles` and `authorizedKeys` options.\n", "loc": ["boot", "initrd", "network", "ssh", "authorizedKeyFiles"], "readOnly": false, "type": "list of absolute path"}, "boot.initrd.network.ssh.authorizedKeys": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "config.users.users.root.openssh.authorizedKeys.keys"}, "description": "Authorized keys for the root user on initrd.\nYou can combine the `authorizedKeys` and `authorizedKeyFiles` options.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ssh-rsa AAAAB3NzaC1yc2etc/etc/etcjwrsh8e596z6J0l7 example@host\"\n  \"ssh-ed25519 AAAAC3NzaCetcetera/etceteraJZMfk3QPfQ foo@bar\"\n]"}, "loc": ["boot", "initrd", "network", "ssh", "authorizedKeys"], "readOnly": false, "type": "list of string"}, "boot.initrd.network.ssh.enable": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Start SSH service during initrd boot. It can be used to debug failing\nboot on a remote server, enter pasphrase for an encrypted partition etc.\nService is killed when stage-1 boot is finished.\n\nThe sshd configuration is largely inherited from\n{option}`services.openssh`.\n", "loc": ["boot", "initrd", "network", "ssh", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.ssh.extraConfig": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim contents of {file}`sshd_config`.", "loc": ["boot", "initrd", "network", "ssh", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.network.ssh.hostKeys": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specify SSH host keys to import into the initrd.\n\nTo generate keys, use\n{manpage}`ssh-keygen(1)`\nas root:\n\n```\nssh-keygen -t rsa -N \"\" -f /etc/secrets/initrd/ssh_host_rsa_key\nssh-keygen -t ed25519 -N \"\" -f /etc/secrets/initrd/ssh_host_ed25519_key\n```\n\n::: {.warning}\nUnless your bootloader supports initrd secrets, these keys\nare stored insecurely in the global Nix store. Do NOT use\nyour regular SSH host private keys for this purpose or\nyou'll expose them to regular users!\n\nAdditionally, even if your initrd supports secrets, if\nyou're using initrd SSH to unlock an encrypted disk then\nusing your regular host keys exposes the private keys on\nyour unencrypted boot partition.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/secrets/initrd/ssh_host_rsa_key\"\n  \"/etc/secrets/initrd/ssh_host_ed25519_key\"\n]"}, "loc": ["boot", "initrd", "network", "ssh", "hostKeys"], "readOnly": false, "type": "list of (string or absolute path)"}, "boot.initrd.network.ssh.ignoreEmptyHostKeys": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow leaving {option}`config.boot.initrd.network.ssh.hostKeys` empty,\nto deploy ssh host keys out of band.\n", "loc": ["boot", "initrd", "network", "ssh", "ignoreEmptyHostKeys"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.ssh.port": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "22"}, "description": "Port on which SSH initrd service should listen.\n", "loc": ["boot", "initrd", "network", "ssh", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "boot.initrd.network.ssh.shell": {"declarations": ["nixos/modules/system/boot/initrd-ssh.nix"], "default": {"_type": "literalExpression", "text": "\"\\\"/bin/ash\\\"\""}, "description": "Login shell of the remote user. Can be used to limit actions user can do.\n", "loc": ["boot", "initrd", "network", "ssh", "shell"], "readOnly": false, "type": "null or string"}, "boot.initrd.network.udhcpc.enable": {"declarations": ["nixos/modules/system/boot/initrd-network.nix"], "default": {"_type": "literalExpression", "text": "config.networking.useDHCP"}, "description": "Enables the udhcpc service during stage 1 of the boot process. This\ndefaults to {option}`networking.useDHCP`. Therefore, this useful if\nuseDHCP is off but the initramfs should do dhcp.\n", "loc": ["boot", "initrd", "network", "udhcpc", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.network.udhcpc.extraArgs": {"declarations": ["nixos/modules/system/boot/initrd-network.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command-line arguments passed verbatim to\nudhcpc if {option}`boot.initrd.network.enable` and\n{option}`boot.initrd.network.udhcpc.enable` are enabled.\n", "loc": ["boot", "initrd", "network", "udhcpc", "extraArgs"], "readOnly": false, "type": "list of string"}, "boot.initrd.nix-store-veritysetup.enable": {"declarations": ["nixos/modules/system/boot/nix-store-veritysetup.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nix-store-veritysetup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "nix-store-veritysetup", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.postDeviceCommands": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed immediately after stage 1 of the\nboot has loaded kernel modules and created device nodes in\n{file}`/dev`.\n", "loc": ["boot", "initrd", "postDeviceCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.postMountCommands": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed immediately after the stage 1\nfilesystems have been mounted.\n", "loc": ["boot", "initrd", "postMountCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.postResumeCommands": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed immediately after attempting to resume.\n", "loc": ["boot", "initrd", "postResumeCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.preDeviceCommands": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed before udev is started to create\ndevice nodes.\n", "loc": ["boot", "initrd", "preDeviceCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.preFailCommands": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed before the failure prompt is shown.\n", "loc": ["boot", "initrd", "preFailCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.preLVMCommands": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed immediately before LVM discovery.\n", "loc": ["boot", "initrd", "preLVMCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.prepend": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Other initrd files to prepend to the final initrd we are building.\n", "loc": ["boot", "initrd", "prepend"], "readOnly": false, "type": "list of string"}, "boot.initrd.secrets": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Secrets to append to the initrd. The attribute name is the\npath the secret should have inside the initrd, the value\nis the path it should be copied from (or null for the same\npath inside and out).\n\nNote that `nixos-rebuild switch` will generate the initrd\nalso for past generations, so if secrets are moved or deleted\nyou will also have to garbage collect the generations that\nuse those secrets.\n", "example": {"_type": "literalExpression", "text": "{ \"/etc/dropbear/dropbear_rsa_host_key\" =\n    ./secret-dropbear-key;\n}\n"}, "loc": ["boot", "initrd", "secrets"], "readOnly": false, "type": "attribute set of (null or absolute path)"}, "boot.initrd.services.bcache.enable": {"declarations": ["nixos/modules/tasks/bcache.nix"], "default": {"_type": "literalExpression", "text": "config.boot.initrd.systemd.enable && config.boot.bcache.enable"}, "description": "*This will only be used when systemd is used in stage 1.*\n\nWhether to enable bcache support in the initrd.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "services", "bcache", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.services.lvm.enable": {"declarations": ["nixos/modules/tasks/lvm.nix"], "default": {"_type": "literalExpression", "text": "config.boot.initrd.systemd.enable && config.services.lvm.enable"}, "description": "*This will only be used when systemd is used in stage 1.*\n\nWhether to enable booting from LVM2 in the initrd.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "services", "lvm", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.services.resolved.enable": {"declarations": ["nixos/modules/system/boot/resolved.nix"], "default": {"_type": "literalExpression", "text": "\"config.boot.initrd.systemd.network.enable\""}, "description": "Whether to enable resolved for stage 1 networking.\nUses the toplevel 'services.resolved' options for 'resolved.conf'\n", "loc": ["boot", "initrd", "services", "resolved", "enable"], "readOnly": false, "type": "unspecified value"}, "boot.initrd.services.udev.binPackages": {"declarations": ["nixos/modules/services/hardware/udev.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "*This will only be used when systemd is used in stage 1.*\n\nPackages to search for binaries that are referenced by the udev rules in stage 1.\nThis list always contains /bin of the initrd.\n", "loc": ["boot", "initrd", "services", "udev", "binPackages"], "readOnly": false, "type": "list of absolute path"}, "boot.initrd.services.udev.packages": {"declarations": ["nixos/modules/services/hardware/udev.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "*This will only be used when systemd is used in stage 1.*\n\nList of packages containing {command}`udev` rules that will be copied to stage 1.\nAll files found in\n{file}`\u00abpkg\u00bb/etc/udev/rules.d` and\n{file}`\u00abpkg\u00bb/lib/udev/rules.d`\nwill be included.\n", "loc": ["boot", "initrd", "services", "udev", "packages"], "readOnly": false, "type": "list of absolute path"}, "boot.initrd.services.udev.rules": {"declarations": ["nixos/modules/services/hardware/udev.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "{command}`udev` rules to include in the initrd\n*only*. They'll be written into file\n{file}`99-local.rules`. Thus they are read and applied\nafter the essential initrd rules.\n", "example": {"_type": "literalExpression", "text": "''\n  SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"00:1D:60:B9:6D:4F\", KERNEL==\"eth*\", NAME=\"my_fast_network_card\"\n''"}, "loc": ["boot", "initrd", "services", "udev", "rules"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.initrd.stage1Greeting": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"<<< ${config.system.nixos.distroName} Stage 1 >>>\""}, "description": "The greeting message displayed during NixOS stage 1 boot.\n", "loc": ["boot", "initrd", "stage1Greeting"], "readOnly": false, "type": "string"}, "boot.initrd.supportedFilesystems": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Names of supported filesystem types, or an attribute set of file system types\nand their state. The set form may be used together with `lib.mkForce` to\nexplicitly disable support for specific filesystems, e.g. to disable ZFS\nwith an unsupported kernel.\n", "example": {"_type": "literalExpression", "text": "{\n  btrfs = true;\n  zfs = lib.mkForce false;\n}\n"}, "loc": ["boot", "initrd", "supportedFilesystems"], "readOnly": false, "type": "(attribute set of boolean) or (list of string) convertible to it"}, "boot.initrd.systemd.additionalUpstreamUnits": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional units shipped with systemd that shall be enabled.\n", "example": {"_type": "literalExpression", "text": "[\n  \"debug-shell.service\"\n  \"systemd-quotacheck.service\"\n]"}, "loc": ["boot", "initrd", "systemd", "additionalUpstreamUnits"], "readOnly": false, "type": "list of string"}, "boot.initrd.systemd.automounts": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Definition of systemd automount units.\nThis is a list instead of an attrSet, because systemd mandates the names to be derived from\nthe 'where' attribute.\n", "loc": ["boot", "initrd", "systemd", "automounts"], "readOnly": false, "type": "list of (submodule)"}, "boot.initrd.systemd.contents": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of files that have to be linked into the initrd", "example": {"_type": "literalExpression", "text": "{\n  \"/etc/machine-id\".source = /etc/machine-id;\n}\n"}, "loc": ["boot", "initrd", "systemd", "contents"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.contents.<name>.dlopen.features": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Features to enable via dlopen ELF notes. These will be in\naddition to anything included via 'usePriority',\nregardless of their priority.\n", "loc": ["boot", "initrd", "systemd", "contents", "<name>", "dlopen", "features"], "readOnly": false, "type": "list of (optionally newline-terminated) single-line string"}, "boot.initrd.systemd.contents.<name>.dlopen.usePriority": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "\"recommended\""}, "description": "Priority of dlopen ELF notes to include. \"required\" is\nminimal, \"recommended\" includes \"required\", and\n\"suggested\" includes \"recommended\".\n\nSee: <https://systemd.io/ELF_DLOPEN_METADATA/>\n", "loc": ["boot", "initrd", "systemd", "contents", "<name>", "dlopen", "usePriority"], "readOnly": false, "type": "one of \"required\", \"recommended\", \"suggested\""}, "boot.initrd.systemd.contents.<name>.enable": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable copying of this file and symlinking it.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "contents", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.contents.<name>.source": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "description": "Path of the source file.", "loc": ["boot", "initrd", "systemd", "contents", "<name>", "source"], "readOnly": false, "type": "absolute path"}, "boot.initrd.systemd.contents.<name>.target": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the symlink.\n", "loc": ["boot", "initrd", "systemd", "contents", "<name>", "target"], "readOnly": false, "type": "null or absolute path"}, "boot.initrd.systemd.contents.<name>.text": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["boot", "initrd", "systemd", "contents", "<name>", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "boot.initrd.systemd.dbus.enable": {"declarations": ["nixos/modules/services/system/dbus.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable dbus in stage 1.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "dbus", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.dmVerity.enable": {"declarations": ["nixos/modules/system/boot/systemd/dm-verity.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Mount verity-protected block devices in the initrd.\n\nEnabling this option allows to use `systemd-veritysetup` and\n`systemd-veritysetup-generator` in the initrd.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "dmVerity", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.emergencyAccess": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to true for unauthenticated emergency access, and false or\nnull for no emergency access.\n\nCan also be set to a hashed super user password to allow\nauthenticated access to the emergency mode.\n\nFor emergency access after initrd, use `systemd.enableEmergencyMode` instead.\n", "loc": ["boot", "initrd", "systemd", "emergencyAccess"], "readOnly": false, "type": "boolean or null or (string, not containing newlines or colons)"}, "boot.initrd.systemd.enable": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable systemd in initrd. The unit options such as\n{option}`boot.initrd.systemd.services` are the same as their\nstage 2 counterparts such as {option}`systemd.services`,\nexcept that `restartTriggers` and `reloadTriggers` are not\nsupported.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.extraBin": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Tools to add to /bin\n", "example": {"_type": "literalExpression", "text": "{\n  umount = \"${pkgs.util-linux}/bin/umount\";\n}\n"}, "loc": ["boot", "initrd", "systemd", "extraBin"], "readOnly": false, "type": "attribute set of absolute path"}, "boot.initrd.systemd.fido2.enable": {"declarations": ["nixos/modules/system/boot/systemd/fido2.nix"], "default": {"_type": "literalExpression", "text": "config.boot.initrd.systemd.package.withFido2"}, "description": "Whether to enable systemd FIDO2 support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "fido2", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.groups": {"declarations": ["nixos/modules/config/users-groups.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Groups to include in initrd.\n", "loc": ["boot", "initrd", "systemd", "groups"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.groups.<name>.gid": {"declarations": ["nixos/modules/config/users-groups.nix"], "default": {"_type": "literalExpression", "text": "config.users.groups.${name}.gid"}, "description": "ID of the group in initrd.\n", "loc": ["boot", "initrd", "systemd", "groups", "<name>", "gid"], "readOnly": false, "type": "signed integer"}, "boot.initrd.systemd.initrdBin": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Packages to include in /bin for the stage 1 emergency shell.\n", "loc": ["boot", "initrd", "systemd", "initrdBin"], "readOnly": false, "type": "list of package"}, "boot.initrd.systemd.managerEnvironment": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "''\n  {\n    PATH = \"/bin:/sbin\";\n  }\n''"}, "description": "Environment variables of PID 1. These variables are\n*not* passed to started units.\n", "example": {"_type": "literalExpression", "text": "{\n  SYSTEMD_LOG_LEVEL = \"debug\";\n}"}, "loc": ["boot", "initrd", "systemd", "managerEnvironment"], "readOnly": false, "type": "attribute set of (null or string or absolute path or package)"}, "boot.initrd.systemd.mounts": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Definition of systemd mount units.\nThis is a list instead of an attrSet, because systemd mandates the names to be derived from\nthe 'where' attribute.\n", "loc": ["boot", "initrd", "systemd", "mounts"], "readOnly": false, "type": "list of (submodule)"}, "boot.initrd.systemd.network.config": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of global systemd network config.", "loc": ["boot", "initrd", "systemd", "network", "config"], "readOnly": false, "type": "submodule"}, "boot.initrd.systemd.network.enable": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable networkd or not.\n", "loc": ["boot", "initrd", "systemd", "network", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.network.links": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd network links.", "loc": ["boot", "initrd", "systemd", "network", "links"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.network.netdevs": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd network devices.", "loc": ["boot", "initrd", "systemd", "network", "netdevs"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.network.networks": {"declarations": ["nixos/modules/system/boot/networkd.nix", "nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd networks.", "loc": ["boot", "initrd", "systemd", "network", "networks"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.network.wait-online.anyInterface": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "\"config.networking.useDHCP\""}, "description": "Whether to consider the network online when any interface is online, as opposed to all of them.\nThis is useful on portable machines with a wired and a wireless interface, for example.\n\nThis is on by default if {option}`networking.useDHCP` is enabled.\n", "loc": ["boot", "initrd", "systemd", "network", "wait-online", "anyInterface"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.network.wait-online.enable": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the systemd-networkd-wait-online service.\n\nsystemd-networkd-wait-online can timeout and fail if there are no network interfaces\navailable for it to manage. When systemd-networkd is enabled but a different service is\nresponsible for managing the system's internet connection (for example, NetworkManager or\nconnman are used to manage WiFi connections), this service is unnecessary and can be\ndisabled.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["boot", "initrd", "systemd", "network", "wait-online", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.network.wait-online.extraArgs": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line arguments to pass to systemd-networkd-wait-online.\nThese also affect per-interface `systemd-network-wait-online@` services.\n\nSee {manpage}`systemd-networkd-wait-online.service(8)` for all available options.\n", "loc": ["boot", "initrd", "systemd", "network", "wait-online", "extraArgs"], "readOnly": false, "type": "list of string"}, "boot.initrd.systemd.network.wait-online.ignoredInterfaces": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Network interfaces to be ignored when deciding if the system is online.\n", "example": {"_type": "literalExpression", "text": "[\n  \"wg0\"\n]"}, "loc": ["boot", "initrd", "systemd", "network", "wait-online", "ignoredInterfaces"], "readOnly": false, "type": "list of string"}, "boot.initrd.systemd.network.wait-online.timeout": {"declarations": ["nixos/modules/system/boot/networkd.nix"], "default": {"_type": "literalExpression", "text": "120"}, "description": "Time to wait for the network to come online, in seconds. Set to 0 to disable.\n", "example": {"_type": "literalExpression", "text": "0"}, "loc": ["boot", "initrd", "systemd", "network", "wait-online", "timeout"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "boot.initrd.systemd.package": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "config.systemd.package"}, "description": "The systemd package to use.\n", "loc": ["boot", "initrd", "systemd", "package"], "readOnly": false, "type": "package"}, "boot.initrd.systemd.packages": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Packages providing systemd units and hooks.", "example": {"_type": "literalExpression", "text": "[ pkgs.systemd-cryptsetup-generator ]"}, "loc": ["boot", "initrd", "systemd", "packages"], "readOnly": false, "type": "list of package"}, "boot.initrd.systemd.paths": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd path units.", "loc": ["boot", "initrd", "systemd", "paths"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.repart.device": {"declarations": ["nixos/modules/system/boot/systemd/repart.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The device to operate on.\n\nIf `device == null`, systemd-repart will operate on the device\nbacking the root partition. So in order to dynamically *create* the\nroot partition in the initrd you need to set a device.\n", "example": {"_type": "literalExpression", "text": "\"/dev/vda\""}, "loc": ["boot", "initrd", "systemd", "repart", "device"], "readOnly": false, "type": "null or string"}, "boot.initrd.systemd.repart.discard": {"declarations": ["nixos/modules/system/boot/systemd/repart.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Controls whether to issue the BLKDISCARD I/O control command on the\nspace taken up by any added partitions or on the space in between them.\nUsually, it's a good idea to issue this request since it tells the underlying\nhardware that the covered blocks shall be considered empty, improving performance.\n\nSee {manpage}`systemd-repart(8)` for details.\n", "loc": ["boot", "initrd", "systemd", "repart", "discard"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.repart.empty": {"declarations": ["nixos/modules/system/boot/systemd/repart.nix"], "default": {"_type": "literalExpression", "text": "\"refuse\""}, "description": "Controls how to operate on empty devices that contain no partition table yet.\nSee {manpage}`systemd-repart(8)` for details.\n", "example": {"_type": "literalExpression", "text": "\"require\""}, "loc": ["boot", "initrd", "systemd", "repart", "empty"], "readOnly": false, "type": "one of \"refuse\", \"allow\", \"require\", \"force\", \"create\""}, "boot.initrd.systemd.repart.enable": {"declarations": ["nixos/modules/system/boot/systemd/repart.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Grow and add partitions to a partition table at boot time in the initrd.\nsystemd-repart only works with GPT partition tables.\n\nTo run systemd-repart after the initrd, see\n`options.systemd.repart.enable`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "repart", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.repart.extraArgs": {"declarations": ["nixos/modules/system/boot/systemd/repart.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line arguments to pass to systemd-repart.\n\nSee {manpage}`systemd-repart(8)` for all available options.\n", "loc": ["boot", "initrd", "systemd", "repart", "extraArgs"], "readOnly": false, "type": "list of string"}, "boot.initrd.systemd.root": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "\"fstab\""}, "description": "Controls how systemd will interpret the root FS in initrd. See\n{manpage}`kernel-command-line(7)`. NixOS currently does not\nallow specifying the root file system itself this\nway. Instead, the `fstab` value is used in order to interpret\nthe root file system specified with the `fileSystems` option.\nIf root shall be omitted, set this option to `null`.\n", "example": {"_type": "literalExpression", "text": "\"gpt-auto\""}, "loc": ["boot", "initrd", "systemd", "root"], "readOnly": false, "type": "null or one of \"fstab\", \"gpt-auto\""}, "boot.initrd.systemd.services": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd service units.", "loc": ["boot", "initrd", "systemd", "services"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.settings.Manager": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{\n  DefaultEnvironment = \"PATH=/bin:/sbin\";\n}\n"}, "description": "Options for the global systemd service manager used in initrd. See {manpage}`systemd-system.conf(5)` man page\nfor available options.\n", "example": {"_type": "literalExpression", "text": "{\n  KExecWatchdogSec = \"5min\";\n  RebootWatchdogSec = \"10min\";\n  RuntimeWatchdogSec = \"30s\";\n  WatchdogDevice = \"/dev/watchdog\";\n}"}, "loc": ["boot", "initrd", "systemd", "settings", "Manager"], "readOnly": false, "type": "open submodule of attribute set of (systemd option)"}, "boot.initrd.systemd.slices": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of slice configurations.", "loc": ["boot", "initrd", "systemd", "slices"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.sockets": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd socket units.", "loc": ["boot", "initrd", "systemd", "sockets"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.storePaths": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Store paths to copy into the initrd as well.\n", "loc": ["boot", "initrd", "systemd", "storePaths"], "readOnly": false, "type": "list of ((submodule) or ((optionally newline-terminated) single-line string or package) convertible to it)"}, "boot.initrd.systemd.storePaths.*.dlopen.features": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Features to enable via dlopen ELF notes. These will be in\naddition to anything included via 'usePriority',\nregardless of their priority.\n", "loc": ["boot", "initrd", "systemd", "storePaths", "*", "dlopen", "features"], "readOnly": false, "type": "list of (optionally newline-terminated) single-line string"}, "boot.initrd.systemd.storePaths.*.dlopen.usePriority": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "\"recommended\""}, "description": "Priority of dlopen ELF notes to include. \"required\" is\nminimal, \"recommended\" includes \"required\", and\n\"suggested\" includes \"recommended\".\n\nSee: <https://systemd.io/ELF_DLOPEN_METADATA/>\n", "loc": ["boot", "initrd", "systemd", "storePaths", "*", "dlopen", "usePriority"], "readOnly": false, "type": "one of \"required\", \"recommended\", \"suggested\""}, "boot.initrd.systemd.storePaths.*.enable": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable copying of this file and symlinking it.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "storePaths", "*", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.storePaths.*.source": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "description": "Path of the source file.", "loc": ["boot", "initrd", "systemd", "storePaths", "*", "source"], "readOnly": false, "type": "absolute path"}, "boot.initrd.systemd.storePaths.*.target": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the symlink.\n", "loc": ["boot", "initrd", "systemd", "storePaths", "*", "target"], "readOnly": false, "type": "null or absolute path"}, "boot.initrd.systemd.suppressedStorePaths": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Store paths specified in the storePaths option that\nshould not be copied.\n", "loc": ["boot", "initrd", "systemd", "suppressedStorePaths"], "readOnly": false, "type": "list of (optionally newline-terminated) single-line string"}, "boot.initrd.systemd.suppressedUnits": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of units to skip when generating system systemd configuration directory. This has\npriority over upstream units, {option}`boot.initrd.systemd.units`, and\n{option}`boot.initrd.systemd.additionalUpstreamUnits`. The main purpose of this is to\nprevent a upstream systemd unit from being added to the initrd with any modifications made to it\nby other NixOS modules.\n", "example": {"_type": "literalExpression", "text": "[\n  \"systemd-backlight@.service\"\n]"}, "loc": ["boot", "initrd", "systemd", "suppressedUnits"], "readOnly": false, "type": "list of string"}, "boot.initrd.systemd.targets": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd target units.", "loc": ["boot", "initrd", "systemd", "targets"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.timers": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd timer units.", "loc": ["boot", "initrd", "systemd", "timers"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.tmpfiles.settings": {"declarations": ["nixos/modules/system/boot/systemd/tmpfiles.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Similar to {option}`systemd.tmpfiles.settings` but the rules are\nonly applied by systemd-tmpfiles before `initrd-switch-root.target`.\n\nSee {manpage}`bootup(7)`.\n", "example": {"_type": "literalExpression", "text": "{\n  \"10-mypackage\" = {\n    \"/var/lib/my-service/statefolder\" = {\n      d = {\n        group = \"root\";\n        mode = \"0755\";\n        user = \"root\";\n      };\n    };\n  };\n}"}, "loc": ["boot", "initrd", "systemd", "tmpfiles", "settings"], "readOnly": false, "type": "attribute set of attribute set of attribute set of (submodule)"}, "boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.age": {"declarations": ["nixos/modules/system/boot/systemd/tmpfiles.nix"], "default": {"_type": "literalExpression", "text": "\"-\""}, "description": "Delete a file when it reaches a certain age.\n\nIf a file or directory is older than the current time minus the age\nfield, it is deleted.\n\nIf set to `\"-\"` no automatic clean-up is done.\n", "example": {"_type": "literalExpression", "text": "\"10d\""}, "loc": ["boot", "initrd", "systemd", "tmpfiles", "settings", "<config-name>", "<path>", "<tmpfiles-type>", "age"], "readOnly": false, "type": "string"}, "boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.argument": {"declarations": ["nixos/modules/system/boot/systemd/tmpfiles.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "An argument whose meaning depends on the type of operation.\n\nPlease see the upstream documentation for the meaning of this\nparameter in different situations:\n{manpage}`tmpfiles.d(5)`\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["boot", "initrd", "systemd", "tmpfiles", "settings", "<config-name>", "<path>", "<tmpfiles-type>", "argument"], "readOnly": false, "type": "string"}, "boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.group": {"declarations": ["nixos/modules/system/boot/systemd/tmpfiles.nix"], "default": {"_type": "literalExpression", "text": "\"-\""}, "description": "The group of the file.\n\nThis may either be a numeric ID or a user/group name.\n\nIf omitted or when set to `\"-\"`, the user and group of the user who\ninvokes systemd-tmpfiles is used.\n", "example": {"_type": "literalExpression", "text": "\"root\""}, "loc": ["boot", "initrd", "systemd", "tmpfiles", "settings", "<config-name>", "<path>", "<tmpfiles-type>", "group"], "readOnly": false, "type": "string"}, "boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.mode": {"declarations": ["nixos/modules/system/boot/systemd/tmpfiles.nix"], "default": {"_type": "literalExpression", "text": "\"-\""}, "description": "The file access mode to use when creating this file or directory.\n", "example": {"_type": "literalExpression", "text": "\"0755\""}, "loc": ["boot", "initrd", "systemd", "tmpfiles", "settings", "<config-name>", "<path>", "<tmpfiles-type>", "mode"], "readOnly": false, "type": "string"}, "boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.type": {"declarations": ["nixos/modules/system/boot/systemd/tmpfiles.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039tmpfiles-type\u203a\""}, "description": "The type of operation to perform on the file.\n\nThe type consists of a single letter and optionally one or more\nmodifier characters.\n\nPlease see the upstream documentation for the available types and\nmore details:\n{manpage}`tmpfiles.d(5)`\n", "example": {"_type": "literalExpression", "text": "\"d\""}, "loc": ["boot", "initrd", "systemd", "tmpfiles", "settings", "<config-name>", "<path>", "<tmpfiles-type>", "type"], "readOnly": false, "type": "string"}, "boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.user": {"declarations": ["nixos/modules/system/boot/systemd/tmpfiles.nix"], "default": {"_type": "literalExpression", "text": "\"-\""}, "description": "The user of the file.\n\nThis may either be a numeric ID or a user/group name.\n\nIf omitted or when set to `\"-\"`, the user and group of the user who\ninvokes systemd-tmpfiles is used.\n", "example": {"_type": "literalExpression", "text": "\"root\""}, "loc": ["boot", "initrd", "systemd", "tmpfiles", "settings", "<config-name>", "<path>", "<tmpfiles-type>", "user"], "readOnly": false, "type": "string"}, "boot.initrd.systemd.tpm2.enable": {"declarations": ["nixos/modules/system/boot/systemd/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"boot.initrd.systemd.package.withTpm2Units\""}, "description": "Whether to enable systemd initrd TPM2 support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "tpm2", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.tpm2.pcrphases.enable": {"declarations": ["nixos/modules/system/boot/systemd/tpm2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable systemd initrd boot phase measurements.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "systemd", "tpm2", "pcrphases", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.systemd.units": {"declarations": ["nixos/modules/system/boot/systemd/initrd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definition of systemd units.", "loc": ["boot", "initrd", "systemd", "units"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.users": {"declarations": ["nixos/modules/config/users-groups.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Users to include in initrd.\n", "loc": ["boot", "initrd", "systemd", "users"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.initrd.systemd.users.<name>.group": {"declarations": ["nixos/modules/config/users-groups.nix"], "default": {"_type": "literalExpression", "text": "config.users.users.${name}.group"}, "description": "Group the user belongs to in initrd.\n", "loc": ["boot", "initrd", "systemd", "users", "<name>", "group"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "boot.initrd.systemd.users.<name>.shell": {"declarations": ["nixos/modules/config/users-groups.nix"], "default": {"_type": "literalExpression", "text": "${pkgs.shadow}/bin/nologin"}, "description": "The path to the user's shell in initrd.\n", "loc": ["boot", "initrd", "systemd", "users", "<name>", "shell"], "readOnly": false, "type": "absolute path, not containing newlines or colons"}, "boot.initrd.systemd.users.<name>.uid": {"declarations": ["nixos/modules/config/users-groups.nix"], "default": {"_type": "literalExpression", "text": "config.users.users.${name}.uid"}, "description": "ID of the user in initrd.\n", "loc": ["boot", "initrd", "systemd", "users", "<name>", "uid"], "readOnly": false, "type": "signed integer"}, "boot.initrd.unl0kr.allowVendorDrivers": {"declarations": ["nixos/modules/system/boot/unl0kr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to load additional drivers for certain vendors (I.E: Wacom, Intel, etc.)", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "unl0kr", "allowVendorDrivers"], "readOnly": false, "type": "boolean"}, "boot.initrd.unl0kr.enable": {"declarations": ["nixos/modules/system/boot/unl0kr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the unl0kr on-screen keyboard in initrd to unlock LUKS.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "initrd", "unl0kr", "enable"], "readOnly": false, "type": "boolean"}, "boot.initrd.unl0kr.package": {"declarations": ["nixos/modules/system/boot/unl0kr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.buffybox"}, "description": "The buffybox package to use.", "loc": ["boot", "initrd", "unl0kr", "package"], "readOnly": false, "type": "package"}, "boot.initrd.unl0kr.settings": {"declarations": ["nixos/modules/system/boot/unl0kr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for `unl0kr`.\n\nSee `unl0kr.conf(5)` for supported values.\n\nAlternatively, visit `https://gitlab.postmarketos.org/postmarketOS/buffybox/-/blob/3.2.0/unl0kr/unl0kr.conf`\n", "example": {"_type": "literalExpression", "text": "{\n  general.animations = true;\n  general.backend = \"drm\";\n  theme = {\n    default = \"pmos-dark\";\n    alternate = \"pmos-light\";\n  };\n}\n"}, "loc": ["boot", "initrd", "unl0kr", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "boot.initrd.verbose": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Verbosity of the initrd. Please note that disabling verbosity removes\nonly the mandatory messages generated by the NixOS scripts. For a\ncompletely silent boot, you might also want to set the two following\nconfiguration options:\n\n- `boot.consoleLogLevel = 0;`\n- `boot.kernelParams = [ \"quiet\" \"udev.log_level=3\" ];`\n", "loc": ["boot", "initrd", "verbose"], "readOnly": false, "type": "boolean"}, "boot.iscsi-initiator.discoverPortal": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "iSCSI portal to boot from.\n", "example": {"_type": "literalExpression", "text": "\"192.168.1.1:3260\""}, "loc": ["boot", "iscsi-initiator", "discoverPortal"], "readOnly": false, "type": "null or string"}, "boot.iscsi-initiator.extraConfig": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra lines to append to /etc/iscsid.conf", "loc": ["boot", "iscsi-initiator", "extraConfig"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "boot.iscsi-initiator.extraConfigFile": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Append an additional file's contents to `/etc/iscsid.conf`. Use a non-store path\nand store passwords in this file. Note: the file specified here must be available\nin the initrd, see: `boot.initrd.secrets`.\n", "loc": ["boot", "iscsi-initiator", "extraConfigFile"], "readOnly": false, "type": "null or string"}, "boot.iscsi-initiator.extraIscsiCommands": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra iscsi commands to run in the initrd.", "loc": ["boot", "iscsi-initiator", "extraIscsiCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.iscsi-initiator.logLevel": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Higher numbers elicits more logs.\n", "example": {"_type": "literalExpression", "text": "8"}, "loc": ["boot", "iscsi-initiator", "logLevel"], "readOnly": false, "type": "signed integer"}, "boot.iscsi-initiator.loginAll": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Do not log into a specific target on the portal, but to all that we discover.\nThis overrides setting target.\n", "loc": ["boot", "iscsi-initiator", "loginAll"], "readOnly": false, "type": "boolean"}, "boot.iscsi-initiator.name": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the iSCSI initiator to boot from. Note, booting from iscsi\nrequires networkd based networking.\n", "example": {"_type": "literalExpression", "text": "\"iqn.2020-08.org.linux-iscsi.initiatorhost:example\""}, "loc": ["boot", "iscsi-initiator", "name"], "readOnly": false, "type": "null or string"}, "boot.iscsi-initiator.target": {"declarations": ["nixos/modules/services/networking/iscsi/root-initiator.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the iSCSI target to boot from.\n", "example": {"_type": "literalExpression", "text": "\"iqn.2020-08.org.linux-iscsi.targethost:example\""}, "loc": ["boot", "iscsi-initiator", "target"], "readOnly": false, "type": "null or string"}, "boot.kernel.enable": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the Linux kernel. This is useful for systemd-like containers which do not require a kernel.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "kernel", "enable"], "readOnly": false, "type": "boolean"}, "boot.kernel.randstructSeed": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Provides a custom seed for the {var}`RANDSTRUCT` security\noption of the Linux kernel. Note that {var}`RANDSTRUCT` is\nonly enabled in NixOS hardened kernels. Using a custom seed requires\nbuilding the kernel and dependent packages locally, since this\ncustomization happens at build time.\n", "example": {"_type": "literalExpression", "text": "\"my secret seed\""}, "loc": ["boot", "kernel", "randstructSeed"], "readOnly": false, "type": "string"}, "boot.kernel.sysctl": {"declarations": ["nixos/modules/config/sysctl.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Runtime parameters of the Linux kernel, as set by\n{manpage}`sysctl(8)`.  Note that sysctl\nparameters names must be enclosed in quotes\n(e.g. `\"vm.swappiness\"` instead of\n`vm.swappiness`).  The value of each\nparameter may be a string, integer, boolean, or null\n(signifying the option will not appear at all).\n", "example": {"_type": "literalExpression", "text": "{ \"net.ipv4.tcp_syncookies\" = false; \"vm.swappiness\" = 60; }\n"}, "loc": ["boot", "kernel", "sysctl"], "readOnly": false, "type": "open submodule of attribute set of (sysctl option value)"}, "boot.kernel.sysctl.\"net.core.rmem_max\"": {"declarations": ["nixos/modules/config/sysctl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum receive socket buffer size in bytes. In case of conflicting values, the highest will be used.", "loc": ["boot", "kernel", "sysctl", "net.core.rmem_max"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "boot.kernel.sysctl.\"net.core.wmem_max\"": {"declarations": ["nixos/modules/config/sysctl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum send socket buffer size in bytes. In case of conflicting values, the highest will be used.", "loc": ["boot", "kernel", "sysctl", "net.core.wmem_max"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "boot.kernel.sysfs": {"declarations": ["nixos/modules/config/sysfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "sysfs attributes to be set as soon as they become available.\n\nAttribute names represent path components in the sysfs filesystem and\ncannot be `.` or `..` nor contain any slash character (`/`).\n\nNames may contain shell\u2010style glob patterns (`*`, `?` and `[\u2026]`)\nmatching a single path component, these should however be used with\ncaution, as they may produce unexpected results if attribute paths\noverlap.\n\nValues will be converted to strings, with list elements concatenated\nwith commata and booleans converted to numeric values (`0` or `1`).\n\n`null` values are ignored, allowing removal of values defined in other\nmodules, as are empty attribute sets.\n\nList values defined in different modules will _not_ be concatenated.\n\nThis option may only be used for attributes which can be set\nidempotently, as the configured values might be written more than once.\n", "example": {"_type": "literalExpression", "text": "{\n  # enable transparent hugepages with deferred defragmentaion\n  kernel.mm.transparent_hugepage = {\n    enabled = \"always\";\n    defrag = \"defer\";\n    shmem_enabled = \"within_size\";\n  };\n\n  devices.system.cpu = {\n    # configure powesave frequency governor for all CPUs\n    # the [0-9]* glob pattern ensures that other paths\n    # like cpufreq or cpuidle are not matched\n    \"cpu[0-9]*\" = {\n      scaling_governor = \"powersave\";\n      energy_performance_preference = 8;\n    };\n\n    # disable frequency boost\n    intel_pstate.no_turbo = true;\n  };\n}\n"}, "loc": ["boot", "kernel", "sysfs"], "readOnly": false, "type": "open submodule of nested attribute set of null or sysfs attribute values"}, "boot.kernelModules": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The set of kernel modules to be loaded in the second stage of\nthe boot process.  Note that modules that are needed to\nmount the root file system should be added to\n{option}`boot.initrd.availableKernelModules` or\n{option}`boot.initrd.kernelModules`.\n\nThis can either be a list of modules, or an attrset. In an\nattrset, names that are set to `true` represent modules that will\nbe included. Note that setting these names to `false` does not\nprevent the module from being loaded. For that, use\n{option}`boot.blacklistedKernelModules`.\n\n", "loc": ["boot", "kernelModules"], "readOnly": false, "type": "(attribute set of boolean) or (list of string) convertible to it"}, "boot.kernelPackages": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "pkgs.linuxPackages"}, "description": "This option allows you to override the Linux kernel used by\nNixOS.  Since things like external kernel module packages are\ntied to the kernel you're using, it also overrides those.\nThis option is a function that takes Nixpkgs as an argument\n(as a convenience), and returns an attribute set containing at\nthe very least an attribute {var}`kernel`.\nAdditional attributes may be needed depending on your\nconfiguration.  For instance, if you use the NVIDIA X driver,\nthen it also needs to contain an attribute\n{var}`nvidia_x11`.\n\nPlease note that we strictly support kernel versions that are\nmaintained by the Linux developers only. More information on the\navailability of kernel versions is documented\n[in the Linux section of the manual](https://nixos.org/manual/nixos/unstable/index.html#sec-kernel-config).\n", "example": {"_type": "literalExpression", "text": "pkgs.linuxKernel.packages.linux_5_10"}, "loc": ["boot", "kernelPackages"], "readOnly": false, "type": "raw value"}, "boot.kernelParams": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Parameters added to the kernel command line.", "loc": ["boot", "kernelParams"], "readOnly": false, "type": "list of string, with spaces inside double quotes"}, "boot.kernelPatches": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of additional patches to apply to the kernel.\n\nEvery item should be an attribute set with the following attributes:\n\n```nix\n{\n  name = \"foo\";                 # descriptive name, required\n\n  patch = ./foo.patch;          # path or derivation that contains the patch source\n                                # (required, but can be null if only config changes\n                                # are needed)\n\n  structuredExtraConfig = {     # attrset of extra configuration parameters without the CONFIG_ prefix\n    FOO = lib.kernel.yes;       # (optional)\n  };                            # values should generally be lib.kernel.yes,\n                                # lib.kernel.no or lib.kernel.module\n\n  features = {                  # attrset of extra \"features\" the kernel is considered to have\n    foo = true;                 # (may be checked by other NixOS modules, optional)\n  };\n\n  extraConfig = \"FOO y\";        # extra configuration options in string form without the CONFIG_ prefix\n                                # (optional, multiple lines allowed to specify multiple options)\n                                # (deprecated, use structuredExtraConfig instead)\n}\n```\n\nThere's a small set of existing kernel patches in Nixpkgs, available as `pkgs.kernelPatches`,\nthat follow this format and can be used directly.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    name = \"foo\";\n    patch = ./foo.patch;\n    structuredExtraConfig.FOO = lib.kernel.yes;\n    features.foo = true;\n  }\n  {\n    name = \"foo-ml-mbox\";\n    patch = (fetchurl {\n      url = \"https://lore.kernel.org/lkml/19700205182810.58382-1-email@domain/t.mbox.gz\";\n      hash = \"sha256-...\";\n    });\n  }\n]\n"}, "loc": ["boot", "kernelPatches"], "readOnly": false, "type": "list of (attribute set)"}, "boot.kexec.enable": {"declarations": ["nixos/modules/system/boot/kexec.nix"], "default": {"_type": "literalExpression", "text": "lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.kexec-tools"}, "description": "Whether to enable kexec.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "kexec", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.efi.canTouchEfiVariables": {"declarations": ["nixos/modules/system/boot/loader/efi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the installation process is allowed to modify EFI boot variables.", "loc": ["boot", "loader", "efi", "canTouchEfiVariables"], "readOnly": false, "type": "boolean"}, "boot.loader.efi.efiSysMountPoint": {"declarations": ["nixos/modules/system/boot/loader/efi.nix"], "default": {"_type": "literalExpression", "text": "\"/boot\""}, "description": "Where the EFI System Partition is mounted.", "loc": ["boot", "loader", "efi", "efiSysMountPoint"], "readOnly": false, "type": "string"}, "boot.loader.external.enable": {"declarations": ["nixos/modules/system/boot/loader/external/external.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable using an external tool to install your bootloader.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "external", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.external.installHook": {"declarations": ["nixos/modules/system/boot/loader/external/external.nix"], "description": "The full path to a program of your choosing which performs the bootloader installation process.\n\nThe program will be called with an argument pointing to the output of the system's toplevel.\n", "loc": ["boot", "loader", "external", "installHook"], "readOnly": false, "type": "absolute path"}, "boot.loader.generationsDir.copyKernels": {"declarations": ["nixos/modules/system/boot/loader/generations-dir/generations-dir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to copy the necessary boot files into /boot, so\n/nix/store is not needed by the boot loader.\n", "loc": ["boot", "loader", "generationsDir", "copyKernels"], "readOnly": false, "type": "boolean"}, "boot.loader.generationsDir.enable": {"declarations": ["nixos/modules/system/boot/loader/generations-dir/generations-dir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to create symlinks to the system generations under\n`/boot`.  When enabled,\n`/boot/default/kernel`,\n`/boot/default/initrd`, etc., are updated to\npoint to the current generation's kernel image, initial RAM\ndisk, and other bootstrap files.\n\nThis optional is not necessary with boot loaders such as GNU GRUB\nfor which the menu is updated to point to the latest bootstrap\nfiles.  However, it is needed for U-Boot on platforms where the\nboot command line is stored in flash memory rather than in a\nmenu file.\n", "loc": ["boot", "loader", "generationsDir", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.generic-extlinux-compatible.configurationLimit": {"declarations": ["nixos/modules/system/boot/loader/generic-extlinux-compatible"], "default": {"_type": "literalExpression", "text": "20"}, "description": "Maximum number of configurations in the boot menu.\n", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["boot", "loader", "generic-extlinux-compatible", "configurationLimit"], "readOnly": false, "type": "signed integer"}, "boot.loader.generic-extlinux-compatible.enable": {"declarations": ["nixos/modules/system/boot/loader/generic-extlinux-compatible"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to generate an extlinux-compatible configuration file\nunder `/boot/extlinux.conf`.  For instance,\nU-Boot's generic distro boot support uses this file format.\n\nSee [U-boot's documentation](https://u-boot.readthedocs.io/en/latest/develop/distro.html)\nfor more information.\n", "loc": ["boot", "loader", "generic-extlinux-compatible", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.generic-extlinux-compatible.mirroredBoots": {"declarations": ["nixos/modules/system/boot/loader/generic-extlinux-compatible"], "default": {"_type": "literalExpression", "text": "[\n  {\n    path = \"/boot\";\n  }\n]"}, "description": "Mirror the boot configuration to multiple paths.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    path = \"/boot1\";\n  }\n  {\n    path = \"/boot2\";\n  }\n]"}, "loc": ["boot", "loader", "generic-extlinux-compatible", "mirroredBoots"], "readOnly": false, "type": "list of (submodule)"}, "boot.loader.generic-extlinux-compatible.mirroredBoots.*.path": {"declarations": ["nixos/modules/system/boot/loader/generic-extlinux-compatible"], "description": "The path to the boot directory where the extlinux-compatible\nconfiguration files will be written.\n", "example": {"_type": "literalExpression", "text": "\"/boot1\""}, "loc": ["boot", "loader", "generic-extlinux-compatible", "mirroredBoots", "*", "path"], "readOnly": false, "type": "string"}, "boot.loader.generic-extlinux-compatible.populateCmd": {"declarations": ["nixos/modules/system/boot/loader/generic-extlinux-compatible"], "description": "Contains the builder command used to populate an image,\nhonoring all options except the `-c <path-to-default-configuration>`\nargument.\nUseful to have for sdImage.populateRootCommands\n", "loc": ["boot", "loader", "generic-extlinux-compatible", "populateCmd"], "readOnly": true, "type": "string"}, "boot.loader.generic-extlinux-compatible.useGenerationDeviceTree": {"declarations": ["nixos/modules/system/boot/loader/generic-extlinux-compatible"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to generate Device Tree-related directives in the\nextlinux configuration.\n\nWhen enabled, the bootloader will attempt to load the device\ntree binaries from the generation's kernel.\n\nNote that this affects all generations, regardless of the\nsetting value used in their configurations.\n", "loc": ["boot", "loader", "generic-extlinux-compatible", "useGenerationDeviceTree"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.backgroundColor": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Background color to be used for GRUB to fill the areas the image isn't filling.\n", "example": {"_type": "literalExpression", "text": "\"#7EBAE4\""}, "loc": ["boot", "loader", "grub", "backgroundColor"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.configurationLimit": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "100"}, "description": "Maximum of configurations in boot menu. GRUB has problems when\nthere are too many entries.\n", "example": {"_type": "literalExpression", "text": "120"}, "loc": ["boot", "loader", "grub", "configurationLimit"], "readOnly": false, "type": "signed integer"}, "boot.loader.grub.configurationName": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "GRUB entry name instead of default.\n", "example": {"_type": "literalExpression", "text": "\"Stable 2.6.21\""}, "loc": ["boot", "loader", "grub", "configurationName"], "readOnly": false, "type": "string"}, "boot.loader.grub.copyKernels": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the GRUB menu builder should copy kernels and initial\nramdisks to /boot.  This is done automatically if /boot is\non a different partition than /.\n", "loc": ["boot", "loader", "grub", "copyKernels"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.default": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"0\""}, "description": "Index of the default menu item to be booted.\nCan also be set to \"saved\", which will make GRUB select\nthe menu item that was used at the last boot.\n", "loc": ["boot", "loader", "grub", "default"], "readOnly": false, "type": "signed integer or string"}, "boot.loader.grub.device": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The device on which the GRUB boot loader will be installed.\nThe special value `nodev` means that a GRUB\nboot menu will be generated, but GRUB itself will not\nactually be installed.  To install GRUB on multiple devices,\nuse `boot.loader.grub.devices`.\n", "example": {"_type": "literalExpression", "text": "\"/dev/disk/by-id/wwn-0x500001234567890a\""}, "loc": ["boot", "loader", "grub", "device"], "readOnly": false, "type": "string"}, "boot.loader.grub.devices": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The devices on which the boot loader, GRUB, will be\ninstalled. Can be used instead of `device` to\ninstall GRUB onto multiple devices.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev/disk/by-id/wwn-0x500001234567890a\"\n]"}, "loc": ["boot", "loader", "grub", "devices"], "readOnly": false, "type": "list of string"}, "boot.loader.grub.efiInstallAsRemovable": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to invoke `grub-install` with\n`--removable`.\n\nUnless you turn this on, GRUB will install itself somewhere in\n`boot.loader.efi.efiSysMountPoint` (exactly where\ndepends on other config variables). If you've set\n`boot.loader.efi.canTouchEfiVariables` *AND* you\nare currently booted in UEFI mode, then GRUB will use\n`efibootmgr` to modify the boot order in the\nEFI variables of your firmware to include this location. If you are\n*not* booted in UEFI mode at the time GRUB is being installed, the\nNVRAM will not be modified, and your system will not find GRUB at\nboot time. However, GRUB will still return success so you may miss\nthe warning that gets printed (\"`efibootmgr: EFI variables\nare not supported on this system.`\").\n\nIf you turn this feature on, GRUB will install itself in a\nspecial location within `efiSysMountPoint` (namely\n`EFI/boot/boot$arch.efi`) which the firmwares\nare hardcoded to try first, regardless of NVRAM EFI variables.\n\nTo summarize, turn this on if:\n- You are installing NixOS and want it to boot in UEFI mode,\n  but you are currently booted in legacy mode\n- You want to make a drive that will boot regardless of\n  the NVRAM state of the computer (like a USB \"removable\" drive)\n- You simply dislike the idea of depending on NVRAM\n  state to make your drive bootable\n", "loc": ["boot", "loader", "grub", "efiInstallAsRemovable"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.efiSupport": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether GRUB should be built with EFI support.\n", "loc": ["boot", "loader", "grub", "efiSupport"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.enable": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "!config.boot.isContainer"}, "description": "Whether to enable the GNU GRUB boot loader.\n", "loc": ["boot", "loader", "grub", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.enableCryptodisk": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable support for encrypted partitions. GRUB should automatically\nunlock the correct encrypted partition and look for filesystems.\n", "loc": ["boot", "loader", "grub", "enableCryptodisk"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.entryOptions": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"--class nixos --unrestricted\""}, "description": "Options applied to the primary NixOS menu entry.\n", "loc": ["boot", "loader", "grub", "entryOptions"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.extraConfig": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional GRUB commands inserted in the configuration file\njust before the menu entries.\n", "example": {"_type": "literalExpression", "text": "''\n  serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n  terminal_input --append serial\n  terminal_output --append serial\n''"}, "loc": ["boot", "loader", "grub", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.grub.extraEntries": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any additional entries you want added to the GRUB boot menu.\n", "example": {"_type": "literalExpression", "text": "''\n  # GRUB 2 example\n  menuentry \"Windows 7\" {\n    chainloader (hd0,4)+1\n  }\n  \n  # GRUB 2 with UEFI example, chainloading another distro\n  menuentry \"Fedora\" {\n    set root=(hd1,1)\n    chainloader /efi/fedora/grubx64.efi\n  }\n''"}, "loc": ["boot", "loader", "grub", "extraEntries"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.grub.extraEntriesBeforeNixOS": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether extraEntries are included before the default option.\n", "loc": ["boot", "loader", "grub", "extraEntriesBeforeNixOS"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.extraFiles": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of files to be copied to {file}`/boot`.\nEach attribute name denotes the destination file name in\n{file}`/boot`, while the corresponding\nattribute value specifies the source file.\n", "example": {"_type": "literalExpression", "text": "{ \"memtest.bin\" = pkgs.memtest86plus.efi; }\n"}, "loc": ["boot", "loader", "grub", "extraFiles"], "readOnly": false, "type": "attribute set of absolute path"}, "boot.loader.grub.extraGrubInstallArgs": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments passed to `grub-install`.\n\nA use case for this is to build specific GRUB2 modules\ndirectly into the GRUB2 kernel image, so that they are available\nand activated even in the `grub rescue` shell.\n\nThey are also necessary when the BIOS/UEFI is bugged and cannot\ncorrectly read large disks (e.g. above 2 TB), so GRUB2's own\n`nativedisk` and related modules can be used\nto use its own disk drivers. The example shows one such case.\nThis is also useful for booting from USB.\nSee the\n[\nGRUB source code\n](https://git.savannah.gnu.org/cgit/grub.git/tree/grub-core/commands/nativedisk.c?h=grub-2.04#n326)\nfor which disk modules are available.\n\nThe list elements are passed directly as `argv`\narguments to the `grub-install` program, in order.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--modules=nativedisk ahci pata part_gpt part_msdos diskfilter mdraid1x lvm ext2\"\n]"}, "loc": ["boot", "loader", "grub", "extraGrubInstallArgs"], "readOnly": false, "type": "list of string"}, "boot.loader.grub.extraInstallCommands": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional shell commands inserted in the bootloader installer\nscript after generating menu entries.\n", "example": {"_type": "literalExpression", "text": "''\n  # the example below generates detached signatures that GRUB can verify\n  # https://www.gnu.org/software/grub/manual/grub/grub.html#Using-digital-signatures\n  ''${pkgs.findutils}/bin/find /boot -not -path \"/boot/efi/*\" -type f -name '*.sig' -delete\n  old_gpg_home=$GNUPGHOME\n  export GNUPGHOME=\"$(mktemp -d)\"\n  ''${pkgs.gnupg}/bin/gpg --import ''${priv_key} > /dev/null 2>&1\n  ''${pkgs.findutils}/bin/find /boot -not -path \"/boot/efi/*\" -type f -exec ''${pkgs.gnupg}/bin/gpg --detach-sign \"{}\" \\; > /dev/null 2>&1\n  rm -rf $GNUPGHOME\n  export GNUPGHOME=$old_gpg_home\n''"}, "loc": ["boot", "loader", "grub", "extraInstallCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.grub.extraPerEntryConfig": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional GRUB commands inserted in the configuration file\nat the start of each NixOS menu entry.\n", "example": {"_type": "literalExpression", "text": "\"root (hd0)\""}, "loc": ["boot", "loader", "grub", "extraPerEntryConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.grub.extraPrepareConfig": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional bash commands to be run at the script that\nprepares the GRUB menu entries.\n", "loc": ["boot", "loader", "grub", "extraPrepareConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.grub.font": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.grub2}/share/grub/unicode.pf2\""}, "description": "Path to a TrueType, OpenType, or pf2 font to be used by Grub.\n", "loc": ["boot", "loader", "grub", "font"], "readOnly": false, "type": "null or absolute path"}, "boot.loader.grub.fontSize": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Font size for the grub menu. Ignored unless `font`\nis set to a ttf or otf font.\n", "example": {"_type": "literalExpression", "text": "16"}, "loc": ["boot", "loader", "grub", "fontSize"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.grub.forceInstall": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to try and forcibly install GRUB even if problems are\ndetected. It is not recommended to enable this unless you know what\nyou are doing.\n", "loc": ["boot", "loader", "grub", "forceInstall"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.forcei686": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to force the use of a ia32 boot loader on x64 systems. Required\nto install and run NixOS on 64bit x86 systems with 32bit (U)EFI.\n", "loc": ["boot", "loader", "grub", "forcei686"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.fsIdentifier": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"uuid\""}, "description": "Determines how GRUB will identify devices when generating the\nconfiguration file. A value of uuid / label signifies that grub\nwill always resolve the uuid or label of the device before using\nit in the configuration. A value of provided means that GRUB will\nuse the device name as show in {command}`df` or\n{command}`mount`. Note, zfs zpools / datasets are ignored\nand will always be mounted using their labels.\n", "loc": ["boot", "loader", "grub", "fsIdentifier"], "readOnly": false, "type": "one of \"uuid\", \"label\", \"provided\""}, "boot.loader.grub.gfxmodeBios": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"1024x768\""}, "description": "The gfxmode to pass to GRUB when loading a graphical boot interface under BIOS.\n", "example": {"_type": "literalExpression", "text": "\"auto\""}, "loc": ["boot", "loader", "grub", "gfxmodeBios"], "readOnly": false, "type": "string"}, "boot.loader.grub.gfxmodeEfi": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "The gfxmode to pass to GRUB when loading a graphical boot interface under EFI.\n", "example": {"_type": "literalExpression", "text": "\"1024x768\""}, "loc": ["boot", "loader", "grub", "gfxmodeEfi"], "readOnly": false, "type": "string"}, "boot.loader.grub.gfxpayloadBios": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"text\""}, "description": "The gfxpayload to pass to GRUB when loading a graphical boot interface under BIOS.\n", "example": {"_type": "literalExpression", "text": "\"keep\""}, "loc": ["boot", "loader", "grub", "gfxpayloadBios"], "readOnly": false, "type": "string"}, "boot.loader.grub.gfxpayloadEfi": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"keep\""}, "description": "The gfxpayload to pass to GRUB when loading a graphical boot interface under EFI.\n", "example": {"_type": "literalExpression", "text": "\"text\""}, "loc": ["boot", "loader", "grub", "gfxpayloadEfi"], "readOnly": false, "type": "string"}, "boot.loader.grub.ipxe": {"declarations": ["nixos/modules/system/boot/loader/grub/ipxe.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of iPXE scripts available for\nbooting from the GRUB boot menu.\n", "example": {"_type": "literalExpression", "text": "{ demo = ''\n    #!ipxe\n    dhcp\n    chain http://boot.ipxe.org/demo/boot.php\n  '';\n}\n"}, "loc": ["boot", "loader", "grub", "ipxe"], "readOnly": false, "type": "attribute set of (absolute path or string)"}, "boot.loader.grub.memtest86.enable": {"declarations": ["nixos/modules/system/boot/loader/grub/memtest.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Make Memtest86+, a memory testing program, available from the GRUB\nboot menu.\n", "loc": ["boot", "loader", "grub", "memtest86", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.memtest86.params": {"declarations": ["nixos/modules/system/boot/loader/grub/memtest.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Parameters added to the Memtest86+ command line. As of memtest86+ 5.01\nthe following list of (apparently undocumented) parameters are\naccepted:\n\n- `console=...`, set up a serial console.\n  Examples:\n  `console=ttyS0`,\n  `console=ttyS0,9600` or\n  `console=ttyS0,115200n8`.\n\n- `btrace`, enable boot trace.\n\n- `maxcpus=N`, limit number of CPUs.\n\n- `onepass`, run one pass and exit if there\n  are no errors.\n\n- `tstlist=...`, list of tests to run.\n  Example: `0,1,2`.\n\n- `cpumask=...`, set a CPU mask, to select CPUs\n  to use for testing.\n\nThis list of command line options was obtained by reading the\nMemtest86+ source code.\n", "example": {"_type": "literalExpression", "text": "[\n  \"console=ttyS0,115200\"\n]"}, "loc": ["boot", "loader", "grub", "memtest86", "params"], "readOnly": false, "type": "list of string"}, "boot.loader.grub.mirroredBoots": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Mirror the boot configuration to multiple partitions and install grub\nto the respective devices corresponding to those partitions.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    devices = [\n      \"/dev/disk/by-id/wwn-0x500001234567890a\"\n    ];\n    path = \"/boot1\";\n  }\n  {\n    devices = [\n      \"/dev/disk/by-id/wwn-0x500009876543210a\"\n    ];\n    path = \"/boot2\";\n  }\n]"}, "loc": ["boot", "loader", "grub", "mirroredBoots"], "readOnly": false, "type": "list of (submodule)"}, "boot.loader.grub.mirroredBoots.*.devices": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The path to the devices which will have the GRUB MBR written.\nNote these are typically device paths and not paths to partitions.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev/disk/by-id/wwn-0x500001234567890a\"\n  \"/dev/disk/by-id/wwn-0x500009876543210a\"\n]"}, "loc": ["boot", "loader", "grub", "mirroredBoots", "*", "devices"], "readOnly": false, "type": "list of string"}, "boot.loader.grub.mirroredBoots.*.efiBootloaderId": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The id of the bootloader to store in efi nvram.\nThe default is to name it NixOS and append the path or efiSysMountPoint.\nThis is only used if `boot.loader.efi.canTouchEfiVariables` is true.\n", "example": {"_type": "literalExpression", "text": "\"NixOS-fsid\""}, "loc": ["boot", "loader", "grub", "mirroredBoots", "*", "efiBootloaderId"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.mirroredBoots.*.efiSysMountPoint": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the efi system mount point. Usually this is the same\npartition as the above path and can be left as null.\n", "example": {"_type": "literalExpression", "text": "\"/boot1/efi\""}, "loc": ["boot", "loader", "grub", "mirroredBoots", "*", "efiSysMountPoint"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.mirroredBoots.*.path": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "description": "The path to the boot directory where GRUB will be written. Generally\nthis boot path should double as an EFI path.\n", "example": {"_type": "literalExpression", "text": "\"/boot1\""}, "loc": ["boot", "loader", "grub", "mirroredBoots", "*", "path"], "readOnly": false, "type": "string"}, "boot.loader.grub.splashImage": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Background image used for GRUB.\nSet to `null` to run GRUB in text mode.\n\n::: {.note}\nFile must be one of .png, .tga, .jpg, or .jpeg. JPEG images must\nnot be progressive.\nThe image will be scaled if necessary to fit the screen.\n:::\n", "example": {"_type": "literalExpression", "text": "./my-background.png"}, "loc": ["boot", "loader", "grub", "splashImage"], "readOnly": false, "type": "null or absolute path"}, "boot.loader.grub.splashMode": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"stretch\""}, "description": "Whether to stretch the image or show the image in the top-left corner unstretched.\n", "loc": ["boot", "loader", "grub", "splashMode"], "readOnly": false, "type": "one of \"normal\", \"stretch\""}, "boot.loader.grub.storePath": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"/nix/store\""}, "description": "Path to the Nix store when looking for kernels at boot.\nOnly makes sense when copyKernels is false.\n", "loc": ["boot", "loader", "grub", "storePath"], "readOnly": false, "type": "string"}, "boot.loader.grub.subEntryOptions": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"--class nixos\""}, "description": "Options applied to the secondary NixOS submenu entry.\n", "loc": ["boot", "loader", "grub", "subEntryOptions"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.theme": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the grub theme to be used.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.kdePackages.breeze-grub}/grub/themes/breeze\""}, "loc": ["boot", "loader", "grub", "theme"], "readOnly": false, "type": "null or absolute path"}, "boot.loader.grub.timeoutStyle": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "\"menu\""}, "description": " - `menu` shows the menu.\n - `countdown` uses a text-mode countdown.\n - `hidden` hides GRUB entirely.\n\nWhen using a theme, the default value (`menu`) is appropriate for the graphical countdown.\n\nWhen attempting to do flicker-free boot, `hidden` should be used.\n\nSee the [GRUB documentation section about `timeout_style`](https://www.gnu.org/software/grub/manual/grub/html_node/timeout.html).\n\n::: {.note}\nIf this option is set to \u2018countdown\u2019 or \u2018hidden\u2019 [...] and ESC or F4 are pressed, or SHIFT is held down during that time, it will display the menu and wait for input.\n:::\n\nFrom: [Simple configuration handling page, under GRUB_TIMEOUT_STYLE](https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html).\n", "loc": ["boot", "loader", "grub", "timeoutStyle"], "readOnly": false, "type": "one of \"menu\", \"countdown\", \"hidden\""}, "boot.loader.grub.useOSProber": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set to true, append entries for other OSs detected by os-prober.\n", "loc": ["boot", "loader", "grub", "useOSProber"], "readOnly": false, "type": "boolean"}, "boot.loader.grub.users": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "User accounts for GRUB. When specified, the GRUB command line and\nall boot options except the default are password-protected.\nAll passwords and hashes provided will be stored in /boot/grub/grub.cfg,\nand will be visible to any local user who can read this file. Additionally,\nany passwords and hashes provided directly in a Nix configuration\n(as opposed to external files) will be copied into the Nix store, and\nwill be visible to all local users.\n", "example": {"_type": "literalExpression", "text": "{\n  root = {\n    hashedPasswordFile = \"/path/to/file\";\n  };\n}"}, "loc": ["boot", "loader", "grub", "users"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.loader.grub.users.<name>.hashedPassword": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the password hash for the account,\ngenerated with grub-mkpasswd-pbkdf2.\nThis hash will be copied to the Nix store, and will be visible to all local users.\n", "example": {"_type": "literalExpression", "text": "\"grub.pbkdf2.sha512.10000.674DFFDEF76E13EA...2CC972B102CF4355\""}, "loc": ["boot", "loader", "grub", "users", "<name>", "hashedPassword"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.users.<name>.hashedPasswordFile": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the path to a file containing the password hash\nfor the account, generated with grub-mkpasswd-pbkdf2.\nThis hash will be stored in /boot/grub/grub.cfg, and will\nbe visible to any local user who can read this file.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/file\""}, "loc": ["boot", "loader", "grub", "users", "<name>", "hashedPasswordFile"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.users.<name>.password": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the clear text password for the account.\nThis password will be copied to the Nix store, and will be visible to all local users.\n", "example": {"_type": "literalExpression", "text": "\"Pa$$w0rd!\""}, "loc": ["boot", "loader", "grub", "users", "<name>", "password"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.users.<name>.passwordFile": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the path to a file containing the\nclear text password for the account.\nThis password will be stored in /boot/grub/grub.cfg, and will\nbe visible to any local user who can read this file.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/file\""}, "loc": ["boot", "loader", "grub", "users", "<name>", "passwordFile"], "readOnly": false, "type": "null or string"}, "boot.loader.grub.zfsSupport": {"declarations": ["nixos/modules/system/boot/loader/grub/grub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether GRUB should be built against libzfs.\n", "loc": ["boot", "loader", "grub", "zfsSupport"], "readOnly": false, "type": "boolean"}, "boot.loader.initScript.enable": {"declarations": ["nixos/modules/system/boot/loader/init-script/init-script.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Some systems require a /sbin/init script which is started.\nOr having it makes starting NixOS easier.\nThis applies to some kind of hosting services and user mode linux.\n\nAdditionally this script will create\n/boot/init-other-configurations-contents.txt containing\ncontents of remaining configurations. You can copy paste them into\n/sbin/init manually running a rescue system or such.\n", "loc": ["boot", "loader", "initScript", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.additionalFiles": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of files to be copied to {file}`/boot`. Each attribute name denotes the\ndestination file name in {file}`/boot`, while the corresponding attribute value\nspecifies the source file.\n", "example": {"_type": "literalExpression", "text": "{ \"efi/memtest86/memtest86.efi\" = \"${pkgs.memtest86-efi}/BOOTX64.efi\"; }\n"}, "loc": ["boot", "loader", "limine", "additionalFiles"], "readOnly": false, "type": "attribute set of absolute path"}, "boot.loader.limine.biosDevice": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "\"nodev\""}, "description": "Device to install the BIOS version of limine on.\n", "loc": ["boot", "loader", "limine", "biosDevice"], "readOnly": false, "type": "string"}, "boot.loader.limine.biosSupport": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "!config.boot.loader.limine.efiSupport && pkgs.stdenv.hostPlatform.isx86"}, "description": "Whether or not to install limine for BIOS.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "biosSupport"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.efiInstallAsRemovable": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "!config.boot.loader.efi.canTouchEfiVariables"}, "description": "Whether or not to install the limine EFI files as removable.\n\nSee {option}`boot.loader.grub.efiInstallAsRemovable`\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "efiInstallAsRemovable"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.efiSupport": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "pkgs.stdenv.hostPlatform.isEfi"}, "description": "Whether or not to install the limine EFI files.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "efiSupport"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.enable": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Limine Bootloader.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.enableEditor": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow editing the boot entries before booting them.\nIt is recommended to set this to false, as it allows gaining root\naccess by passing `init=/bin/sh` as a kernel parameter.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "enableEditor"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.enrollConfig": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "boot.loader.limine.panicOnChecksumMismatch"}, "description": "Whether or not to enroll the config.\nOnly works on EFI!\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "enrollConfig"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.extraConfig": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A string which is prepended to limine.conf. The config format can be found [here](https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md).\n", "example": {"_type": "literalExpression", "text": "serial: yes\n"}, "loc": ["boot", "loader", "limine", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.limine.extraEntries": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A string which is appended to the end of limine.conf. The config format can be found [here](https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md).\n", "example": {"_type": "literalExpression", "text": "/memtest86\n  protocol: chainload\n  path: boot():///efi/memtest86/memtest86.efi\n"}, "loc": ["boot", "loader", "limine", "extraEntries"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.limine.force": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force installation even if the safety checks fail, use absolutely only if necessary!\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "force"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.maxGenerations": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of latest generations in the boot menu.\nUseful to prevent boot partition of running out of disk space.\n`null` means no limit i.e. all generations that were not\ngarbage collected yet.\n", "example": {"_type": "literalExpression", "text": "50"}, "loc": ["boot", "loader", "limine", "maxGenerations"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.limine.package": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "pkgs.limine"}, "description": "The limine package to use.", "loc": ["boot", "loader", "limine", "package"], "readOnly": false, "type": "package"}, "boot.loader.limine.panicOnChecksumMismatch": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether or not checksum validation failure should be a fatal\nerror at boot time.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "panicOnChecksumMismatch"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.partitionIndex": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The 1-based index of the dedicated partition for limine's second stage.\n", "loc": ["boot", "loader", "limine", "partitionIndex"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.limine.resolution": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The framebuffer resolution to set when booting Linux entries.\nThis controls the GOP mode that Limine sets before handing off to the kernel,\nwhich affects early boot graphics (e.g., simpledrm, efifb).\n\nFormat: `<width>x<height>` or `<width>x<height>x<bpp>`.\nIf bpp is omitted, defaults to 32.\n\nNote: Refresh rate is not supported because the UEFI GOP protocol only\ndefines framebuffer dimensions and pixel format, not display timing.\nRefresh rate is determined later by the GPU driver based on EDID.\n\nThis is distinct from {option}`boot.loader.limine.style.interface.resolution`\nwhich only affects the Limine bootloader's own menu interface.\n", "example": {"_type": "literalExpression", "text": "\"1920x1080x32\""}, "loc": ["boot", "loader", "limine", "resolution"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.secureBoot.autoEnrollKeys.enable": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enroll automatically generated keys", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "secureBoot", "autoEnrollKeys", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.secureBoot.autoEnrollKeys.extraArgs": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"--microsoft\"\n  \"--firmware-builtin\"\n]"}, "description": "Extra arguments passed to sbctl", "loc": ["boot", "loader", "limine", "secureBoot", "autoEnrollKeys", "extraArgs"], "readOnly": false, "type": "list of string"}, "boot.loader.limine.secureBoot.autoGenerateKeys": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Generate keys automatically when none exists during bootloader installation", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "secureBoot", "autoGenerateKeys"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.secureBoot.enable": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use sign the limine binary with sbctl.\n\n::: {.note}\nThis requires you to already have generated the keys and enrolled them with {command}`sbctl`.\n\nTo create keys use {command}`sbctl create-keys`.\n\nTo enroll them first reset secure boot to \"Setup Mode\". This is device specific.\nThen enroll them using {command}`sbctl enroll-keys -m -f`.\n\nYou can now rebuild your system with this option enabled.\n\nAfterwards turn setup mode off and enable secure boot.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "secureBoot", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.secureBoot.sbctl": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "pkgs.sbctl"}, "description": "The sbctl package to use.", "loc": ["boot", "loader", "limine", "secureBoot", "sbctl"], "readOnly": false, "type": "package"}, "boot.loader.limine.style.backdrop": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Color to fill the rest of the screen with when wallpaper_style is centered in RRGGBB format.\n", "example": {"_type": "literalExpression", "text": "\"7EBAE4\""}, "loc": ["boot", "loader", "limine", "style", "backdrop"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.graphicalTerminal.background": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text background color (TTRRGGBB). TT is transparency.\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "background"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.graphicalTerminal.brightBackground": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text background bright color (RRGGBB).\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "brightBackground"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.graphicalTerminal.brightForeground": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text foreground bright color (RRGGBB).\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "brightForeground"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.graphicalTerminal.brightPalette": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A ; seperated array of 8 colors in the format RRGGBB:\ndark gray, bright red, bright green, yellow, bright blue, bright magenta, bright cyan, and white.\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "brightPalette"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.graphicalTerminal.font.scale": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The scale of the font in the format <width>x<height>.\n", "example": {"_type": "literalExpression", "text": "2x2"}, "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "font", "scale"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.graphicalTerminal.font.spacing": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The horizontal spacing between characters in pixels.\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "font", "spacing"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.limine.style.graphicalTerminal.foreground": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text foreground color (RRGGBB).\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "foreground"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.graphicalTerminal.margin": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The amount of margin around the terminal.\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "margin"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.limine.style.graphicalTerminal.marginGradient": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The thickness in pixels for the margin around the terminal.\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "marginGradient"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.limine.style.graphicalTerminal.palette": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A ; seperated array of 8 colors in the format RRGGBB:\nblack, red, green, brown, blue, magenta, cyan, and gray.\n", "loc": ["boot", "loader", "limine", "style", "graphicalTerminal", "palette"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.interface.branding": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The title at the top of the screen.\n", "loc": ["boot", "loader", "limine", "style", "interface", "branding"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.interface.brandingColor": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Color of the title at the top of the screen in RRGGBB format (Limine defaults to #00AAAA (cyan)).\n", "loc": ["boot", "loader", "limine", "style", "interface", "brandingColor"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.interface.helpColor": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Color of the help text displayed beside keybinds in RRGGBB format (Limine defaults to #00AA00 (dark green)).\n", "loc": ["boot", "loader", "limine", "style", "interface", "helpColor"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.interface.helpColorBright": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Color of the bright help text used for the auto-boot countdown digit in RRGGBB format (Limine defaults to #55FF55 (bright green)).\n", "loc": ["boot", "loader", "limine", "style", "interface", "helpColorBright"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.interface.helpHidden": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether or not to hide the keybinds at the top of the screen.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "style", "interface", "helpHidden"], "readOnly": false, "type": "boolean"}, "boot.loader.limine.style.interface.resolution": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The resolution of the interface.\n", "loc": ["boot", "loader", "limine", "style", "interface", "resolution"], "readOnly": false, "type": "null or string"}, "boot.loader.limine.style.wallpaperStyle": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "\"stretched\""}, "description": "How the wallpaper should be fit to the screen.\n", "loc": ["boot", "loader", "limine", "style", "wallpaperStyle"], "readOnly": false, "type": "one of \"centered\", \"stretched\", \"tiled\""}, "boot.loader.limine.style.wallpapers": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of wallpapers.\nIf more than one is specified, a random one will be selected at boot.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath ]"}, "loc": ["boot", "loader", "limine", "style", "wallpapers"], "readOnly": false, "type": "list of absolute path"}, "boot.loader.limine.validateChecksums": {"declarations": ["nixos/modules/system/boot/loader/limine/limine.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to validate file checksums before booting.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "limine", "validateChecksums"], "readOnly": false, "type": "boolean"}, "boot.loader.refind.additionalFiles": {"declarations": ["nixos/modules/system/boot/loader/refind/refind.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of files to be copied to {file}`/boot`. Each attribute name denotes the\ndestination file name in {file}`/boot`, while the corresponding attribute value\nspecifies the source file.\n", "example": {"_type": "literalExpression", "text": "{ \"efi/memtest86/memtest86.efi\" = \"${pkgs.memtest86-efi}/BOOTX64.efi\"; }\n"}, "loc": ["boot", "loader", "refind", "additionalFiles"], "readOnly": false, "type": "attribute set of absolute path"}, "boot.loader.refind.efiInstallAsRemovable": {"declarations": ["nixos/modules/system/boot/loader/refind/refind.nix"], "default": {"_type": "literalExpression", "text": "!config.boot.loader.efi.canTouchEfiVariables"}, "description": "Whether or not to install the rEFInd EFI files as removable.\n\nSee {option}`boot.loader.grub.efiInstallAsRemovable`\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "refind", "efiInstallAsRemovable"], "readOnly": false, "type": "boolean"}, "boot.loader.refind.enable": {"declarations": ["nixos/modules/system/boot/loader/refind/refind.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the rEFInd boot loader.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "loader", "refind", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.refind.extraConfig": {"declarations": ["nixos/modules/system/boot/loader/refind/refind.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A string which is prepended to refind.conf.\n", "loc": ["boot", "loader", "refind", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.refind.maxGenerations": {"declarations": ["nixos/modules/system/boot/loader/refind/refind.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of latest generations in the boot menu.\nUseful to prevent boot partition of running out of disk space.\n`null` means no limit i.e. all generations that were not\ngarbage collected yet.\n", "example": {"_type": "literalExpression", "text": "50"}, "loc": ["boot", "loader", "refind", "maxGenerations"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.refind.package": {"declarations": ["nixos/modules/system/boot/loader/refind/refind.nix"], "default": {"_type": "literalExpression", "text": "pkgs.refind"}, "description": "The refind package to use.", "loc": ["boot", "loader", "refind", "package"], "readOnly": false, "type": "package"}, "boot.loader.systemd-boot.configurationLimit": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of latest generations in the boot menu.\nUseful to prevent boot partition running out of disk space.\n\n`null` means no limit i.e. all generations\nthat have not been garbage collected yet.\n", "example": {"_type": "literalExpression", "text": "120"}, "loc": ["boot", "loader", "systemd-boot", "configurationLimit"], "readOnly": false, "type": "null or signed integer"}, "boot.loader.systemd-boot.consoleMode": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"keep\""}, "description": "The resolution of the console. The following values are valid:\n\n- `\"0\"`: Standard UEFI 80x25 mode\n- `\"1\"`: 80x50 mode, not supported by all devices\n- `\"2\"`: The first non-standard mode provided by the device firmware, if any\n- `\"5\"`: Applicable for SteamDeck where this mode represent horizontal mode\n- `\"auto\"`: Pick a suitable mode automatically using heuristics\n- `\"max\"`: Pick the highest-numbered available mode\n- `\"keep\"`: Keep the mode selected by firmware (the default)\n", "loc": ["boot", "loader", "systemd-boot", "consoleMode"], "readOnly": false, "type": "one of \"0\", \"1\", \"2\", \"5\", \"auto\", \"max\", \"keep\""}, "boot.loader.systemd-boot.editor": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to allow editing the kernel command-line before\nboot. It is recommended to set this to false, as it allows\ngaining root access by passing init=/bin/sh as a kernel\nparameter. However, it is enabled by default for backwards\ncompatibility.\n", "loc": ["boot", "loader", "systemd-boot", "editor"], "readOnly": false, "type": "boolean"}, "boot.loader.systemd-boot.edk2-uefi-shell.enable": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Make the EDK2 UEFI Shell available from the systemd-boot menu.\nIt can be used to manually boot other operating systems or for debugging.\n", "loc": ["boot", "loader", "systemd-boot", "edk2-uefi-shell", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.systemd-boot.edk2-uefi-shell.sortKey": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"o_edk2-uefi-shell\""}, "description": "`systemd-boot` orders the menu entries by their sort keys,\nso if you want something to appear after all the NixOS entries,\nit should start with {file}`o` or onwards.\n\nSee also {option}`boot.loader.systemd-boot.sortKey`..\n", "loc": ["boot", "loader", "systemd-boot", "edk2-uefi-shell", "sortKey"], "readOnly": false, "type": "string"}, "boot.loader.systemd-boot.enable": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the systemd-boot (formerly gummiboot) EFI boot manager.\nFor more information about systemd-boot:\n<https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>\n", "loc": ["boot", "loader", "systemd-boot", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.systemd-boot.extraEntries": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Any additional entries you want added to the `systemd-boot` menu.\nThese entries will be copied to {file}`$BOOT/loader/entries`.\nEach attribute name denotes the destination file name,\nand the corresponding attribute value is the contents of the entry.\n\nTo control the ordering of the entry in the boot menu, use the sort-key\nfield, see\n<https://uapi-group.org/specifications/specs/boot_loader_specification/#sorting>\nand {option}`boot.loader.systemd-boot.sortKey`.\n", "example": {"_type": "literalExpression", "text": "{ \"memtest86.conf\" = ''\n  title Memtest86+\n  efi /efi/memtest86/memtest.efi\n  sort-key z_memtest\n''; }\n"}, "loc": ["boot", "loader", "systemd-boot", "extraEntries"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "boot.loader.systemd-boot.extraFiles": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of files to be copied to {file}`$BOOT`.\nEach attribute name denotes the destination file name in\n{file}`$BOOT`, while the corresponding\nattribute value specifies the source file.\n", "example": {"_type": "literalExpression", "text": "{ \"efi/memtest86/memtest.efi\" = pkgs.memtest86plus.efi; }\n"}, "loc": ["boot", "loader", "systemd-boot", "extraFiles"], "readOnly": false, "type": "attribute set of absolute path"}, "boot.loader.systemd-boot.extraInstallCommands": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional shell commands inserted in the bootloader installer\nscript after generating menu entries. It can be used to expand\non extra boot entries that cannot incorporate certain pieces of\ninformation (such as the resulting `init=` kernel parameter).\n", "example": {"_type": "literalExpression", "text": "''\n  default_cfg=$(cat /boot/loader/loader.conf | grep default | awk '{print $2}')\n  init_value=$(cat /boot/loader/entries/$default_cfg | grep init= | awk '{print $2}')\n  sed -i \"s|@INIT@|$init_value|g\" /boot/custom/config_with_placeholder.conf\n''"}, "loc": ["boot", "loader", "systemd-boot", "extraInstallCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.loader.systemd-boot.graceful": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Invoke `bootctl install` with the `--graceful` option,\nwhich ignores errors when EFI variables cannot be written or when the EFI System Partition\ncannot be found. Currently only applies to random seed operations.\n\nOnly enable this option if `systemd-boot` otherwise fails to install, as the\nscope or implication of the `--graceful` option may change in the future.\n", "loc": ["boot", "loader", "systemd-boot", "graceful"], "readOnly": false, "type": "boolean"}, "boot.loader.systemd-boot.installDeviceTree": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"with config.hardware.deviceTree; enable && name != null\""}, "description": "Install the devicetree blob specified by `config.hardware.deviceTree.name`\nto the ESP and instruct systemd-boot to pass this DTB to linux.\n", "loc": ["boot", "loader", "systemd-boot", "installDeviceTree"], "readOnly": false, "type": "unspecified value"}, "boot.loader.systemd-boot.memtest86.enable": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Make Memtest86+ available from the systemd-boot menu. Memtest86+ is a\nprogram for testing memory.\n", "loc": ["boot", "loader", "systemd-boot", "memtest86", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.systemd-boot.memtest86.sortKey": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"o_memtest86\""}, "description": "`systemd-boot` orders the menu entries by their sort keys,\nso if you want something to appear after all the NixOS entries,\nit should start with {file}`o` or onwards.\n\nSee also {option}`boot.loader.systemd-boot.sortKey`.\n", "loc": ["boot", "loader", "systemd-boot", "memtest86", "sortKey"], "readOnly": false, "type": "string"}, "boot.loader.systemd-boot.netbootxyz.enable": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Make `netboot.xyz` available from the\n`systemd-boot` menu. `netboot.xyz`\nis a menu system that allows you to boot OS installers and\nutilities over the network.\n", "loc": ["boot", "loader", "systemd-boot", "netbootxyz", "enable"], "readOnly": false, "type": "boolean"}, "boot.loader.systemd-boot.netbootxyz.sortKey": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"o_netbootxyz\""}, "description": "`systemd-boot` orders the menu entries by their sort keys,\nso if you want something to appear after all the NixOS entries,\nit should start with {file}`o` or onwards.\n\nSee also {option}`boot.loader.systemd-boot.sortKey`.\n", "loc": ["boot", "loader", "systemd-boot", "netbootxyz", "sortKey"], "readOnly": false, "type": "string"}, "boot.loader.systemd-boot.rebootForBitlocker": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable *EXPERIMENTAL* BitLocker support.\n\nTry to detect BitLocker encrypted drives along with an active\nTPM. If both are found and Windows Boot Manager is selected in\nthe boot menu, set the \"BootNext\" EFI variable and restart the\nsystem. The firmware will then start Windows Boot Manager\ndirectly, leaving the TPM PCRs in expected states so that\nWindows can unseal the encryption key.\n", "loc": ["boot", "loader", "systemd-boot", "rebootForBitlocker"], "readOnly": false, "type": "boolean"}, "boot.loader.systemd-boot.sortKey": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"nixos\""}, "description": "The sort key used for the NixOS bootloader entries.\nThis key determines sorting relative to non-NixOS entries.\nSee also <https://uapi-group.org/specifications/specs/boot_loader_specification/#sorting>\n\nThis option can also be used to control the sorting of NixOS specialisations.\n\nBy default, specialisations inherit the sort key of their parent generation\nand will have the same value for both the sort-key and the version (i.e. the generation number),\nsystemd-boot will therefore sort them based on their file name, meaning that\nin your boot menu you will have each main generation directly followed by\nits specialisations sorted alphabetically by their names.\n\nIf you want a different ordering for a specialisation, you can override\nits sort-key which will cause the specialisation to be uncoupled from its\nparent generation. It will then be sorted by its new sort-key just like\nany other boot entry.\n\nThe sort-key is stored in the generation's bootspec, which means that\ngenerations keep their sort-keys even if the original definition of the\ngeneration was removed from the NixOS configuration.\nIt also means that updating the sort-key will only affect new generations,\nwhile old ones will keep the sort-key that they were originally built with.\n", "loc": ["boot", "loader", "systemd-boot", "sortKey"], "readOnly": false, "type": "string"}, "boot.loader.systemd-boot.windows": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Make Windows bootable from systemd-boot. This option is not necessary when Windows and\nNixOS use the same EFI System Partition (ESP). In that case, Windows will automatically be\ndetected by systemd-boot.\n\nHowever, if Windows is installed on a separate drive or ESP, you can use this option to add\na menu entry for each installation manually.\n\nThe attribute name is used for the title of the menu entry and internal file names.\n", "example": {"_type": "literalExpression", "text": "{\n  \"10\".efiDeviceHandle = \"HD0c3\";\n  \"11-ame\" = {\n    title = \"Windows 11 Ameliorated Edition\";\n    efiDeviceHandle = \"HD0b1\";\n  };\n  \"11-home\" = {\n    title = \"Windows 11 Home\";\n    efiDeviceHandle = \"FS1\";\n    sortKey = \"z_windows\";\n  };\n}\n"}, "loc": ["boot", "loader", "systemd-boot", "windows"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.loader.systemd-boot.windows.<name>.efiDeviceHandle": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "description": "The device handle of the EFI System Partition (ESP) where the Windows bootloader is\nlocated. This is the device handle that the EDK2 UEFI Shell uses to load the\nbootloader.\n\nTo find this handle, follow these steps:\n1. Set {option}`boot.loader.systemd-boot.edk2-uefi-shell.enable` to `true`\n2. Run `nixos-rebuild boot`\n3. Reboot and select \"EDK2 UEFI Shell\" from the systemd-boot menu\n4. Run `map -c` to list all consistent device handles\n5. For each device handle (for example, `HD0c1`), run `ls HD0c1:\\EFI`\n6. If the output contains the directory `Microsoft`, you might have found the correct device handle\n7. Run `HD0c1:\\EFI\\Microsoft\\Boot\\Bootmgfw.efi` to check if Windows boots correctly\n8. If it does, this device handle is the one you need (in this example, `HD0c1`)\n\nThis option is required, there is no useful default.\n", "example": {"_type": "literalExpression", "text": "\"HD1b3\""}, "loc": ["boot", "loader", "systemd-boot", "windows", "<name>", "efiDeviceHandle"], "readOnly": false, "type": "string"}, "boot.loader.systemd-boot.windows.<name>.sortKey": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"attribute name of this entry, prefixed with \\\"o_windows_\\\"\""}, "description": "`systemd-boot` orders the menu entries by their sort keys,\nso if you want something to appear after all the NixOS entries,\nit should start with {file}`o` or onwards.\n\nSee also {option}`boot.loader.systemd-boot.sortKey`..\n", "loc": ["boot", "loader", "systemd-boot", "windows", "<name>", "sortKey"], "readOnly": false, "type": "string"}, "boot.loader.systemd-boot.windows.<name>.title": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "\"attribute name of this entry, prefixed with \\\"Windows \\\"\""}, "description": "The title of the boot menu entry.\n", "example": {"_type": "literalExpression", "text": "\"Michaelsoft Binbows\""}, "loc": ["boot", "loader", "systemd-boot", "windows", "<name>", "title"], "readOnly": false, "type": "string"}, "boot.loader.systemd-boot.xbootldrMountPoint": {"declarations": ["nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Where the XBOOTLDR partition is mounted.\n\nIf set, this partition will be used as $BOOT to store boot loader entries and extra files\ninstead of the EFI partition. As per the bootloader specification, it is recommended that\nthe EFI and XBOOTLDR partitions be mounted at `/efi` and `/boot`, respectively.\n", "loc": ["boot", "loader", "systemd-boot", "xbootldrMountPoint"], "readOnly": false, "type": "null or string"}, "boot.loader.timeout": {"declarations": ["nixos/modules/system/boot/loader/loader.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Timeout (in seconds) until loader boots the default menu item. Use null if the loader menu should be displayed indefinitely.\n", "loc": ["boot", "loader", "timeout"], "readOnly": false, "type": "null or signed integer"}, "boot.modprobeConfig.enable": {"declarations": ["nixos/modules/system/boot/modprobe.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable modprobe config. This is useful for systems like containers which do not require a kernel.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "modprobeConfig", "enable"], "readOnly": false, "type": "boolean"}, "boot.modprobeConfig.useUbuntuModuleBlacklist": {"declarations": ["nixos/modules/system/boot/modprobe.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Ubuntu distro's module blacklist.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "modprobeConfig", "useUbuntuModuleBlacklist"], "readOnly": false, "type": "boolean"}, "boot.nixStoreMountOpts": {"declarations": ["nixos/modules/system/boot/stage-2.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"ro\"\n  \"nodev\"\n  \"nosuid\"\n]"}, "description": "Defines the mount options used on a bind mount for the {file}`/nix/store`.\nThis affects the whole system except the nix store daemon, which will undo the bind mount.\n\n`ro` enforces immutability of the Nix store.\nThe store daemon should already not put device mappers or suid binaries in the store,\nmeaning `nosuid` and `nodev` enforce what should already be the case.\n", "loc": ["boot", "nixStoreMountOpts"], "readOnly": false, "type": "list of non-empty string"}, "boot.plymouth.enable": {"declarations": ["nixos/modules/system/boot/plymouth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Plymouth boot splash screen.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "plymouth", "enable"], "readOnly": false, "type": "boolean"}, "boot.plymouth.extraConfig": {"declarations": ["nixos/modules/system/boot/plymouth.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Literal string to append to `configFile`\nand the config file generated by the plymouth module.\n", "loc": ["boot", "plymouth", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.plymouth.font": {"declarations": ["nixos/modules/system/boot/plymouth.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf\""}, "description": "Font file made available for displaying text on the splash screen.\n", "loc": ["boot", "plymouth", "font"], "readOnly": false, "type": "absolute path"}, "boot.plymouth.logo": {"declarations": ["nixos/modules/system/boot/plymouth.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png\""}, "description": "Logo which is displayed on the splash screen.\nCurrently supports PNG file format only.\n", "example": {"_type": "literalExpression", "text": "pkgs.fetchurl {\n  url = \"https://nixos.org/logo/nixos-hires.png\";\n  sha256 = \"1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si\";\n}\n"}, "loc": ["boot", "plymouth", "logo"], "readOnly": false, "type": "absolute path"}, "boot.plymouth.package": {"declarations": ["nixos/modules/system/boot/plymouth.nix"], "default": {"_type": "literalExpression", "text": "pkgs.plymouth.override {\n  systemd = config.boot.initrd.systemd.package;\n}\n"}, "description": "The plymouth package to use.", "loc": ["boot", "plymouth", "package"], "readOnly": false, "type": "package"}, "boot.plymouth.theme": {"declarations": ["nixos/modules/system/boot/plymouth.nix"], "default": {"_type": "literalExpression", "text": "\"bgrt\""}, "description": "Splash screen theme.\n", "loc": ["boot", "plymouth", "theme"], "readOnly": false, "type": "string"}, "boot.plymouth.themePackages": {"declarations": ["nixos/modules/system/boot/plymouth.nix"], "default": {"_type": "literalMD", "text": "A NixOS branded variant of the breeze theme when\n`config.boot.plymouth.theme == \"breeze\"`, otherwise\n`[ ]`.\n"}, "description": "Extra theme packages for plymouth.\n", "loc": ["boot", "plymouth", "themePackages"], "readOnly": false, "type": "list of package"}, "boot.plymouth.tpm2-totp.enable": {"declarations": ["nixos/modules/system/boot/plymouth-tpm2-totp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to display a TOTP during boot using tpm2-totp and Plymouth.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "plymouth", "tpm2-totp", "enable"], "readOnly": false, "type": "boolean"}, "boot.plymouth.tpm2-totp.package": {"declarations": ["nixos/modules/system/boot/plymouth-tpm2-totp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.tpm2-totp-with-plymouth"}, "description": "The tpm2-totp package to use.", "loc": ["boot", "plymouth", "tpm2-totp", "package"], "readOnly": false, "type": "package"}, "boot.postBootCommands": {"declarations": ["nixos/modules/system/boot/stage-2.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed just before systemd is started.\n", "example": {"_type": "literalExpression", "text": "\"rm -f /var/log/messages\""}, "loc": ["boot", "postBootCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.resumeDevice": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Device for manual resume attempt during boot. This should be used primarily\nif you want to resume from file. If left empty, the swap partitions are used.\nSpecify here the device where the file resides.\nYou should also use {var}`boot.kernelParams` to specify\n`\u00abresume_offset\u00bb`.\n", "example": {"_type": "literalExpression", "text": "\"/dev/sda3\""}, "loc": ["boot", "resumeDevice"], "readOnly": false, "type": "string"}, "boot.runSize": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "\"25%\""}, "description": "Size limit for the /run tmpfs. Look at {manpage}`mount(8)`, tmpfs size option,\nfor the accepted syntax.\n", "example": {"_type": "literalExpression", "text": "\"256m\""}, "loc": ["boot", "runSize"], "readOnly": false, "type": "string"}, "boot.specialFileSystems.<name>.depends": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of paths that should be mounted before this one. This filesystem's\n{option}`device` and {option}`mountPoint` are always\nchecked and do not need to be included explicitly. If a path is added\nto this list, any other filesystem whose mount point is a parent of\nthe path will be mounted before this filesystem. The paths do not need\nto actually be the {option}`mountPoint` of some other filesystem.\n\nThis is useful for mounts which require keys and/or configuration files residing on another filesystem.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/persist\"\n]"}, "loc": ["boot", "specialFileSystems", "<name>", "depends"], "readOnly": false, "type": "list of string (with check: non-empty without trailing slash)"}, "boot.specialFileSystems.<name>.device": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The device as passed to `mount`.\n\nThis can be any of:\n\n- a filename of a block special device such as `/dev/sdc3`\n- a tag such as `UUID=fdd68895-c307-4549-8c9c-90e44c71f5b7`\n- (for bind mounts only) the source path\n- something else depending on the {option}`fsType`. For example, `nfs` device may look like `knuth.cwi.nl:/dir`\n\nThis is called `device` in {manpage}`mount(8)` and `fs_spec` in {manpage}`fstab(5)`.\n", "example": {"_type": "literalExpression", "text": "\"/dev/sda\""}, "loc": ["boot", "specialFileSystems", "<name>", "device"], "readOnly": false, "type": "null or string (with check: non-empty)"}, "boot.specialFileSystems.<name>.enable": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the filesystem mount.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "specialFileSystems", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "boot.specialFileSystems.<name>.fsType": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "description": "Type of the file system.\n\nThis is the `fstype` passed to `-t` in the {manpage}`mount(8)` command, and is called `fs_vfstype` in {manpage}`fstab(5)`.\n", "example": {"_type": "literalExpression", "text": "\"ext3\""}, "loc": ["boot", "specialFileSystems", "<name>", "fsType"], "readOnly": false, "type": "string (with check: non-empty)"}, "boot.specialFileSystems.<name>.mountPoint": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Location where the file system will be mounted.\n\nThis is called `mountpoint` in {manpage}`mount(8)` and `fs_file` in {manpage}`fstab(5)`\n", "example": {"_type": "literalExpression", "text": "\"/mnt/usb\""}, "loc": ["boot", "specialFileSystems", "<name>", "mountPoint"], "readOnly": false, "type": "string (with check: non-empty without trailing slash)"}, "boot.specialFileSystems.<name>.options": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"defaults\"\n]"}, "description": "Options used to mount the file system.\n\nThis is called `options` in {manpage}`mount(8)` and `fs_mntops` in {manpage}`fstab(5)`\n\nSome options that can be used for all mounts are documented in {manpage}`mount(8)` under `FILESYSTEM-INDEPENDENT MOUNT OPTIONS`.\n\nOptions that systemd understands are documented in {manpage}`systemd.mount(5)` under `FSTAB`.\n\nEach filesystem supports additional options, see the docs for that filesystem.\n", "example": {"_type": "literalExpression", "text": "[\n  \"data=journal\"\n]"}, "loc": ["boot", "specialFileSystems", "<name>", "options"], "readOnly": false, "type": "non-empty (list of string (with check: non-empty))"}, "boot.specialFileSystems.<name>.stratis.poolUuid": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "UUID of the stratis pool that the fs is located in\n\nThis is only relevant if you are using [stratis](https://stratis-storage.github.io/).\n", "example": {"_type": "literalExpression", "text": "\"04c68063-90a5-4235-b9dd-6180098a20d9\""}, "loc": ["boot", "specialFileSystems", "<name>", "stratis", "poolUuid"], "readOnly": false, "type": "null or string"}, "boot.stage2Greeting": {"declarations": ["nixos/modules/system/boot/stage-2.nix"], "default": {"_type": "literalExpression", "text": "\"<<< ${config.system.nixos.distroName} Stage 2 >>>\""}, "description": "The greeting message displayed during NixOS stage 2 boot.\n", "loc": ["boot", "stage2Greeting"], "readOnly": false, "type": "string"}, "boot.supportedFilesystems": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Names of supported filesystem types, or an attribute set of file system types\nand their state. The set form may be used together with `lib.mkForce` to\nexplicitly disable support for specific filesystems, e.g. to disable ZFS\nwith an unsupported kernel.\n", "example": {"_type": "literalExpression", "text": "{\n  btrfs = true;\n  zfs = lib.mkForce false;\n}\n"}, "loc": ["boot", "supportedFilesystems"], "readOnly": false, "type": "(attribute set of boolean) or (list of string) convertible to it"}, "boot.swraid.enable": {"declarations": ["nixos/modules/tasks/swraid.nix"], "default": {"_type": "literalExpression", "text": "\"`true` if stateVersion is older than 23.11\""}, "description": "Whether to enable support for Linux MD RAID arrays.\n\nWhen this is enabled, mdadm will be added to the system path,\nand MD RAID arrays will be detected and activated\nautomatically, both in stage-1 (initramfs) and in stage-2 (the\nfinal NixOS system).\n\nThis should be enabled if you want to be able to access and/or\nboot from MD RAID arrays. {command}`nixos-generate-config`\nshould detect it correctly in the standard installation\nprocedure.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "swraid", "enable"], "readOnly": false, "type": "boolean"}, "boot.swraid.mdadmConf": {"declarations": ["nixos/modules/tasks/swraid.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Contents of {file}`/etc/mdadm.conf`.", "loc": ["boot", "swraid", "mdadmConf"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "boot.systemdExecutable": {"declarations": ["nixos/modules/system/boot/stage-2.nix"], "default": {"_type": "literalExpression", "text": "\"/run/current-system/systemd/lib/systemd/systemd\""}, "description": "The program to execute to start systemd.\n", "loc": ["boot", "systemdExecutable"], "readOnly": false, "type": "string"}, "boot.tmp.cleanOnBoot": {"declarations": ["nixos/modules/system/boot/tmp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to delete all files in {file}`/tmp` during boot.\n", "loc": ["boot", "tmp", "cleanOnBoot"], "readOnly": false, "type": "boolean"}, "boot.tmp.tmpfsHugeMemoryPages": {"declarations": ["nixos/modules/system/boot/tmp.nix"], "default": {"_type": "literalExpression", "text": "\"never\""}, "description": "- `never`        - Do not allocate huge memory pages. This is the default.\n- `always`       - Attempt to allocate huge memory page every time a new page is needed.\n- `within_size`  - Only allocate huge memory pages if it will be fully within i_size. Also respect madvise(2) hints. Recommended.\n- `advise`       - Only allocate huge memory pages if requested with madvise(2).\n", "example": {"_type": "literalExpression", "text": "\"within_size\""}, "loc": ["boot", "tmp", "tmpfsHugeMemoryPages"], "readOnly": false, "type": "one of \"never\", \"always\", \"within_size\", \"advise\""}, "boot.tmp.tmpfsSize": {"declarations": ["nixos/modules/system/boot/tmp.nix"], "default": {"_type": "literalExpression", "text": "\"50%\""}, "description": "Size of tmpfs in percentage.\nPercentage is defined by systemd.\n", "loc": ["boot", "tmp", "tmpfsSize"], "readOnly": false, "type": "string or (positive integer, meaning >0)"}, "boot.tmp.useTmpfs": {"declarations": ["nixos/modules/system/boot/tmp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to mount a tmpfs on {file}`/tmp` during boot.\n\n::: {.note}\nLarge Nix builds can fail if the mounted tmpfs is not large enough.\nIn such a case either increase the tmpfsSize or disable this option.\n:::\n", "loc": ["boot", "tmp", "useTmpfs"], "readOnly": false, "type": "boolean"}, "boot.tmp.useZram": {"declarations": ["nixos/modules/system/boot/zram-as-tmp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to mount a zram device on {file}`/tmp` during boot.\n\n::: {.note}\nLarge Nix builds can fail if the mounted zram device is not large enough.\nIn such a case either increase the zramSettings.zram-size or disable this option.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "tmp", "useZram"], "readOnly": false, "type": "boolean"}, "boot.tmp.zramSettings.compression-algorithm": {"declarations": ["nixos/modules/system/boot/zram-as-tmp.nix"], "default": {"_type": "literalExpression", "text": "\"zstd\""}, "description": "The compression algorithm to use for the zram device.\n\nSee: <https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example>\n", "example": {"_type": "literalExpression", "text": "\"lzo-rle\""}, "loc": ["boot", "tmp", "zramSettings", "compression-algorithm"], "readOnly": false, "type": "string"}, "boot.tmp.zramSettings.fs-type": {"declarations": ["nixos/modules/system/boot/zram-as-tmp.nix"], "default": {"_type": "literalExpression", "text": "\"ext4\""}, "description": "The file system to put on the device.\n\nSee: <https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example>\n", "example": {"_type": "literalExpression", "text": "\"ext2\""}, "loc": ["boot", "tmp", "zramSettings", "fs-type"], "readOnly": false, "type": "string"}, "boot.tmp.zramSettings.options": {"declarations": ["nixos/modules/system/boot/zram-as-tmp.nix"], "default": {"_type": "literalExpression", "text": "\"X-mount.mode=1777,discard\""}, "description": "By default, file systems and swap areas are trimmed on-the-go\nby setting \"discard\".\nSetting this to the empty string clears the option.\n\nSee: <https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example>\n", "loc": ["boot", "tmp", "zramSettings", "options"], "readOnly": false, "type": "string"}, "boot.tmp.zramSettings.zram-size": {"declarations": ["nixos/modules/system/boot/zram-as-tmp.nix"], "default": {"_type": "literalExpression", "text": "\"ram * 0.5\""}, "description": "The size of the zram device, as a function of MemTotal, both in MB.\nFor example, if the machine has 1 GiB, and zram-size=ram/4,\nthen the zram device will have 256 MiB.\nFractions in the range 0.1\u20130.5 are recommended\n\nSee: <https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example>\n", "example": {"_type": "literalExpression", "text": "\"min(ram / 2, 4096)\""}, "loc": ["boot", "tmp", "zramSettings", "zram-size"], "readOnly": false, "type": "string"}, "boot.uki.configFile": {"declarations": ["nixos/modules/system/boot/uki.nix"], "description": "The configuration file passed to {manpage}`ukify(1)` to create the UKI.\n\nBy default this configuration file is created from {option}`boot.uki.settings`.\n", "loc": ["boot", "uki", "configFile"], "readOnly": false, "type": "absolute path"}, "boot.uki.name": {"declarations": ["nixos/modules/system/boot/uki.nix"], "description": "Name of the UKI", "loc": ["boot", "uki", "name"], "readOnly": false, "type": "string"}, "boot.uki.settings": {"declarations": ["nixos/modules/system/boot/uki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The configuration settings for ukify. These control what the UKI\ncontains and how it is built.\n", "loc": ["boot", "uki", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "boot.uki.tries": {"declarations": ["nixos/modules/system/boot/uki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of boot attempts before this UKI is considered bad.\n\nIf no tries are specified (the default) automatic boot assessment remains inactive.\n\nSee documentation on [Automatic Boot Assessment](https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT/) and\n[boot counting](https://uapi-group.org/specifications/specs/boot_loader_specification/#boot-counting)\nfor more information.\n", "loc": ["boot", "uki", "tries"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "boot.uki.version": {"declarations": ["nixos/modules/system/boot/uki.nix"], "default": {"_type": "literalExpression", "text": "config.system.image.version"}, "description": "Version of the image or generation the UKI belongs to", "loc": ["boot", "uki", "version"], "readOnly": false, "type": "null or string"}, "boot.uvesafb.enable": {"declarations": ["nixos/modules/system/boot/uvesafb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable uvesafb.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "uvesafb", "enable"], "readOnly": false, "type": "boolean"}, "boot.uvesafb.gfx-mode": {"declarations": ["nixos/modules/system/boot/uvesafb.nix"], "default": {"_type": "literalExpression", "text": "\"1024x768-32\""}, "description": "Screen resolution in modedb format. See [uvesafb](https://docs.kernel.org/fb/uvesafb.html) and [modedb](https://docs.kernel.org/fb/modedb.html) documentation for more details. The default value is a sensible default but may be not ideal for all setups.", "loc": ["boot", "uvesafb", "gfx-mode"], "readOnly": false, "type": "string"}, "boot.uvesafb.v86d.package": {"declarations": ["nixos/modules/system/boot/uvesafb.nix"], "default": {"_type": "literalExpression", "text": "''\n  config.boot.kernelPackages.v86d.overrideAttrs (old: {\n            hardeningDisable = [ \"all\" ];\n          })''"}, "description": "Which v86d package to use with uvesafb", "loc": ["boot", "uvesafb", "v86d", "package"], "readOnly": false, "type": "package"}, "boot.vesa": {"declarations": ["nixos/modules/system/boot/kernel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "(Deprecated) This option, if set, activates the VESA 800x600 video\nmode on boot and disables kernel modesetting. It is equivalent to\nspecifying `[ \"vga=0x317\" \"nomodeset\" ]` in the\n{option}`boot.kernelParams` option. This option is\ndeprecated as of 2020: Xorg now works better with modesetting, and\nyou might want a different VESA vga setting, anyway.\n", "loc": ["boot", "vesa"], "readOnly": false, "type": "boolean"}, "boot.zfs.devNodes": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "\"/dev/disk/by-id\""}, "description": "Name of directory from which to import ZFS device, this is passed to `zpool import`\nas the value of the `-d` option.\n\nFor guidance on choosing this value, see\n[the ZFS documentation](https://openzfs.github.io/openzfs-docs/Project%20and%20Community/FAQ.html#selecting-dev-names-when-creating-a-pool-linux).\n", "loc": ["boot", "zfs", "devNodes"], "readOnly": false, "type": "absolute path"}, "boot.zfs.enabled": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalMD", "text": "`true` if ZFS filesystem support is enabled"}, "description": "True if ZFS filesystem support is enabled", "loc": ["boot", "zfs", "enabled"], "readOnly": true, "type": "boolean"}, "boot.zfs.extraPools": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Name or GUID of extra ZFS pools that you wish to import during boot.\n\nUsually this is not necessary. Instead, you should set the mountpoint property\nof ZFS filesystems to `legacy` and add the ZFS filesystems to\nNixOS's {option}`fileSystems` option, which makes NixOS automatically\nimport the associated pool.\n\nHowever, in some cases (e.g. if you have many filesystems) it may be preferable\nto exclusively use ZFS commands to manage filesystems. If so, since NixOS/systemd\nwill not be managing those filesystems, you will need to specify the ZFS pool here\nso that NixOS automatically imports it on every boot.\n", "example": {"_type": "literalExpression", "text": "[\n  \"tank\"\n  \"data\"\n]"}, "loc": ["boot", "zfs", "extraPools"], "readOnly": false, "type": "list of string"}, "boot.zfs.forceImportAll": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Forcibly import all ZFS pool(s).\n\nIt is highly recommended to keep this option disabled as it bypasses ZFS\nsafeguard that protect your pools.\n\nSee {option}`boot.zfs.forceImportRoot` for details.\n", "loc": ["boot", "zfs", "forceImportAll"], "readOnly": false, "type": "boolean"}, "boot.zfs.forceImportRoot": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "lib.versionOlder config.system.stateVersion \"26.11\""}, "description": "Forcibly import the ZFS root pool(s) during early boot.\n\nIt is highly recommended to keep this option disabled as it bypasses ZFS\nsafeguard that protect your pools.\n\nIf NixOS fails to boot because it cannot import the root pool, you should boot\nwith the `zfs_force=1` option as a kernel parameter (e.g. by manually\nediting the kernel params via your bootloader).\nYou should only need to do this after unclean shutdowns.\n", "loc": ["boot", "zfs", "forceImportRoot"], "readOnly": false, "type": "boolean"}, "boot.zfs.package": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.zfs"}, "description": "Configured ZFS userland tools package.", "loc": ["boot", "zfs", "package"], "readOnly": false, "type": "package"}, "boot.zfs.passwordTimeout": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Timeout in seconds to wait for password entry for decrypt at boot.\n\nDefaults to 0, which waits forever.\n", "loc": ["boot", "zfs", "passwordTimeout"], "readOnly": false, "type": "signed integer"}, "boot.zfs.pools": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for individual pools to override global defaults.\n", "loc": ["boot", "zfs", "pools"], "readOnly": false, "type": "attribute set of (submodule)"}, "boot.zfs.pools.<name>.devNodes": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "\"config.boot.zfs.devNodes\""}, "description": "Name of directory from which to import ZFS device, this is passed to `zpool import`\nas the value of the `-d` option.\n\nFor guidance on choosing this value, see\n[the ZFS documentation](https://openzfs.github.io/openzfs-docs/Project%20and%20Community/FAQ.html#selecting-dev-names-when-creating-a-pool-linux).\n", "loc": ["boot", "zfs", "pools", "<name>", "devNodes"], "readOnly": false, "type": "absolute path"}, "boot.zfs.removeLinuxDRM": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Patch the kernel to change symbols needed by ZFS from\nEXPORT_SYMBOL_GPL to EXPORT_SYMBOL.\n\nCurrently has no effect, but may again in future if a kernel\nupdate breaks ZFS due to symbols being newly changed to GPL.\n", "loc": ["boot", "zfs", "removeLinuxDRM"], "readOnly": false, "type": "boolean"}, "boot.zfs.requestEncryptionCredentials": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If true on import encryption keys or passwords for all encrypted datasets\nare requested. To only decrypt selected datasets supply a list of dataset\nnames instead. For root pools the encryption key can be supplied via both\nan interactive prompt (keylocation=prompt) and from a file (keylocation=file://).\n", "example": {"_type": "literalExpression", "text": "[\n  \"tank\"\n  \"data\"\n]"}, "loc": ["boot", "zfs", "requestEncryptionCredentials"], "readOnly": false, "type": "boolean or list of string"}, "boot.zfs.unsafeAllowHibernation": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow hibernation (suspend to disk) support. This is generally considered **UNSAFE**,\nis not well supported by openzfs, and could lead to corruption and data loss.\n", "loc": ["boot", "zfs", "unsafeAllowHibernation"], "readOnly": false, "type": "boolean"}, "boot.zfs.useKeyringForCredentials": {"declarations": ["nixos/modules/tasks/filesystems/zfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Uses the kernel keyring for encryption credentials with keyname=zfs-<poolname>.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "zfs", "useKeyringForCredentials"], "readOnly": false, "type": "boolean"}, "boot.zswap.acceptThresholdPercent": {"declarations": ["nixos/modules/system/boot/zswap.nix"], "default": {"_type": "literalExpression", "text": "90"}, "description": "Threshold percentage at which zswap starts accepting pages again after the pool becomes full (1-100).\n\nThis parameter provides hysteresis to prevent pool oscillation.\nWhen the pool usage drops below this threshold, zswap starts accepting new pages.\nDefault is 90% as recommended by kernel documentation.\n", "loc": ["boot", "zswap", "acceptThresholdPercent"], "readOnly": false, "type": "integer between 1 and 100 (both inclusive)"}, "boot.zswap.compressor": {"declarations": ["nixos/modules/system/boot/zswap.nix"], "default": {"_type": "literalExpression", "text": "\"zstd\""}, "description": "Compression algorithm to use for zswap.\n\nAvailable options:\n- 'zstd': Best compression ratio, excellent for Nix builds (default)\n- 'lz4': Fastest compression, lowest latency\n- 'lz4hc': High-compression variant of lz4, slower but better ratio\n- 'lzo': Good balance of speed and compression (kernel default)\n- 'deflate': Higher compression, slower processing\n- '842': Hardware-accelerated compression on supported systems\n\nNote: The chosen algorithm must be supported by your kernel configuration.\n", "loc": ["boot", "zswap", "compressor"], "readOnly": false, "type": "one of \"zstd\", \"lz4\", \"lzo\", \"lz4hc\", \"deflate\", \"842\""}, "boot.zswap.enable": {"declarations": ["nixos/modules/system/boot/zswap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Zswap (Compressed Cache for Swap Pages).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["boot", "zswap", "enable"], "readOnly": false, "type": "boolean"}, "boot.zswap.maxPoolPercent": {"declarations": ["nixos/modules/system/boot/zswap.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "The maximum percentage of system memory that Zswap can occupy (1-100).\n\nHigher values provide more compression cache but increase memory pressure.\nDefault is 25% (higher than kernel default of 20%) for better Nix build performance.\n\nRecommended ranges:\n- Desktop systems: 15-25%\n- Low-memory systems: 30-50%\n- Server systems: 10-20%\n", "loc": ["boot", "zswap", "maxPoolPercent"], "readOnly": false, "type": "integer between 1 and 100 (both inclusive)"}, "boot.zswap.shrinkerEnabled": {"declarations": ["nixos/modules/system/boot/zswap.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the zswap shrinker to reclaim memory when under pressure.\n\nWhen enabled, the shrinker will automatically reclaim compressed pages\nfrom the zswap pool when the system is under memory pressure, helping\nto prevent out-of-memory situations.\n\nIt is recommended to keep this enabled for most workloads, especially\non systems with limited memory.\n", "loc": ["boot", "zswap", "shrinkerEnabled"], "readOnly": false, "type": "boolean"}, "boot.zswap.zpool": {"declarations": ["nixos/modules/system/boot/zswap.nix"], "default": {"_type": "literalExpression", "text": "if kernel >= 6.3 then \"zsmalloc\" else \"zbud\""}, "description": "Kernel zpool allocator.\n'zsmalloc' is strongly recommended for kernels >= 6.3 as it offers the best density.\nFor older kernels, 'zbud' is the fallback.\n\nNote: 'z3fold' was removed from Linux kernel 6.8 and later.\n", "loc": ["boot", "zswap", "zpool"], "readOnly": false, "type": "one of \"zsmalloc\", \"zbud\""}, "console.colors": {"declarations": ["nixos/modules/config/console.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The 16 colors palette used by the virtual consoles.\nLeave empty to use the default colors.\nColors must be in hexadecimal format and listed in\norder from color 0 to color 15.\n", "example": {"_type": "literalExpression", "text": "[\n  \"002b36\"\n  \"dc322f\"\n  \"859900\"\n  \"b58900\"\n  \"268bd2\"\n  \"d33682\"\n  \"2aa198\"\n  \"eee8d5\"\n  \"002b36\"\n  \"cb4b16\"\n  \"586e75\"\n  \"657b83\"\n  \"839496\"\n  \"6c71c4\"\n  \"93a1a1\"\n  \"fdf6e3\"\n]"}, "loc": ["console", "colors"], "readOnly": false, "type": "list of string matching the pattern [[:xdigit:]]{6}"}, "console.earlySetup": {"declarations": ["nixos/modules/config/console.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable setting virtual console options as early as possible (in initrd).\n", "loc": ["console", "earlySetup"], "readOnly": false, "type": "boolean"}, "console.enable": {"declarations": ["nixos/modules/config/console.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable virtual console.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["console", "enable"], "readOnly": false, "type": "boolean"}, "console.font": {"declarations": ["nixos/modules/config/console.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The font used for the virtual consoles.\nCan be `null`, a font name, or a path to a PSF font file.\n\nUse `null` to let the kernel choose a built-in font.\nThe default is 8x16, and, as of Linux 5.3, Terminus 32 bold for display\nresolutions of 2560x1080 and higher.\nThese fonts cover the [IBM437][] character set.\n\n[IBM437]: https://en.wikipedia.org/wiki/Code_page_437\n", "example": {"_type": "literalExpression", "text": "\"LatArCyrHeb-16\""}, "loc": ["console", "font"], "readOnly": false, "type": "null or string or absolute path"}, "console.keyMap": {"declarations": ["nixos/modules/config/console.nix"], "default": {"_type": "literalExpression", "text": "\"us\""}, "description": "The keyboard mapping table for the virtual consoles.\n", "example": {"_type": "literalExpression", "text": "\"fr\""}, "loc": ["console", "keyMap"], "readOnly": false, "type": "string or absolute path"}, "console.packages": {"declarations": ["nixos/modules/config/console.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional packages that provide console fonts, keymaps and\nother resources for virtual consoles use.\n", "loc": ["console", "packages"], "readOnly": false, "type": "list of package"}, "console.useXkbConfig": {"declarations": ["nixos/modules/config/console.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, configure the virtual console keymap from the xserver\nkeyboard settings.\n", "loc": ["console", "useXkbConfig"], "readOnly": false, "type": "boolean"}, "documentation.dev.enable": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install documentation targeted at developers.\n* This includes man pages targeted at developers if {option}`documentation.man.enable` is\n  set (this also includes \"devman\" outputs).\n* This includes info pages targeted at developers if {option}`documentation.info.enable`\n  is set (this also includes \"devinfo\" outputs).\n* This includes other pages targeted at developers if {option}`documentation.doc.enable`\n  is set (this also includes \"devdoc\" outputs).\n", "loc": ["documentation", "dev", "enable"], "readOnly": false, "type": "boolean"}, "documentation.doc.enable": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install documentation distributed in packages' `/share/doc`.\nUsually plain text and/or HTML.\nThis also includes \"doc\" outputs.\n", "loc": ["documentation", "doc", "enable"], "readOnly": false, "type": "boolean"}, "documentation.enable": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install documentation of packages from\n{option}`environment.systemPackages` into the generated system path.\n\nSee \"Multiple-output packages\" chapter in the nixpkgs manual for more info.\n", "loc": ["documentation", "enable"], "readOnly": false, "type": "boolean"}, "documentation.info.enable": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install info pages and the {command}`info` command.\nThis also includes \"info\" outputs.\n", "loc": ["documentation", "info", "enable"], "readOnly": false, "type": "boolean"}, "documentation.man.cache.enable": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to generate the manual page index caches.\nThis allows searching for a page or\nkeyword using utilities like {manpage}`apropos(1)`\nand the `-k` option of\n{manpage}`man(1)`.\n", "loc": ["documentation", "man", "cache", "enable"], "readOnly": false, "type": "boolean"}, "documentation.man.cache.generateAtRuntime": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to generate the manual page index caches at runtime using\na systemd service.\n\n::: {.note}\nThis is currently only supported by the man-db module.\n:::\n", "loc": ["documentation", "man", "cache", "generateAtRuntime"], "readOnly": false, "type": "boolean"}, "documentation.man.enable": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install manual pages.\nThis also includes `man` outputs.\n", "loc": ["documentation", "man", "enable"], "readOnly": false, "type": "boolean"}, "documentation.man.man-db.enable": {"declarations": ["nixos/modules/misc/man-db.nix"], "default": {"_type": "literalExpression", "text": "config.documentation.man.enable"}, "description": "Whether to enable man-db as the default man page viewer.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["documentation", "man", "man-db", "enable"], "readOnly": false, "type": "boolean"}, "documentation.man.man-db.manualPages": {"declarations": ["nixos/modules/misc/man-db.nix"], "default": {"_type": "literalMD", "text": "all man pages in {option}`config.environment.systemPackages`"}, "description": "The manual pages to generate caches for if {option}`documentation.man.cache.enable`\nis enabled. Must be a path to a directory with man pages under\n`/share/man`; see the source for an example.\nAdvanced users can make this a content-addressed derivation to save a few rebuilds.\n", "loc": ["documentation", "man", "man-db", "manualPages"], "readOnly": false, "type": "absolute path"}, "documentation.man.man-db.package": {"declarations": ["nixos/modules/misc/man-db.nix"], "default": {"_type": "literalExpression", "text": "pkgs.man-db"}, "description": "The `man-db` derivation to use. Useful to override\nconfiguration options used for the package.\n", "loc": ["documentation", "man", "man-db", "package"], "readOnly": false, "type": "package"}, "documentation.man.mandoc.cachePath": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "config.documentation.man.mandoc.manPath"}, "description": "Change the paths where mandoc {manpage}`makewhatis(8)`generates the\nmanual page index caches. {option}`documentation.man.cache.enable`\nshould be enabled to allow cache generation. This list should only\ninclude the paths to manpages installed in the system configuration,\ni. e. /run/current-system/sw/share/man. {manpage}`makewhatis(8)`\ncreates a database in each directory using the files\n`mansection/[arch/]title.section` and `catsection/[arch/]title.0`\nin it. If a directory contains no manual pages, no database is\ncreated in that directory.\nThis option only needs to be set manually if extra paths should be\nindexed or {option}`documentation.man.manPath` contains paths that\ncan't be indexed.\n", "example": {"_type": "literalExpression", "text": "[ \"share/man\" \"share/man/fr\" ]"}, "loc": ["documentation", "man", "mandoc", "cachePath"], "readOnly": false, "type": "list of string"}, "documentation.man.mandoc.enable": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable mandoc as the default man page viewer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["documentation", "man", "mandoc", "enable"], "readOnly": false, "type": "boolean"}, "documentation.man.mandoc.extraConfig": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to write to {manpage}`man.conf(5)`.\n", "loc": ["documentation", "man", "mandoc", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "documentation.man.mandoc.manPath": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"share/man\"\n]"}, "description": "Change the paths included in the MANPATH environment variable,\ni. e. the directories where {manpage}`man(1)`\nlooks for section-specific directories of man pages.\nYou only need to change this setting if you want extra man pages\n(e. g. in non-english languages). All values must be strings that\nare a valid path from the target prefix (without including it).\nThe first value given takes priority. Note that this will not\nadd manpath directives to {manpage}`man.conf(5)`.\n", "example": {"_type": "literalExpression", "text": "[ \"share/man\" \"share/man/fr\" ]"}, "loc": ["documentation", "man", "mandoc", "manPath"], "readOnly": false, "type": "list of string"}, "documentation.man.mandoc.package": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mandoc"}, "description": "The `mandoc` derivation to use. Useful to override\nconfiguration options used for the package.\n", "loc": ["documentation", "man", "mandoc", "package"], "readOnly": false, "type": "package"}, "documentation.man.mandoc.settings": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for {manpage}`man.conf(5)`", "loc": ["documentation", "man", "mandoc", "settings"], "readOnly": false, "type": "submodule"}, "documentation.man.mandoc.settings.manpath": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Override the default search path for {manpage}`man(1)`,\n{manpage}`apropos(1)`, and {manpage}`makewhatis(8)`. It can be\nused multiple times to specify multiple paths, with the order\ndetermining the manual page search order.\nThis is not recommended in favor of\n{option}`documentation.man.mandoc.manPath`, but if it's needed to\nspecify the manpath in this way, set\n{option}`documentation.man.mandoc.manPath` to an empty list (`[]`).\n", "example": {"_type": "literalExpression", "text": "[ \"/run/current-system/sw/share/man\" ]"}, "loc": ["documentation", "man", "mandoc", "settings", "manpath"], "readOnly": false, "type": "list of string"}, "documentation.man.mandoc.settings.output.fragment": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to omit the <!DOCTYPE> declaration and the <html>, <head>, and <body>\nelements and only emit the subtree below the <body> element in HTML\noutput of {manpage}`mandoc(1)`. The style argument will be ignored.\nThis is useful when embedding manual content within existing documents.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["documentation", "man", "mandoc", "settings", "output", "fragment"], "readOnly": false, "type": "boolean"}, "documentation.man.mandoc.settings.output.includes": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A string of relative path used as a template for the output path of\nlinked header files (usually via the In macro) in HTML output.\nInstances of `%I` are replaced with the include filename. The\ndefault is not to present a hyperlink.\n", "example": {"_type": "literalExpression", "text": "../src/%I.html"}, "loc": ["documentation", "man", "mandoc", "settings", "output", "includes"], "readOnly": false, "type": "null or string"}, "documentation.man.mandoc.settings.output.indent": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of blank characters at the left margin for normal text,\ndefault of `5` for {manpage}`mdoc(7)` and `7` for\n{manpage}`man(7)`. Increasing this is not recommended; it may\nresult in degraded formatting, for example overfull lines or ugly\nline breaks. When output is to a pager on a terminal that is less\nthan 66 columns wide, the default is reduced to three columns.\n", "loc": ["documentation", "man", "mandoc", "settings", "output", "indent"], "readOnly": false, "type": "null or signed integer"}, "documentation.man.mandoc.settings.output.man": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A template for linked manuals (usually via the Xr macro) in HTML\noutput. Instances of \u2018%N\u2019 and \u2018%S\u2019 are replaced with the linked\nmanual's name and section, respectively. If no section is included,\nsection 1 is assumed. The default is not to present a hyperlink.\nIf two formats are given and a file %N.%S exists in the current\ndirectory, the first format is used; otherwise, the second format is used.\n", "example": {"_type": "literalExpression", "text": "../html%S/%N.%S.html"}, "loc": ["documentation", "man", "mandoc", "settings", "output", "man"], "readOnly": false, "type": "null or string"}, "documentation.man.mandoc.settings.output.paper": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This option is for generating PostScript and PDF output. The paper\nsize name may be one of `a3`, `a4`, `a5`, `legal`, or `letter`.\nYou may also manually specify dimensions as `NNxNN`, width by\nheight in millimetres. If an unknown value is encountered, letter\nis used. Output pages default to letter sized and are rendered in\nthe Times font family, 11-point. Margins are calculated as 1/9 the\npage length and width. Line-height is 1.4m.\n", "loc": ["documentation", "man", "mandoc", "settings", "output", "paper"], "readOnly": false, "type": "null or string"}, "documentation.man.mandoc.settings.output.style": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the file used for an external style-sheet. This must be a\nvalid absolute or relative URI.\n", "loc": ["documentation", "man", "mandoc", "settings", "output", "style"], "readOnly": false, "type": "null or absolute path"}, "documentation.man.mandoc.settings.output.toc": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable printing a table of contents near the beginning of the HTML output\nof {manpage}`mandoc(1)` if an input file contains at least two\nnon-standard sections\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["documentation", "man", "mandoc", "settings", "output", "toc"], "readOnly": false, "type": "boolean"}, "documentation.man.mandoc.settings.output.width": {"declarations": ["nixos/modules/misc/mandoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The ASCII and UTF-8 output width, default is `78`. When output is a\npager on a terminal that is less than 79 columns wide, the\ndefault is reduced to one less than the terminal width. In any case,\nlines that are output in literal mode are never wrapped and may\nexceed the output width.\n", "loc": ["documentation", "man", "mandoc", "settings", "output", "width"], "readOnly": false, "type": "null or signed integer"}, "documentation.nixos.checkRedirects": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Check redirects for manualHTML.\n", "loc": ["documentation", "nixos", "checkRedirects"], "readOnly": false, "type": "boolean"}, "documentation.nixos.enable": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install NixOS's own documentation.\n\n- This includes man pages like\n  {manpage}`configuration.nix(5)` if {option}`documentation.man.enable` is\n  set.\n- This includes the HTML manual and the {command}`nixos-help` command if\n  {option}`documentation.doc.enable` is set.\n", "loc": ["documentation", "nixos", "enable"], "readOnly": false, "type": "boolean"}, "documentation.nixos.extraModuleSources": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which extra NixOS module paths the generated NixOS's documentation should strip\nfrom options.\n", "example": {"_type": "literalExpression", "text": "# e.g. with options from modules in ${pkgs.customModules}/nix:\n[ pkgs.customModules ]\n"}, "loc": ["documentation", "nixos", "extraModuleSources"], "readOnly": false, "type": "list of (absolute path or string)"}, "documentation.nixos.extraModules": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Modules for which to show options even when not imported.\n", "loc": ["documentation", "nixos", "extraModules"], "readOnly": false, "type": "list of raw value"}, "documentation.nixos.includeAllModules": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the generated NixOS's documentation should include documentation for all\nthe options from all the NixOS modules included in the current\n`configuration.nix`. Disabling this will make the manual\ngenerator to ignore options defined outside of `baseModules`.\n", "loc": ["documentation", "nixos", "includeAllModules"], "readOnly": false, "type": "boolean"}, "documentation.nixos.options.splitBuild": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to split the option docs build into a cacheable and an uncacheable part.\nSplitting the build can substantially decrease the amount of time needed to build\nthe manual, but some user modules may be incompatible with this splitting.\n", "loc": ["documentation", "nixos", "options", "splitBuild"], "readOnly": false, "type": "boolean"}, "documentation.nixos.options.warningsAreErrors": {"declarations": ["nixos/modules/misc/documentation.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Treat warning emitted during the option documentation build (eg for missing option\ndescriptions) as errors.\n", "loc": ["documentation", "nixos", "options", "warningsAreErrors"], "readOnly": false, "type": "boolean"}, "ec2.zfs.datasets": {"declarations": ["nixos/modules/virtualisation/amazon-options.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Datasets to create under the `tank` and `boot` zpools.\n\n**NOTE:** This option is used only at image creation time, and\ndoes not attempt to declaratively create or manage datasets\non an existing system.\n", "loc": ["ec2", "zfs", "datasets"], "readOnly": false, "type": "attribute set of (submodule)"}, "ec2.zfs.datasets.<name>.mount": {"declarations": ["nixos/modules/virtualisation/amazon-options.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Where to mount this dataset.", "loc": ["ec2", "zfs", "datasets", "<name>", "mount"], "readOnly": false, "type": "null or string"}, "ec2.zfs.datasets.<name>.properties": {"declarations": ["nixos/modules/virtualisation/amazon-options.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Properties to set on this dataset.", "loc": ["ec2", "zfs", "datasets", "<name>", "properties"], "readOnly": false, "type": "attribute set of string"}, "environment.budgie.excludePackages": {"declarations": ["nixos/modules/services/desktop-managers/budgie.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which packages Budgie should exclude from the default environment.", "example": {"_type": "literalExpression", "text": "[ pkgs.mate-terminal ]"}, "loc": ["environment", "budgie", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.cinnamon.excludePackages": {"declarations": ["nixos/modules/services/x11/desktop-managers/cinnamon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which packages cinnamon should exclude from the default environment", "example": {"_type": "literalExpression", "text": "[ pkgs.blueman ]"}, "loc": ["environment", "cinnamon", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.corePackages": {"declarations": ["nixos/modules/config/system-path.nix"], "default": {"_type": "literalMD", "text": "these packages, with their `meta.priority` numerically increased\n(thus lowering their installation priority):\n\n    [ pkgs.acl pkgs.attr pkgs.bashInteractive pkgs.bzip2 pkgs.coreutils-full pkgs.cpio pkgs.curl pkgs.diffutils pkgs.findutils pkgs.gawk pkgs.getent pkgs.getconf pkgs.gnugrep pkgs.gnupatch pkgs.gnused pkgs.gnutar pkgs.gzip pkgs.xz pkgs.less pkgs.libcap pkgs.ncurses pkgs.netcat pkgs.mkpasswd pkgs.procps pkgs.su pkgs.time pkgs.util-linux pkgs.which pkgs.zstd ]\n"}, "description": "Set of core packages for a normal interactive system.\n\nOnly change this if you know what you're doing!\n\nLike with systemPackages, packages are installed to\n{file}`/run/current-system/sw`. They are\nautomatically available to all users, and are\nautomatically updated every time you rebuild the system\nconfiguration.\n", "example": {"_type": "literalExpression", "text": "[ ]"}, "loc": ["environment", "corePackages"], "readOnly": false, "type": "list of package"}, "environment.cosmic.excludePackages": {"declarations": ["nixos/modules/services/desktop-managers/cosmic.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages to exclude from the COSMIC environment.", "example": {"_type": "literalExpression", "text": "[ pkgs.cosmic-player ]"}, "loc": ["environment", "cosmic", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.debuginfodServers": {"declarations": ["nixos/modules/config/debug-info.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of urls of debuginfod servers for tools like {command}`gdb` and {command}`valgrind` to use.\n\nUnrelated to {option}`environment.enableDebugInfo`.\n", "loc": ["environment", "debuginfodServers"], "readOnly": false, "type": "list of string"}, "environment.defaultPackages": {"declarations": ["nixos/modules/config/system-path.nix"], "default": {"_type": "literalMD", "text": "these packages, with their `meta.priority` numerically increased\n(thus lowering their installation priority):\n\n    [ pkgs.perl pkgs.rsync pkgs.strace ]\n"}, "description": "Set of default packages that aren't strictly necessary\nfor a running system, entries can be removed for a more\nminimal NixOS installation.\n\nLike with systemPackages, packages are installed to\n{file}`/run/current-system/sw`. They are\nautomatically available to all users, and are\nautomatically updated every time you rebuild the system\nconfiguration.\n", "example": {"_type": "literalExpression", "text": "[ ]"}, "loc": ["environment", "defaultPackages"], "readOnly": false, "type": "list of package"}, "environment.enableAllTerminfo": {"declarations": ["nixos/modules/config/terminfo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install all terminfo outputs\n", "loc": ["environment", "enableAllTerminfo"], "readOnly": false, "type": "boolean"}, "environment.enableDebugInfo": {"declarations": ["nixos/modules/config/debug-info.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Some NixOS packages provide debug symbols. However, these are\nnot included in the system closure by default to save disk\nspace. Enabling this option causes the debug symbols to appear\nin {file}`/run/current-system/sw/lib/debug/.build-id`,\nwhere tools such as {command}`gdb` can find them.\nIf you need debug symbols for a package that doesn't\nprovide them by default, you can enable them as follows:\n\n    nixpkgs.config.packageOverrides = pkgs: {\n      hello = pkgs.hello.overrideAttrs (oldAttrs: {\n        separateDebugInfo = true;\n      });\n    };\n", "loc": ["environment", "enableDebugInfo"], "readOnly": false, "type": "boolean"}, "environment.enlightenment.excludePackages": {"declarations": ["nixos/modules/services/x11/desktop-managers/enlightenment.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which packages Enlightenment should exclude from the default environment", "example": {"_type": "literalExpression", "text": "[ pkgs.enlightenment.ephoto ]"}, "loc": ["environment", "enlightenment", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.etc": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of files that have to be linked in {file}`/etc`.\n", "example": {"_type": "literalExpression", "text": "{ example-configuration-file =\n    { source = \"/nix/store/.../etc/dir/file.conf.example\";\n      mode = \"0440\";\n    };\n  \"default/useradd\".text = \"GROUP=100 ...\";\n}\n"}, "loc": ["environment", "etc"], "readOnly": false, "type": "attribute set of (submodule)"}, "environment.etc.<name>.enable": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether this /etc file should be generated.  This\noption allows specific /etc files to be disabled.\n", "loc": ["environment", "etc", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "environment.etc.<name>.gid": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "GID of created file. Only takes effect when the file is\ncopied (that is, the mode is not 'symlink').\n", "loc": ["environment", "etc", "<name>", "gid"], "readOnly": false, "type": "signed integer"}, "environment.etc.<name>.group": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "\"+0\""}, "description": "Group name of file owner.\n\nOnly takes effect when the file is copied (that is, the\nmode is not `symlink`).\n\nWhen `services.userborn.enable`, this option has no effect.\nYou have to assign a `gid` instead. Otherwise this option\ntakes precedence over `gid`.\n", "loc": ["environment", "etc", "<name>", "group"], "readOnly": false, "type": "string"}, "environment.etc.<name>.mode": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "\"symlink\""}, "description": "If set to something else than `symlink`,\nthe file is copied instead of symlinked, with the given\nfile mode.\n", "example": {"_type": "literalExpression", "text": "\"0600\""}, "loc": ["environment", "etc", "<name>", "mode"], "readOnly": false, "type": "string"}, "environment.etc.<name>.source": {"declarations": ["nixos/modules/system/etc/etc.nix"], "description": "Path of the source file.", "loc": ["environment", "etc", "<name>", "source"], "readOnly": false, "type": "absolute path"}, "environment.etc.<name>.target": {"declarations": ["nixos/modules/system/etc/etc.nix"], "description": "Name of symlink (relative to\n{file}`/etc`).  Defaults to the attribute\nname.\n", "loc": ["environment", "etc", "<name>", "target"], "readOnly": false, "type": "string"}, "environment.etc.<name>.text": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["environment", "etc", "<name>", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "environment.etc.<name>.uid": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "UID of created file. Only takes effect when the file is\ncopied (that is, the mode is not 'symlink').\n", "loc": ["environment", "etc", "<name>", "uid"], "readOnly": false, "type": "signed integer"}, "environment.etc.<name>.user": {"declarations": ["nixos/modules/system/etc/etc.nix"], "default": {"_type": "literalExpression", "text": "\"+0\""}, "description": "User name of file owner.\n\nOnly takes effect when the file is copied (that is, the\nmode is not `symlink`).\n\nWhen `services.userborn.enable`, this option has no effect.\nYou have to assign a `uid` instead. Otherwise this option\ntakes precedence over `uid`.\n", "loc": ["environment", "etc", "<name>", "user"], "readOnly": false, "type": "string"}, "environment.extraInit": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during global environment initialisation\nafter all variables and profileVariables have been set.\nThis code is assumed to be shell-independent, which means you should\nstick to pure sh without sh word split.\n", "loc": ["environment", "extraInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "environment.extraOutputsToInstall": {"declarations": ["nixos/modules/config/system-path.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Entries listed here will be appended to the `meta.outputsToInstall` attribute for each package in `environment.systemPackages`, and the files from the corresponding derivation outputs symlinked into {file}`/run/current-system/sw`.\n\nFor example, this can be used to install the `dev` and `info` outputs for all packages in the system environment, if they are available.\n\nTo use specific outputs instead of configuring them globally, select the corresponding attribute on the package derivation, e.g. `libxml2.dev` or `coreutils.info`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"dev\"\n  \"info\"\n]"}, "loc": ["environment", "extraOutputsToInstall"], "readOnly": false, "type": "list of string"}, "environment.extraSetup": {"declarations": ["nixos/modules/config/system-path.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell fragments to be run after the system environment has been created. This should only be used for things that need to modify the internals of the environment, e.g. generating MIME caches. The environment being built can be accessed at $out.", "loc": ["environment", "extraSetup"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "environment.freetds": {"declarations": ["nixos/modules/programs/freetds.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configure freetds database entries. Each attribute denotes\na section within freetds.conf, and the value (a string) is the config\ncontent for that section. When at least one entry is configured\nthe global environment variables FREETDSCONF, FREETDS and SYBASE\nwill be configured to allow the programs that use freetds to find the\nlibrary and config.\n", "example": {"_type": "literalExpression", "text": "{ MYDATABASE = ''\n    host = 10.0.2.100\n    port = 1433\n    tds version = 7.2\n  '';\n}\n"}, "loc": ["environment", "freetds"], "readOnly": false, "type": "attribute set of string"}, "environment.gnome.excludePackages": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which packages gnome should exclude from the default environment", "example": {"_type": "literalExpression", "text": "[ pkgs.showtime ]"}, "loc": ["environment", "gnome", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.homeBinInPath": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Include ~/bin/ in $PATH.\n", "loc": ["environment", "homeBinInPath"], "readOnly": false, "type": "boolean"}, "environment.interactiveShellInit": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during interactive shell initialisation.\nThis code is assumed to be shell-independent, which means you should\nstick to pure sh without sh word split.\n", "loc": ["environment", "interactiveShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "environment.ldso": {"declarations": ["nixos/modules/config/ldso.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The executable to link into the normal FHS location of the ELF loader.\n", "loc": ["environment", "ldso"], "readOnly": false, "type": "null or absolute path"}, "environment.ldso32": {"declarations": ["nixos/modules/config/ldso.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The executable to link into the normal FHS location of the 32-bit ELF loader.\n\nThis currently only works on x86_64 architectures.\n", "loc": ["environment", "ldso32"], "readOnly": false, "type": "null or absolute path"}, "environment.localBinInPath": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add ~/.local/bin/ to $PATH\n", "loc": ["environment", "localBinInPath"], "readOnly": false, "type": "boolean"}, "environment.loginShellInit": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during login shell initialisation.\nThis code is assumed to be shell-independent, which means you should\nstick to pure sh without sh word split.\n", "loc": ["environment", "loginShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "environment.lxqt.excludePackages": {"declarations": ["nixos/modules/services/x11/desktop-managers/lxqt.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which LXQt packages to exclude from the default environment", "example": {"_type": "literalExpression", "text": "with pkgs; [ lxqt.qterminal ]"}, "loc": ["environment", "lxqt", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.mate.excludePackages": {"declarations": ["nixos/modules/services/x11/desktop-managers/mate.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which MATE packages to exclude from the default environment", "example": {"_type": "literalExpression", "text": "[ pkgs.mate-terminal pkgs.pluma ]"}, "loc": ["environment", "mate", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.memoryAllocator.provider": {"declarations": ["nixos/modules/config/malloc.nix"], "default": {"_type": "literalExpression", "text": "\"libc\""}, "description": "The system-wide memory allocator.\n\nBriefly, the system-wide memory allocator providers are:\n\n- `libc`: the standard allocator provided by libc\n- `graphene-hardened`: Hardened memory allocator coming from GrapheneOS project. The default configuration template has all normal optional security features enabled and is quite aggressive in terms of sacrificing performance and memory usage for security. \n- `graphene-hardened-light`: Hardened memory allocator coming from GrapheneOS project. The light configuration template disables the slab quarantines, write after free check, slot randomization and raises the guard slab interval from 1 to 8 but leaves zero-on-free and slab canaries enabled. The light configuration has solid performance and memory usage while still being far more secure than mainstream allocators with much better security properties. \n- `jemalloc`: A general purpose allocator that emphasizes fragmentation avoidance and scalable concurrency support. \n- `mimalloc`: A compact and fast general purpose allocator, which may optionally be built with mitigations against various heap vulnerabilities. \n- `scudo`: A user-mode allocator based on LLVM Sanitizer\u2019s CombinedAllocator, which aims at providing additional mitigations against heap based vulnerabilities, while maintaining good performance. \n\n::: {.warning}\nSelecting an alternative allocator (i.e., anything other than\n`libc`) may result in instability, data loss,\nand/or service failure.\n:::\n", "loc": ["environment", "memoryAllocator", "provider"], "readOnly": false, "type": "one of \"libc\", \"graphene-hardened\", \"graphene-hardened-light\", \"jemalloc\", \"mimalloc\", \"scudo\""}, "environment.pantheon.excludePackages": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which packages pantheon should exclude from the default environment", "example": {"_type": "literalExpression", "text": "[ pkgs.pantheon.elementary-camera ]"}, "loc": ["environment", "pantheon", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.pathsToLink": {"declarations": ["nixos/modules/config/system-path.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of directories to be symlinked in {file}`/run/current-system/sw`.", "example": {"_type": "literalExpression", "text": "[\n  \"/\"\n]"}, "loc": ["environment", "pathsToLink"], "readOnly": false, "type": "list of string"}, "environment.plasma6.excludePackages": {"declarations": ["nixos/modules/services/desktop-managers/plasma6.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of default packages to exclude from the configuration", "example": {"_type": "literalExpression", "text": "[ pkgs.kdePackages.elisa ]"}, "loc": ["environment", "plasma6", "excludePackages"], "readOnly": false, "type": "list of package"}, "environment.profileRelativeEnvVars": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of environment variable.  Each attribute maps to a list\nof relative paths.  Each relative path is appended to the each profile\nof {option}`environment.profiles` to form the content of the\ncorresponding environment variable.\n", "example": {"_type": "literalExpression", "text": "{\n  MANPATH = [\n    \"/man\"\n    \"/share/man\"\n  ];\n  PATH = [\n    \"/bin\"\n  ];\n}"}, "loc": ["environment", "profileRelativeEnvVars"], "readOnly": false, "type": "attribute set of list of string"}, "environment.profileRelativeSessionVariables": {"declarations": ["nixos/modules/config/system-environment.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of environment variable used in the global\nenvironment. These variables will be set by PAM early in the\nlogin process.\n\nVariable substitution is available as described in\n{manpage}`pam_env.conf(5)`.\n\nEach attribute maps to a list of relative paths. Each relative\npath is appended to the each profile of\n{option}`environment.profiles` to form the content of\nthe corresponding environment variable.\n\nAlso, these variables are merged into\n[](#opt-environment.profileRelativeEnvVars) and it is\ntherefore not possible to use PAM style variables such as\n`@{HOME}`.\n", "example": {"_type": "literalExpression", "text": "{\n  MANPATH = [\n    \"/man\"\n    \"/share/man\"\n  ];\n  PATH = [\n    \"/bin\"\n  ];\n}"}, "loc": ["environment", "profileRelativeSessionVariables"], "readOnly": false, "type": "attribute set of list of string"}, "environment.profiles": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of profiles used to setup the global environment.\n", "loc": ["environment", "profiles"], "readOnly": false, "type": "list of string"}, "environment.sessionVariables": {"declarations": ["nixos/modules/config/system-environment.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of environment variables used in the global environment.\nThese variables will be set by PAM early in the login process.\n\nThe value of each session variable can be either a string or a\nlist of strings. The latter is concatenated, interspersed with\ncolon characters.\n\nSetting a variable to `null` does nothing. You can override a\nvariable set by another module to `null` to unset it.\n\nNote, due to limitations in the PAM format values may not\ncontain the `\"` character.\n\nAlso, these variables are merged into\n[](#opt-environment.variables) and it is\ntherefore not possible to use PAM style variables such as\n`@{HOME}`.\n", "loc": ["environment", "sessionVariables"], "readOnly": false, "type": "attribute set of (null or (list of (signed integer or string or absolute path)) or signed integer or string or absolute path)"}, "environment.shellAliases": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "An attribute set that maps aliases (the top level attribute names in\nthis option) to command strings or directly to build outputs. The\naliases are added to all users' shells.\nAliases mapped to `null` are ignored.\n", "example": {"_type": "literalExpression", "text": "{\n  l = null;\n  ll = \"ls -l\";\n}"}, "loc": ["environment", "shellAliases"], "readOnly": false, "type": "attribute set of (null or string or absolute path)"}, "environment.shellInit": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during shell initialisation.\nThis code is assumed to be shell-independent, which means you should\nstick to pure sh without sh word split.\n", "loc": ["environment", "shellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "environment.shells": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of permissible login shells for user accounts.\nNo need to mention `/bin/sh`\nhere, it is placed into this list implicitly.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.bashInteractive pkgs.zsh ]"}, "loc": ["environment", "shells"], "readOnly": false, "type": "list of (package or absolute path)"}, "environment.stub-ld.enable": {"declarations": ["nixos/modules/config/stub-ld.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Install a stub ELF loader to print an informative error message\nin the event that a user attempts to run an ELF binary not\ncompiled for NixOS.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["environment", "stub-ld", "enable"], "readOnly": false, "type": "boolean"}, "environment.systemPackages": {"declarations": ["nixos/modules/config/system-path.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The set of packages that appear in\n/run/current-system/sw.  These packages are\nautomatically available to all users, and are\nautomatically updated every time you rebuild the system\nconfiguration.  (The latter is the main difference with\ninstalling them in the default profile,\n{file}`/nix/var/nix/profiles/default`.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.firefox pkgs.thunderbird ]"}, "loc": ["environment", "systemPackages"], "readOnly": false, "type": "list of package"}, "environment.unixODBCDrivers": {"declarations": ["nixos/modules/config/unix-odbc-drivers.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies Unix ODBC drivers to be registered in\n{file}`/etc/odbcinst.ini`.  You may also want to\nadd `pkgs.unixodbc` to the system path to get\na command line client to connect to ODBC databases.\n", "example": {"_type": "literalExpression", "text": "with pkgs.unixodbcDrivers; [ sqlite psql ]"}, "loc": ["environment", "unixODBCDrivers"], "readOnly": false, "type": "list of package"}, "environment.variables": {"declarations": ["nixos/modules/config/shells-environment.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of environment variables used in the global environment.\nThese variables will be set on shell initialisation (e.g. in /etc/profile).\n\nThe value of each variable can be either a string or a list of\nstrings.  The latter is concatenated, interspersed with colon\ncharacters.\n\nSetting a variable to `null` does nothing. You can override a\nvariable set by another module to `null` to unset it.\n", "example": {"_type": "literalExpression", "text": "{\n  EDITOR = \"nvim\";\n  VISUAL = \"nvim\";\n}"}, "loc": ["environment", "variables"], "readOnly": false, "type": "attribute set of (null or (list of (signed integer or string or absolute path)) or signed integer or string or absolute path)"}, "environment.wordlist.enable": {"declarations": ["nixos/modules/misc/wordlist.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable environment variables for lists of words.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["environment", "wordlist", "enable"], "readOnly": false, "type": "boolean"}, "environment.wordlist.lists": {"declarations": ["nixos/modules/misc/wordlist.nix"], "default": {"_type": "literalExpression", "text": "{\n  WORDLIST = [ \"${pkgs.scowl}/share/dict/words.txt\" ];\n}\n"}, "description": "A set with the key names being the environment variable you'd like to\nset and the values being a list of paths to text documents containing\nlists of words. The various files will be merged, sorted, duplicates\nremoved, and extraneous spacing removed.\n\nIf you have a handful of words that you want to add to an already\nexisting wordlist, you may find `builtins.toFile` useful for this\ntask.\n", "example": {"_type": "literalExpression", "text": "{\n  WORDLIST = [ \"${pkgs.scowl}/share/dict/words.txt\" ];\n  AUGMENTED_WORDLIST = [\n    \"${pkgs.scowl}/share/dict/words.txt\"\n    \"${pkgs.scowl}/share/dict/words.variants.txt\"\n    (builtins.toFile \"extra-words\" ''\n      desynchonization\n      oobleck'')\n  ];\n}\n"}, "loc": ["environment", "wordlist", "lists"], "readOnly": false, "type": "attribute set of non-empty (list of absolute path)"}, "environment.wvdial.dialerDefaults": {"declarations": ["nixos/modules/services/networking/wvdial.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Contents of the \"Dialer Defaults\" section of\n<filename>/etc/wvdial.conf</filename>.\n", "example": {"_type": "literalExpression", "text": "\"Init1 = AT+CGDCONT=1,\\\"IP\\\",\\\"internet.t-mobile\\\"\""}, "loc": ["environment", "wvdial", "dialerDefaults"], "readOnly": false, "type": "string"}, "environment.wvdial.pppDefaults": {"declarations": ["nixos/modules/services/networking/wvdial.nix"], "default": {"_type": "literalExpression", "text": "''\n  noipdefault\n  usepeerdns\n  defaultroute\n  persist\n  noauth\n''"}, "description": "Default ppp settings for wvdial.", "loc": ["environment", "wvdial", "pppDefaults"], "readOnly": false, "type": "string"}, "environment.xfce.excludePackages": {"declarations": ["nixos/modules/services/x11/desktop-managers/xfce.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Which packages XFCE should exclude from the default environment", "example": {"_type": "literalExpression", "text": "[ pkgs.xfce4-volumed-pulse ]"}, "loc": ["environment", "xfce", "excludePackages"], "readOnly": false, "type": "list of package"}, "fileSystems": {"declarations": ["nixos/modules/tasks/filesystems/overlayfs.nix", "nixos/modules/tasks/filesystems.nix", "nixos/modules/tasks/encrypted-devices.nix", "nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The file systems to be mounted.  It must include an entry for\nthe root directory (`mountPoint = \"/\"`).  Each\nentry in the list is an attribute set with the following fields:\n`mountPoint`, `device`,\n`fsType` (a file system type recognised by\n{command}`mount`), and `options`\n(the mount options passed to {command}`mount` using the\n{option}`-o` flag; defaults to `[ \"defaults\" ]`).\n\nInstead of specifying `device`, you can also\nspecify a volume label (`label`) for file\nsystems that support it, such as ext2/ext3 (see {command}`mke2fs -L`).\n", "example": {"_type": "literalExpression", "text": "{\n  \"/\".device = \"/dev/hda1\";\n  \"/data\" = {\n    device = \"/dev/hda2\";\n    fsType = \"ext3\";\n    options = [ \"data=journal\" ];\n  };\n  \"/bigdisk\".label = \"bigdisk\";\n}\n"}, "loc": ["fileSystems"], "readOnly": false, "type": "attribute set of (submodule)"}, "fileSystems.<name>.autoFormat": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If the device does not currently contain a filesystem (as\ndetermined by {command}`blkid`), then automatically\nformat it with the filesystem type specified in\n{option}`fsType`.  Use with caution.\n", "loc": ["fileSystems", "<name>", "autoFormat"], "readOnly": false, "type": "boolean"}, "fileSystems.<name>.autoResize": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, the filesystem is grown to its maximum size before\nbeing mounted. (This is typically the size of the containing\npartition.) This is currently only supported for ext2/3/4\nfilesystems that are mounted during early boot.\n", "loc": ["fileSystems", "<name>", "autoResize"], "readOnly": false, "type": "boolean"}, "fileSystems.<name>.depends": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of paths that should be mounted before this one. This filesystem's\n{option}`device` and {option}`mountPoint` are always\nchecked and do not need to be included explicitly. If a path is added\nto this list, any other filesystem whose mount point is a parent of\nthe path will be mounted before this filesystem. The paths do not need\nto actually be the {option}`mountPoint` of some other filesystem.\n\nThis is useful for mounts which require keys and/or configuration files residing on another filesystem.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/persist\"\n]"}, "loc": ["fileSystems", "<name>", "depends"], "readOnly": false, "type": "list of string (with check: non-empty without trailing slash)"}, "fileSystems.<name>.device": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The device as passed to `mount`.\n\nThis can be any of:\n\n- a filename of a block special device such as `/dev/sdc3`\n- a tag such as `UUID=fdd68895-c307-4549-8c9c-90e44c71f5b7`\n- (for bind mounts only) the source path\n- something else depending on the {option}`fsType`. For example, `nfs` device may look like `knuth.cwi.nl:/dir`\n\nThis is called `device` in {manpage}`mount(8)` and `fs_spec` in {manpage}`fstab(5)`.\n", "example": {"_type": "literalExpression", "text": "\"/dev/sda\""}, "loc": ["fileSystems", "<name>", "device"], "readOnly": false, "type": "null or string (with check: non-empty)"}, "fileSystems.<name>.enable": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the filesystem mount.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["fileSystems", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "fileSystems.<name>.encrypted.blkDev": {"declarations": ["nixos/modules/tasks/encrypted-devices.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Location of the backing encrypted device.", "example": {"_type": "literalExpression", "text": "\"/dev/sda1\""}, "loc": ["fileSystems", "<name>", "encrypted", "blkDev"], "readOnly": false, "type": "null or string"}, "fileSystems.<name>.encrypted.enable": {"declarations": ["nixos/modules/tasks/encrypted-devices.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "The block device is backed by an encrypted one, adds this device as a initrd luks entry.", "loc": ["fileSystems", "<name>", "encrypted", "enable"], "readOnly": false, "type": "boolean"}, "fileSystems.<name>.encrypted.keyFile": {"declarations": ["nixos/modules/tasks/encrypted-devices.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a keyfile used to unlock the backing encrypted\ndevice. When systemd stage 1 is not enabled, at the time\nthis keyfile is accessed, the `neededForBoot` filesystems\n(see `utils.fsNeededForBoot`) will have been mounted under\n`/mnt-root`, so the keyfile path should usually start with\n\"/mnt-root/\". When systemd stage 1 is enabled,\n`fsNeededForBoot` file systems will be mounted as needed\nunder `/sysroot`, and the keyfile will not be accessed until\nits requisite mounts are done.\n", "example": {"_type": "literalExpression", "text": "\"/mnt-root/root/.swapkey\""}, "loc": ["fileSystems", "<name>", "encrypted", "keyFile"], "readOnly": false, "type": "null or string"}, "fileSystems.<name>.encrypted.label": {"declarations": ["nixos/modules/tasks/encrypted-devices.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Label of the unlocked encrypted device. Set `fileSystems.<name?>.device` to `/dev/mapper/<label>` to mount the unlocked device.", "example": {"_type": "literalExpression", "text": "\"rootfs\""}, "loc": ["fileSystems", "<name>", "encrypted", "label"], "readOnly": false, "type": "null or string"}, "fileSystems.<name>.fsType": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "description": "Type of the file system.\n\nThis is the `fstype` passed to `-t` in the {manpage}`mount(8)` command, and is called `fs_vfstype` in {manpage}`fstab(5)`.\n", "example": {"_type": "literalExpression", "text": "\"ext3\""}, "loc": ["fileSystems", "<name>", "fsType"], "readOnly": false, "type": "string (with check: non-empty)"}, "fileSystems.<name>.label": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Label of the device. This simply sets {option}`device` to\n`/dev/disk/by-label/${label}`. Note that devices will not\nhave a label unless they contain a filesystem which\nsupports labels, such as ext4 or fat32.\n", "example": {"_type": "literalExpression", "text": "\"root-partition\""}, "loc": ["fileSystems", "<name>", "label"], "readOnly": false, "type": "null or string (with check: non-empty)"}, "fileSystems.<name>.mountPoint": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Location where the file system will be mounted.\n\nThis is called `mountpoint` in {manpage}`mount(8)` and `fs_file` in {manpage}`fstab(5)`\n", "example": {"_type": "literalExpression", "text": "\"/mnt/usb\""}, "loc": ["fileSystems", "<name>", "mountPoint"], "readOnly": false, "type": "string (with check: non-empty without trailing slash)"}, "fileSystems.<name>.neededForBoot": {"declarations": ["nixos/modules/system/boot/stage-1.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, this file system will be mounted in the initial ramdisk.\nNote that the file system will always be mounted in the initial\nramdisk if its mount point is one of the following:\n{file}`/`, {file}`/nix`, {file}`/nix/store`, {file}`/var`, {file}`/var/log`, {file}`/var/lib`, {file}`/var/lib/nixos`, {file}`/etc`, {file}`/usr`.\n", "loc": ["fileSystems", "<name>", "neededForBoot"], "readOnly": false, "type": "boolean"}, "fileSystems.<name>.noCheck": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable running fsck on this filesystem.", "loc": ["fileSystems", "<name>", "noCheck"], "readOnly": false, "type": "boolean"}, "fileSystems.<name>.options": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"defaults\"\n]"}, "description": "Options used to mount the file system.\n\nThis is called `options` in {manpage}`mount(8)` and `fs_mntops` in {manpage}`fstab(5)`\n\nSome options that can be used for all mounts are documented in {manpage}`mount(8)` under `FILESYSTEM-INDEPENDENT MOUNT OPTIONS`.\n\nOptions that systemd understands are documented in {manpage}`systemd.mount(5)` under `FSTAB`.\n\nEach filesystem supports additional options, see the docs for that filesystem.\n", "example": {"_type": "literalExpression", "text": "[\n  \"data=journal\"\n]"}, "loc": ["fileSystems", "<name>", "options"], "readOnly": false, "type": "non-empty (list of string (with check: non-empty))"}, "fileSystems.<name>.overlay.lowerdir": {"declarations": ["nixos/modules/tasks/filesystems/overlayfs.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The list of path(s) to the lowerdir(s).\n\nTo create a writable overlay, you MUST provide an `upperdir` and a\n`workdir`.\n\nYou can create a read-only overlay when you provide multiple (at\nleast 2!) lowerdirs and neither an `upperdir` nor a `workdir`.\n", "loc": ["fileSystems", "<name>", "overlay", "lowerdir"], "readOnly": false, "type": "null or (non-empty (list of (string or path in the Nix store)))"}, "fileSystems.<name>.overlay.upperdir": {"declarations": ["nixos/modules/tasks/filesystems/overlayfs.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the upperdir.\n\nIf this is null, a read-only overlay is created using the lowerdir.\n\nIf the filesystem is `neededForBoot`, this will be prefixed with `/sysroot`,\nunless `useStage1BaseDirectories` is set to `true`.\n\nIf you set this to some value you MUST also set `workdir`.\n", "loc": ["fileSystems", "<name>", "overlay", "upperdir"], "readOnly": false, "type": "null or string"}, "fileSystems.<name>.overlay.useStage1BaseDirectories": {"declarations": ["nixos/modules/tasks/filesystems/overlayfs.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, `lowerdir`, `upperdir` and `workdir` will be prefixed with `/sysroot`.\n\nDisabling this can be useful to create an overlay over directories which aren't on the real root.\n\nDisabling this does not work with the scripted (i.e. non-systemd) initrd.\n", "loc": ["fileSystems", "<name>", "overlay", "useStage1BaseDirectories"], "readOnly": false, "type": "boolean"}, "fileSystems.<name>.overlay.workdir": {"declarations": ["nixos/modules/tasks/filesystems/overlayfs.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the workdir.\n\nIf the filesystem is `neededForBoot`, this will be prefixed with `/sysroot`,\nunless `useStage1BaseDirectories` is set to `true`.\n\nThis MUST be set if you set `upperdir`.\n", "loc": ["fileSystems", "<name>", "overlay", "workdir"], "readOnly": false, "type": "null or string"}, "fileSystems.<name>.stratis.poolUuid": {"declarations": ["nixos/modules/tasks/filesystems.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "UUID of the stratis pool that the fs is located in\n\nThis is only relevant if you are using [stratis](https://stratis-storage.github.io/).\n", "example": {"_type": "literalExpression", "text": "\"04c68063-90a5-4235-b9dd-6180098a20d9\""}, "loc": ["fileSystems", "<name>", "stratis", "poolUuid"], "readOnly": false, "type": "null or string"}, "fonts.enableDefaultPackages": {"declarations": ["nixos/modules/config/fonts/packages.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable a basic set of fonts providing several styles\nand families and reasonable coverage of Unicode.\n", "loc": ["fonts", "enableDefaultPackages"], "readOnly": false, "type": "boolean"}, "fonts.enableGhostscriptFonts": {"declarations": ["nixos/modules/config/fonts/ghostscript.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add the fonts provided by Ghostscript (such as\nvarious URW fonts and the \u201cBase-14\u201d Postscript fonts) to the\nlist of system fonts, making them available to X11\napplications.\n", "loc": ["fonts", "enableGhostscriptFonts"], "readOnly": false, "type": "boolean"}, "fonts.fontDir.decompressFonts": {"declarations": ["nixos/modules/config/fonts/fontdir.nix"], "default": {"_type": "literalExpression", "text": "config.programs.xwayland.enable"}, "description": "Whether to decompress fonts in\n{file}`/run/current-system/sw/share/X11/fonts`.\n", "loc": ["fonts", "fontDir", "decompressFonts"], "readOnly": false, "type": "boolean"}, "fonts.fontDir.enable": {"declarations": ["nixos/modules/config/fonts/fontdir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to create a directory with links to all fonts in\n{file}`/run/current-system/sw/share/X11/fonts`.\n", "loc": ["fonts", "fontDir", "enable"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.allowBitmaps": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Allow bitmap fonts. Set to `false` to ban all\nbitmap fonts.\n", "loc": ["fonts", "fontconfig", "allowBitmaps"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.allowType1": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow Type-1 fonts. Default is `false` because of\npoor rendering.\n", "loc": ["fonts", "fontconfig", "allowType1"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.antialias": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable font antialiasing. At high resolution (> 200 DPI),\nantialiasing has no visible effect; users of such displays may want\nto disable this option.\n", "loc": ["fonts", "fontconfig", "antialias"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.cache32Bit": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Generate system fonts cache for 32-bit applications.\n", "loc": ["fonts", "fontconfig", "cache32Bit"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.defaultFonts.emoji": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"Noto Color Emoji\"\n]"}, "description": "System-wide default emoji font(s). Multiple fonts may be listed\nin case a font does not support all emoji.\n\nNote that fontconfig matches color emoji fonts preferentially,\nso if you want to use a black and white font while having\na color font installed (eg. Noto Color Emoji installed alongside\nNoto Emoji), fontconfig will still choose the color font even\nwhen it is later in the list.\n", "loc": ["fonts", "fontconfig", "defaultFonts", "emoji"], "readOnly": false, "type": "list of string"}, "fonts.fontconfig.defaultFonts.monospace": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"DejaVu Sans Mono\"\n]"}, "description": "System-wide default monospace font(s). Multiple fonts may be\nlisted in case multiple languages must be supported.\n", "loc": ["fonts", "fontconfig", "defaultFonts", "monospace"], "readOnly": false, "type": "list of string"}, "fonts.fontconfig.defaultFonts.sansSerif": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"DejaVu Sans\"\n]"}, "description": "System-wide default sans serif font(s). Multiple fonts may be\nlisted in case multiple languages must be supported.\n", "loc": ["fonts", "fontconfig", "defaultFonts", "sansSerif"], "readOnly": false, "type": "list of string"}, "fonts.fontconfig.defaultFonts.serif": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"DejaVu Serif\"\n]"}, "description": "System-wide default serif font(s). Multiple fonts may be listed\nin case multiple languages must be supported.\n", "loc": ["fonts", "fontconfig", "defaultFonts", "serif"], "readOnly": false, "type": "list of string"}, "fonts.fontconfig.enable": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, a Fontconfig configuration file will be built\npointing to a set of default fonts.  If you don't care about\nrunning X11 applications or any other program that uses\nFontconfig, you can turn this option off and prevent a\ndependency on all those fonts.\n", "loc": ["fonts", "fontconfig", "enable"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.hinting.autohint": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the autohinter in place of the default interpreter.\nThe results are usually lower quality than correctly-hinted\nfonts, but better than unhinted fonts.\n", "loc": ["fonts", "fontconfig", "hinting", "autohint"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.hinting.enable": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable font hinting. Hinting aligns glyphs to pixel boundaries to\nimprove rendering sharpness at low resolution. At high resolution\n(> 200 dpi) hinting will do nothing (at best); users of such\ndisplays may want to disable this option.\n", "loc": ["fonts", "fontconfig", "hinting", "enable"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.hinting.style": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "\"slight\""}, "description": "Hintstyle is the amount of font reshaping done to line up\nto the grid.\n\nslight will make the font more fuzzy to line up to the grid but\nwill be better in retaining font shape, while full will be a\ncrisp font that aligns well to the pixel grid but will lose a\ngreater amount of font shape.\n", "loc": ["fonts", "fontconfig", "hinting", "style"], "readOnly": false, "type": "one of \"none\", \"slight\", \"medium\", \"full\""}, "fonts.fontconfig.includeUserConf": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Include the user configuration from\n{file}`~/.config/fontconfig/fonts.conf` or\n{file}`~/.config/fontconfig/conf.d`.\n", "loc": ["fonts", "fontconfig", "includeUserConf"], "readOnly": false, "type": "boolean"}, "fonts.fontconfig.localConf": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "System-wide customization file contents, has higher priority than\n`defaultFonts` settings.\n", "loc": ["fonts", "fontconfig", "localConf"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "fonts.fontconfig.subpixel.lcdfilter": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "FreeType LCD filter. At high resolution (> 200 DPI), LCD filtering\nhas no visible effect; users of such displays may want to select\n`none`.\n", "loc": ["fonts", "fontconfig", "subpixel", "lcdfilter"], "readOnly": false, "type": "one of \"none\", \"default\", \"light\", \"legacy\""}, "fonts.fontconfig.subpixel.rgba": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "\"none\""}, "description": "Subpixel order. The overwhelming majority of displays are\n`rgb` in their normal orientation. Select\n`vrgb` for mounting such a display 90 degrees\nclockwise from its normal orientation or `vbgr`\nfor mounting 90 degrees counter-clockwise. Select\n`bgr` in the unlikely event of mounting 180\ndegrees from the normal orientation. Reverse these directions in\nthe improbable event that the display's native subpixel order is\n`bgr`.\n", "loc": ["fonts", "fontconfig", "subpixel", "rgba"], "readOnly": false, "type": "one of \"rgb\", \"bgr\", \"vrgb\", \"vbgr\", \"none\""}, "fonts.fontconfig.useEmbeddedBitmaps": {"declarations": ["nixos/modules/config/fonts/fontconfig.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use embedded bitmaps in fonts like Calibri.", "loc": ["fonts", "fontconfig", "useEmbeddedBitmaps"], "readOnly": false, "type": "boolean"}, "fonts.packages": {"declarations": ["nixos/modules/config/fonts/packages.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of primary font packages.", "example": {"_type": "literalExpression", "text": "[ pkgs.dejavu_fonts ]"}, "loc": ["fonts", "packages"], "readOnly": false, "type": "list of absolute path"}, "gtk.iconCache.enable": {"declarations": ["nixos/modules/config/gtk/gtk-icon-cache.nix"], "default": {"_type": "literalExpression", "text": "config.services.xserver.enable"}, "description": "Whether to build icon theme caches for GTK applications.\n", "loc": ["gtk", "iconCache", "enable"], "readOnly": false, "type": "boolean"}, "hardware.acpilight.enable": {"declarations": ["nixos/modules/hardware/acpilight.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable acpilight.\nThis will allow brightness control via xbacklight from users in the video group\n", "loc": ["hardware", "acpilight", "enable"], "readOnly": false, "type": "boolean"}, "hardware.alsa.cardAliases": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Assign custom names and reorder the sound cards.\n\n::: {.note}\nYou can find the card ids by looking at `/proc/asound/cards`.\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  soundchip = { driver = \"snd_intel_hda\"; id = 0; };\n  videocard = { driver = \"snd_intel_hda\"; id = 1; };\n  usb       = { driver = \"snd_usb_audio\"; id = 2; };\n}\n"}, "loc": ["hardware", "alsa", "cardAliases"], "readOnly": false, "type": "attribute set of (submodule)"}, "hardware.alsa.cardAliases.<name>.driver": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "description": "Name of the kernel module that provides the card.\n", "loc": ["hardware", "alsa", "cardAliases", "<name>", "driver"], "readOnly": false, "type": "string"}, "hardware.alsa.cardAliases.<name>.id": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "The ID of the sound card\n", "loc": ["hardware", "alsa", "cardAliases", "<name>", "id"], "readOnly": false, "type": "signed integer"}, "hardware.alsa.config": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The content of the system-wide ALSA configuration (/etc/asound.conf).\n\nDocumentation of the configuration language and examples can be found\nin the unofficial ALSA wiki: <https://alsa.opensrc.org/Asoundrc>\n", "example": {"_type": "literalExpression", "text": "# Send audio to a remote host via SSH\npcm.remote {\n  @args [ HOSTNAME ]\n  @args.HOSTNAME { type string }\n  type file\n  format raw\n  slave.pcm pcm.null\n  file {\n    @func concat\n    strings [\n      \"| ${lib.getExec pkgs.openssh} -C \"\n      $HOSTNAME\n      \" aplay -f %f -c %c -r %r -\"\n    ]\n  }\n}\n"}, "loc": ["hardware", "alsa", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "hardware.alsa.controls": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Virtual volume controls (softvols) to add to a sound card.\nThese can be used to control the volume of specific applications\nor a digital output device (HDMI video card).\n", "example": {"_type": "literalExpression", "text": "{\n  firefox = { device = \"front\"; maxVolume = -25.0; };\n  mpv     = { device = \"front\"; maxVolume = -25.0; };\n  # and run programs with `env ALSA_AUDIO_OUT=<name>`\n}\n"}, "loc": ["hardware", "alsa", "controls"], "readOnly": false, "type": "attribute set of (submodule)"}, "hardware.alsa.controls.<name>.card": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "Name of the PCM card to control (slave).\n", "loc": ["hardware", "alsa", "controls", "<name>", "card"], "readOnly": false, "type": "string"}, "hardware.alsa.controls.<name>.device": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "Name of the PCM device to control (slave).\n", "loc": ["hardware", "alsa", "controls", "<name>", "device"], "readOnly": false, "type": "string"}, "hardware.alsa.controls.<name>.maxVolume": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "0.0"}, "description": "The maximum volume in dB.\n", "loc": ["hardware", "alsa", "controls", "<name>", "maxVolume"], "readOnly": false, "type": "floating point number"}, "hardware.alsa.controls.<name>.name": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the control, as it appears in `alsamixer`.\nIf null it will be the same as the softvol device name.\n", "loc": ["hardware", "alsa", "controls", "<name>", "name"], "readOnly": false, "type": "null or string"}, "hardware.alsa.defaultDevice.capture": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The default capture device (i.e. microphone).\nLeave empty to let ALSA pick the default automatically.\n\n::: {.note}\nThe device can be changed at runtime by setting the ALSA_AUDIO_IN\nenvironment variables (but only before starting a program).\n:::\n", "example": {"_type": "literalExpression", "text": "\"dsnoop:CARD=0,DEV=2\""}, "loc": ["hardware", "alsa", "defaultDevice", "capture"], "readOnly": false, "type": "string"}, "hardware.alsa.defaultDevice.playback": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The default playback device.\nLeave empty to let ALSA pick the default automatically.\n\n::: {.note}\nThe device can be changed at runtime by setting the ALSA_AUDIO_OUT\nenvironment variables (but only before starting a program).\n:::\n", "example": {"_type": "literalExpression", "text": "\"dmix:CARD=1,DEV=0\""}, "loc": ["hardware", "alsa", "defaultDevice", "playback"], "readOnly": false, "type": "string"}, "hardware.alsa.deviceAliases": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Assign custom names to sound cards.\n", "example": {"_type": "literalExpression", "text": "{\n  hdmi1 = \"hw:CARD=videocard,DEV=5\";\n  hdmi2 = \"hw:CARD=videocard,DEV=6\";\n}\n"}, "loc": ["hardware", "alsa", "deviceAliases"], "readOnly": false, "type": "attribute set of string"}, "hardware.alsa.enable": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to set up the user space part of the Advanced Linux Sound Architecture (ALSA)\n\n::: {.warning}\nEnable this option only if you want to use ALSA as your main sound system,\nnot if you're using a sound server (e.g. PulseAudio or Pipewire).\n:::\n", "loc": ["hardware", "alsa", "enable"], "readOnly": false, "type": "boolean"}, "hardware.alsa.enableBluetooth": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bluetooth audio support via BlueALSA.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "alsa", "enableBluetooth"], "readOnly": false, "type": "boolean"}, "hardware.alsa.enableOSSEmulation": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the OSS emulation.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "alsa", "enableOSSEmulation"], "readOnly": false, "type": "boolean"}, "hardware.alsa.enablePersistence": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.alsa.enable"}, "description": "Whether to enable ALSA sound card state saving on shutdown.\nThis is generally not necessary if you're using an external sound server.\n", "loc": ["hardware", "alsa", "enablePersistence"], "readOnly": false, "type": "boolean"}, "hardware.alsa.enableRecorder": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to set up a loopback device that continuously records and\nallows to play back audio from the computer.\n\nThe loopback device is named `pcm.recorder`, audio can be saved\nby capturing from this device as with any microphone.\n\n::: {.note}\nBy default the output is duplicated to the recorder assuming stereo\naudio, for a more complex layout you have to override the pcm.splitter\ndevice using `hardware.alsa.config`.\nSee the generated /etc/asound.conf for its definition.\n:::\n", "loc": ["hardware", "alsa", "enableRecorder"], "readOnly": false, "type": "boolean"}, "hardware.alsa.plugins": {"declarations": ["nixos/modules/services/audio/alsa.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of ALSA plugins to be added to the search path.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.bluez-alsa ]"}, "loc": ["hardware", "alsa", "plugins"], "readOnly": false, "type": "list of package"}, "hardware.amdgpu.initrd.enable": {"declarations": ["nixos/modules/services/hardware/amdgpu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable loading `amdgpu` kernelModule in stage 1.\nCan fix lower resolution in boot screen during initramfs phase\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "amdgpu", "initrd", "enable"], "readOnly": false, "type": "boolean"}, "hardware.amdgpu.legacySupport.enable": {"declarations": ["nixos/modules/services/hardware/amdgpu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable using `amdgpu` kernel driver instead of `radeon` for Southern Islands\n(Radeon HD 7000) series and Sea Islands (Radeon HD 8000)\nseries cards. Note: this removes support for analog video outputs,\nwhich is only available in the `radeon` driver\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "amdgpu", "legacySupport", "enable"], "readOnly": false, "type": "boolean"}, "hardware.amdgpu.opencl.enable": {"declarations": ["nixos/modules/services/hardware/amdgpu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable OpenCL support using ROCM runtime library.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "amdgpu", "opencl", "enable"], "readOnly": false, "type": "boolean"}, "hardware.amdgpu.overdrive.enable": {"declarations": ["nixos/modules/services/hardware/amdgpu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable `amdgpu` overdrive mode for overclocking.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "amdgpu", "overdrive", "enable"], "readOnly": false, "type": "boolean"}, "hardware.amdgpu.overdrive.ppfeaturemask": {"declarations": ["nixos/modules/services/hardware/amdgpu.nix"], "default": {"_type": "literalExpression", "text": "\"0xfffd7fff\""}, "description": "Sets the `amdgpu.ppfeaturemask` kernel option. It can be used to enable the overdrive bit.\nDefault is `0xfffd7fff` as it is less likely to cause flicker issues. Setting it to\n`0xffffffff` enables all features, but also can be unstable. See\n[the kernel documentation](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n169)\nfor more information.\n", "example": {"_type": "literalExpression", "text": "\"0xffffffff\""}, "loc": ["hardware", "amdgpu", "overdrive", "ppfeaturemask"], "readOnly": false, "type": "string"}, "hardware.amdgpu.zluda.enable": {"declarations": ["nixos/modules/services/hardware/amdgpu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CUDA support using ZLUDA runtime library.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "amdgpu", "zluda", "enable"], "readOnly": false, "type": "boolean"}, "hardware.amdgpu.zluda.package": {"declarations": ["nixos/modules/services/hardware/amdgpu.nix"], "default": {"_type": "literalExpression", "text": "pkgs.zluda"}, "description": "The zluda package to use.", "loc": ["hardware", "amdgpu", "zluda", "package"], "readOnly": false, "type": "package"}, "hardware.apple.touchBar.enable": {"declarations": ["nixos/modules/hardware/apple-touchbar.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for the Touch Bar on some Apple laptops using tiny-dfr.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "apple", "touchBar", "enable"], "readOnly": false, "type": "boolean"}, "hardware.apple.touchBar.package": {"declarations": ["nixos/modules/hardware/apple-touchbar.nix"], "default": {"_type": "literalExpression", "text": "pkgs.tiny-dfr"}, "description": "The tiny-dfr package to use.", "loc": ["hardware", "apple", "touchBar", "package"], "readOnly": false, "type": "package"}, "hardware.apple.touchBar.settings": {"declarations": ["nixos/modules/hardware/apple-touchbar.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for tiny-dfr. See [example configuration][1] for available options.\n\n[1]: https://github.com/WhatAmISupposedToPutHere/tiny-dfr/blob/master/share/tiny-dfr/config.toml\n", "example": {"_type": "literalExpression", "text": "{\n  MediaLayerDefault = true;\n  ShowButtonOutlines = false;\n  EnablePixelShift = true;\n}\n"}, "loc": ["hardware", "apple", "touchBar", "settings"], "readOnly": false, "type": "TOML value"}, "hardware.bladeRF.enable": {"declarations": ["nixos/modules/hardware/bladeRF.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables udev rules for BladeRF devices. By default grants access\nto users in the \"bladerf\" group. You may want to install the\nlibbladeRF package.\n", "loc": ["hardware", "bladeRF", "enable"], "readOnly": false, "type": "boolean"}, "hardware.block.defaultScheduler": {"declarations": ["nixos/modules/hardware/iosched.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Default block I/O scheduler.\n\nUnless `null`, the value is assigned through a udev rule matching all\nblock devices.\n", "example": {"_type": "literalExpression", "text": "\"kyber\""}, "loc": ["hardware", "block", "defaultScheduler"], "readOnly": false, "type": "null or udev rule value"}, "hardware.block.defaultSchedulerExclude": {"declarations": ["nixos/modules/hardware/iosched.nix"], "default": {"_type": "literalExpression", "text": "\"loop[0-9]*\""}, "description": "Device name pattern to exclude from default scheduler assignment\nthrough {option}`config.hardware.block.defaultScheduler` and\n{option}`config.hardware.block.defaultSchedulerRotational`.\n\nBy default this excludes loop devices which generally do not benefit\nfrom extra I/O scheduling in addition to the scheduling already\nperformed for their backing devices.\n\nThis setting does not affect {option}`config.hardware.block.scheduler`.\n", "loc": ["hardware", "block", "defaultSchedulerExclude"], "readOnly": false, "type": "null or udev rule value"}, "hardware.block.defaultSchedulerRotational": {"declarations": ["nixos/modules/hardware/iosched.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Default block I/O scheduler for rotational drives (e.g. hard disks).\n\nUnless `null`, the value is assigned through a udev rule matching all\nrotational block devices.\n\nThis option takes precedence over\n{option}`config.hardware.block.defaultScheduler`.\n", "example": {"_type": "literalExpression", "text": "\"bfq\""}, "loc": ["hardware", "block", "defaultSchedulerRotational"], "readOnly": false, "type": "null or udev rule value"}, "hardware.block.scheduler": {"declarations": ["nixos/modules/hardware/iosched.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Assign block I/O scheduler by device name pattern.\n\nNames are matched using the {manpage}`udev(7)` pattern syntax:\n\n`*`\n:  Matches zero or more characters.\n\n`?`\n:  Matches any single character.\n\n`[]`\n:  Matches any single character specified in the brackets. Ranges are\n   supported via the `-` character.\n\n`|`\n:  Separates alternative patterns.\n\n\nPlease note that overlapping patterns may produce unexpected results.\nMore complex configurations requiring these should instead be specified\ndirectly through custom udev rules, for example via\n[{option}`config.services.udev.extraRules`](#opt-services.udev.extraRules),\nto ensure correct ordering.\n\nAvailable schedulers depend on the kernel configuration but modern\nLinux systems typically support:\n\n`none`\n:  No\u2010operation scheduler with no re\u2010ordering of requests. Suitable\n   for devices with fast random I/O such as NVMe SSDs.\n\n[`mq-deadline`](https://www.kernel.org/doc/html/latest/block/deadline-iosched.html)\n:  Simple latency\u2010oriented general\u2010purpose scheduler.\n\n[`kyber`](https://www.kernel.org/doc/html/latest/block/kyber-iosched.html)\n:  Simple latency\u2010oriented scheduler for fast multi\u2010queue devices\n   like NVMe SSDs.\n\n[`bfq`](https://www.kernel.org/doc/html/latest/block/bfq-iosched.html)\n:  Complex fairness\u2010oriented scheduler. Higher processing overhead,\n   but good interactive response, especially with slower devices.\n\n\nSchedulers assigned through this option take precedence over\n{option}`config.hardware.block.defaultScheduler` and\n{option}`config.hardware.block.defaultSchedulerRotational` but may be\noverridden by other udev rules.\n", "example": {"_type": "literalExpression", "text": "{\n  \"mmcblk[0-9]*\" = \"bfq\";\n  \"nvme[0-9]*\" = \"kyber\";\n}"}, "loc": ["hardware", "block", "scheduler"], "readOnly": false, "type": "attribute set of udev rule value"}, "hardware.bluetooth.disabledPlugins": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Built-in plugins to disable", "loc": ["hardware", "bluetooth", "disabledPlugins"], "readOnly": false, "type": "list of string"}, "hardware.bluetooth.enable": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for Bluetooth.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "bluetooth", "enable"], "readOnly": false, "type": "boolean"}, "hardware.bluetooth.hsphfpd.enable": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for hsphfpd[-prototype] implementation.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "bluetooth", "hsphfpd", "enable"], "readOnly": false, "type": "boolean"}, "hardware.bluetooth.input": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set configuration for the input service (/etc/bluetooth/input.conf).\nSee <https://github.com/bluez/bluez/blob/master/profiles/input/input.conf> for full list of options.\n", "example": {"_type": "literalExpression", "text": "{\n  General = {\n    ClassicBondedOnly = true;\n    IdleTimeout = 30;\n  };\n}"}, "loc": ["hardware", "bluetooth", "input"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "hardware.bluetooth.network": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set configuration for the network service (/etc/bluetooth/network.conf).\nSee <https://github.com/bluez/bluez/blob/master/profiles/network/network.conf> for full list of options.\n", "example": {"_type": "literalExpression", "text": "{\n  General = {\n    DisableSecurity = true;\n  };\n}"}, "loc": ["hardware", "bluetooth", "network"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "hardware.bluetooth.package": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bluez"}, "description": "The bluez package to use.", "loc": ["hardware", "bluetooth", "package"], "readOnly": false, "type": "package"}, "hardware.bluetooth.powerOnBoot": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to power up the default Bluetooth controller on boot.", "loc": ["hardware", "bluetooth", "powerOnBoot"], "readOnly": false, "type": "boolean"}, "hardware.bluetooth.settings": {"declarations": ["nixos/modules/services/hardware/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set configuration for system-wide bluetooth (/etc/bluetooth/main.conf).\nSee <https://github.com/bluez/bluez/blob/master/src/main.conf> for full list of options.\n", "example": {"_type": "literalExpression", "text": "{\n  General = {\n    ControllerMode = \"bredr\";\n  };\n}"}, "loc": ["hardware", "bluetooth", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "hardware.brillo.enable": {"declarations": ["nixos/modules/hardware/brillo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable brillo in userspace.\nThis will allow brightness control from users in the video group\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "brillo", "enable"], "readOnly": false, "type": "boolean"}, "hardware.bumblebee.connectDisplay": {"declarations": ["nixos/modules/hardware/video/bumblebee.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to true if you intend to connect your discrete card to a\nmonitor. This option will set up your Nvidia card for EDID\ndiscovery and to turn on the monitor signal.\n\nOnly nvidia driver is supported so far.\n", "loc": ["hardware", "bumblebee", "connectDisplay"], "readOnly": false, "type": "boolean"}, "hardware.bumblebee.driver": {"declarations": ["nixos/modules/hardware/video/bumblebee.nix"], "default": {"_type": "literalExpression", "text": "\"nvidia\""}, "description": "Set driver used by bumblebeed. Supported are nouveau and nvidia.\n", "loc": ["hardware", "bumblebee", "driver"], "readOnly": false, "type": "one of \"nvidia\", \"nouveau\""}, "hardware.bumblebee.enable": {"declarations": ["nixos/modules/hardware/video/bumblebee.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the bumblebee daemon to manage Optimus hybrid video cards.\nThis should power off secondary GPU until its use is requested\nby running an application with optirun.\n", "loc": ["hardware", "bumblebee", "enable"], "readOnly": false, "type": "boolean"}, "hardware.bumblebee.group": {"declarations": ["nixos/modules/hardware/video/bumblebee.nix"], "default": {"_type": "literalExpression", "text": "\"wheel\""}, "description": "Group for bumblebee socket", "example": {"_type": "literalExpression", "text": "\"video\""}, "loc": ["hardware", "bumblebee", "group"], "readOnly": false, "type": "string"}, "hardware.bumblebee.pmMethod": {"declarations": ["nixos/modules/hardware/video/bumblebee.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Set preferred power management method for unused card.\n", "loc": ["hardware", "bumblebee", "pmMethod"], "readOnly": false, "type": "one of \"auto\", \"bbswitch\", \"switcheroo\", \"none\""}, "hardware.ckb-next.enable": {"declarations": ["nixos/modules/hardware/ckb-next.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Corsair keyboard/mouse driver.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "ckb-next", "enable"], "readOnly": false, "type": "boolean"}, "hardware.ckb-next.gid": {"declarations": ["nixos/modules/hardware/ckb-next.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Limit access to the ckb daemon to a particular group.\n", "example": {"_type": "literalExpression", "text": "100"}, "loc": ["hardware", "ckb-next", "gid"], "readOnly": false, "type": "null or signed integer"}, "hardware.ckb-next.package": {"declarations": ["nixos/modules/hardware/ckb-next.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ckb-next"}, "description": "The ckb-next package to use.", "loc": ["hardware", "ckb-next", "package"], "readOnly": false, "type": "package"}, "hardware.coral.pcie.enable": {"declarations": ["nixos/modules/hardware/coral.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Coral PCIe support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "coral", "pcie", "enable"], "readOnly": false, "type": "boolean"}, "hardware.coral.usb.enable": {"declarations": ["nixos/modules/hardware/coral.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Coral USB support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "coral", "usb", "enable"], "readOnly": false, "type": "boolean"}, "hardware.cpu.amd.microcodePackage": {"declarations": ["nixos/modules/hardware/cpu/amd-microcode.nix"], "default": {"_type": "literalExpression", "text": "pkgs.microcode-amd"}, "description": "The microcode-amd package to use.", "loc": ["hardware", "cpu", "amd", "microcodePackage"], "readOnly": false, "type": "package"}, "hardware.cpu.amd.ryzen-smu.enable": {"declarations": ["nixos/modules/hardware/cpu/amd-ryzen-smu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ryzen_smu, a linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors.\n\nWARNING: Damage cause by use of your AMD processor outside of official AMD specifications or outside of factory settings are not covered under any AMD product warranty and may not be covered by your board or system manufacturer's warranty\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "cpu", "amd", "ryzen-smu", "enable"], "readOnly": false, "type": "boolean"}, "hardware.cpu.amd.sev.enable": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable access to the AMD SEV device.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "cpu", "amd", "sev", "enable"], "readOnly": false, "type": "boolean"}, "hardware.cpu.amd.sev.group": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "\"sev\""}, "description": "Group to assign to the SEV device.", "loc": ["hardware", "cpu", "amd", "sev", "group"], "readOnly": false, "type": "string"}, "hardware.cpu.amd.sev.mode": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "\"0660\""}, "description": "Mode to set for the SEV device.", "loc": ["hardware", "cpu", "amd", "sev", "mode"], "readOnly": false, "type": "string"}, "hardware.cpu.amd.sev.user": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Owner to assign to the SEV device.", "loc": ["hardware", "cpu", "amd", "sev", "user"], "readOnly": false, "type": "string"}, "hardware.cpu.amd.sevGuest.enable": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable access to the AMD SEV guest device.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "cpu", "amd", "sevGuest", "enable"], "readOnly": false, "type": "boolean"}, "hardware.cpu.amd.sevGuest.group": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "\"sev-guest\""}, "description": "Group to assign to the SEV guest device.", "loc": ["hardware", "cpu", "amd", "sevGuest", "group"], "readOnly": false, "type": "string"}, "hardware.cpu.amd.sevGuest.mode": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "\"0660\""}, "description": "Mode to set for the SEV guest device.", "loc": ["hardware", "cpu", "amd", "sevGuest", "mode"], "readOnly": false, "type": "string"}, "hardware.cpu.amd.sevGuest.user": {"declarations": ["nixos/modules/hardware/cpu/amd-sev.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Owner to assign to the SEV guest device.", "loc": ["hardware", "cpu", "amd", "sevGuest", "user"], "readOnly": false, "type": "string"}, "hardware.cpu.amd.updateMicrocode": {"declarations": ["nixos/modules/hardware/cpu/amd-microcode.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Update the CPU microcode for AMD processors.\n", "loc": ["hardware", "cpu", "amd", "updateMicrocode"], "readOnly": false, "type": "boolean"}, "hardware.cpu.intel.microcodePackage": {"declarations": ["nixos/modules/hardware/cpu/intel-microcode.nix"], "default": {"_type": "literalExpression", "text": "pkgs.microcode-intel"}, "description": "The microcode-intel package to use.", "loc": ["hardware", "cpu", "intel", "microcodePackage"], "readOnly": false, "type": "package"}, "hardware.cpu.intel.npu.enable": {"declarations": ["nixos/modules/hardware/cpu/intel-npu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Intel NPU support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "cpu", "intel", "npu", "enable"], "readOnly": false, "type": "boolean"}, "hardware.cpu.intel.sgx.enableDcapCompat": {"declarations": ["nixos/modules/hardware/cpu/intel-sgx.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable backward compatibility for SGX software build for the\nout-of-tree Intel SGX DCAP driver.\n\nCreates symbolic links for the SGX devices `/dev/sgx_enclave`\nand `/dev/sgx_provision` to make them available as\n`/dev/sgx/enclave`  and `/dev/sgx/provision`,\nrespectively.\n", "loc": ["hardware", "cpu", "intel", "sgx", "enableDcapCompat"], "readOnly": false, "type": "boolean"}, "hardware.cpu.intel.sgx.provision.enable": {"declarations": ["nixos/modules/hardware/cpu/intel-sgx.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable access to the Intel SGX provisioning device.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "cpu", "intel", "sgx", "provision", "enable"], "readOnly": false, "type": "boolean"}, "hardware.cpu.intel.sgx.provision.group": {"declarations": ["nixos/modules/hardware/cpu/intel-sgx.nix"], "default": {"_type": "literalExpression", "text": "\"sgx_prv\""}, "description": "Group to assign to the SGX provisioning device.", "loc": ["hardware", "cpu", "intel", "sgx", "provision", "group"], "readOnly": false, "type": "string"}, "hardware.cpu.intel.sgx.provision.mode": {"declarations": ["nixos/modules/hardware/cpu/intel-sgx.nix"], "default": {"_type": "literalExpression", "text": "\"0660\""}, "description": "Mode to set for the SGX provisioning device.", "loc": ["hardware", "cpu", "intel", "sgx", "provision", "mode"], "readOnly": false, "type": "string"}, "hardware.cpu.intel.sgx.provision.user": {"declarations": ["nixos/modules/hardware/cpu/intel-sgx.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Owner to assign to the SGX provisioning device.", "loc": ["hardware", "cpu", "intel", "sgx", "provision", "user"], "readOnly": false, "type": "string"}, "hardware.cpu.intel.updateMicrocode": {"declarations": ["nixos/modules/hardware/cpu/intel-microcode.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Update the CPU microcode for Intel processors.\n", "loc": ["hardware", "cpu", "intel", "updateMicrocode"], "readOnly": false, "type": "boolean"}, "hardware.cpu.x86.msr.enable": {"declarations": ["nixos/modules/hardware/cpu/x86-msr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the `msr` (Model-Specific Registers) kernel module and configure `udev` rules for its devices (usually `/dev/cpu/*/msr`).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "cpu", "x86", "msr", "enable"], "readOnly": false, "type": "boolean"}, "hardware.cpu.x86.msr.group": {"declarations": ["nixos/modules/hardware/cpu/x86-msr.nix"], "default": {"_type": "literalExpression", "text": "\"msr\""}, "description": "Group to set for devices of the `msr` kernel subsystem.", "example": {"_type": "literalExpression", "text": "\"users\""}, "loc": ["hardware", "cpu", "x86", "msr", "group"], "readOnly": false, "type": "string"}, "hardware.cpu.x86.msr.mode": {"declarations": ["nixos/modules/hardware/cpu/x86-msr.nix"], "default": {"_type": "literalExpression", "text": "\"0640\""}, "description": "Mode to set for devices of the `msr` kernel subsystem.", "example": {"_type": "literalExpression", "text": "\"0660\""}, "loc": ["hardware", "cpu", "x86", "msr", "mode"], "readOnly": false, "type": "string"}, "hardware.cpu.x86.msr.owner": {"declarations": ["nixos/modules/hardware/cpu/x86-msr.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Owner to set for devices of the `msr` kernel subsystem.", "example": {"_type": "literalExpression", "text": "\"alice\""}, "loc": ["hardware", "cpu", "x86", "msr", "owner"], "readOnly": false, "type": "string"}, "hardware.cpu.x86.msr.settings": {"declarations": ["nixos/modules/hardware/cpu/x86-msr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Parameters for the `msr` kernel module.", "loc": ["hardware", "cpu", "x86", "msr", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or signed integer or string)"}, "hardware.cpu.x86.msr.settings.allow-writes": {"declarations": ["nixos/modules/hardware/cpu/x86-msr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Whether to allow writes to MSRs (`\"on\"`) or not (`\"off\"`).", "loc": ["hardware", "cpu", "x86", "msr", "settings", "allow-writes"], "readOnly": false, "type": "null or one of \"on\", \"off\""}, "hardware.decklink.enable": {"declarations": ["nixos/modules/hardware/decklink.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hardware support for the Blackmagic Design Decklink audio/video interfaces.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "decklink", "enable"], "readOnly": false, "type": "boolean"}, "hardware.deviceTree.dtbSource": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "${cfg.kernelPackage}/dtbs"}, "description": "Path to dtb directory that overlays and other processing will be applied to. Uses\ndevice trees bundled with the Linux kernel by default.\n", "loc": ["hardware", "deviceTree", "dtbSource"], "readOnly": false, "type": "absolute path"}, "hardware.deviceTree.dtboBuildExtraIncludePaths": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional include paths that will be passed to the preprocessor when creating the final .dts to compile into .dtbo\n", "example": {"_type": "literalExpression", "text": "[\n  ./my_custom_include_dir_1\n  ./custom_include_dir_2\n]\n"}, "loc": ["hardware", "deviceTree", "dtboBuildExtraIncludePaths"], "readOnly": false, "type": "list of absolute path"}, "hardware.deviceTree.dtboBuildExtraPreprocessorFlags": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional flags to pass to the preprocessor during dtbo compilations\n", "example": {"_type": "literalExpression", "text": "[ \"-DMY_DTB_DEFINE\" ]"}, "loc": ["hardware", "deviceTree", "dtboBuildExtraPreprocessorFlags"], "readOnly": false, "type": "list of string"}, "hardware.deviceTree.enable": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Build device tree files. These are used to describe the\nnon-discoverable hardware of a system.\n", "loc": ["hardware", "deviceTree", "enable"], "readOnly": false, "type": "boolean"}, "hardware.deviceTree.filter": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Only include .dtb files matching glob expression.\n", "example": {"_type": "literalExpression", "text": "\"*rpi*.dtb\""}, "loc": ["hardware", "deviceTree", "filter"], "readOnly": false, "type": "null or string"}, "hardware.deviceTree.kernelPackage": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "config.boot.kernelPackages.kernel"}, "description": "Kernel package where device tree include directory is from. Also used as default source of dtb package to apply overlays to\n", "example": {"_type": "literalExpression", "text": "pkgs.linux_latest"}, "loc": ["hardware", "deviceTree", "kernelPackage"], "readOnly": false, "type": "absolute path"}, "hardware.deviceTree.name": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of an explicit dtb to be loaded, relative to the dtb base.\nUseful in extlinux scenarios if the bootloader doesn't pick the\nright .dtb file from FDTDIR.\n", "example": {"_type": "literalExpression", "text": "\"some-dtb.dtb\""}, "loc": ["hardware", "deviceTree", "name"], "readOnly": false, "type": "null or string"}, "hardware.deviceTree.overlays": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of overlays to apply to base device-tree (.dtb) files.\n", "example": {"_type": "literalExpression", "text": "[\n  { name = \"pps\"; dtsFile = ./dts/pps.dts; }\n  { name = \"spi\";\n    dtsText = \"...\";\n  }\n  { name = \"precompiled\"; dtboFile = ./dtbos/example.dtbo; }\n]\n"}, "loc": ["hardware", "deviceTree", "overlays"], "readOnly": false, "type": "list of ((submodule) or absolute path convertible to it)"}, "hardware.deviceTree.overlays.*.dtboFile": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to .dtbo compiled overlay file.\n", "loc": ["hardware", "deviceTree", "overlays", "*", "dtboFile"], "readOnly": false, "type": "null or absolute path"}, "hardware.deviceTree.overlays.*.dtsFile": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to .dts overlay file, overlay is applied to\neach .dtb file matching \"compatible\" of the overlay.\n", "example": {"_type": "literalExpression", "text": "./dts/overlays.dts"}, "loc": ["hardware", "deviceTree", "overlays", "*", "dtsFile"], "readOnly": false, "type": "null or absolute path"}, "hardware.deviceTree.overlays.*.dtsText": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Literal DTS contents, overlay is applied to\neach .dtb file matching \"compatible\" of the overlay.\n", "example": {"_type": "literalExpression", "text": "''\n  /dts-v1/;\n  /plugin/;\n  / {\n          compatible = \"raspberrypi\";\n  };\n  &{/soc} {\n          pps {\n                  compatible = \"pps-gpio\";\n                  status = \"okay\";\n          };\n  };\n''"}, "loc": ["hardware", "deviceTree", "overlays", "*", "dtsText"], "readOnly": false, "type": "null or string"}, "hardware.deviceTree.overlays.*.filter": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Only apply to .dtb files matching glob expression.\n", "example": {"_type": "literalExpression", "text": "\"*rpi*.dtb\""}, "loc": ["hardware", "deviceTree", "overlays", "*", "filter"], "readOnly": false, "type": "null or string"}, "hardware.deviceTree.overlays.*.name": {"declarations": ["nixos/modules/hardware/device-tree.nix"], "description": "Name of this overlay\n", "loc": ["hardware", "deviceTree", "overlays", "*", "name"], "readOnly": false, "type": "string"}, "hardware.digitalbitbox.enable": {"declarations": ["nixos/modules/hardware/digitalbitbox.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables udev rules for Digital Bitbox devices.\n", "loc": ["hardware", "digitalbitbox", "enable"], "readOnly": false, "type": "boolean"}, "hardware.digitalbitbox.package": {"declarations": ["nixos/modules/hardware/digitalbitbox.nix"], "default": {"_type": "literalExpression", "text": "pkgs.digitalbitbox"}, "description": "The digitalbitbox package to use. This can be used to install a package with udev rules that differ from the defaults.\n", "loc": ["hardware", "digitalbitbox", "package"], "readOnly": false, "type": "package"}, "hardware.display.edid.enable": {"declarations": ["nixos/modules/services/hardware/display.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.display.edid.packages != null"}, "description": "Enables handling of EDID files\n", "loc": ["hardware", "display", "edid", "enable"], "readOnly": false, "type": "boolean"}, "hardware.display.edid.linuxhw": {"declarations": ["nixos/modules/services/hardware/display.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Exposes EDID files from users-sourced database at <https://github.com/linuxhw/EDID>\n\nAttribute names will be mapped to EDID filenames `<NAME>.bin`.\n\nAttribute values are lists of `awk` regexp patterns that (together) must match\nexactly one line in either of:\n- [AnalogDisplay.md](https://raw.githubusercontent.com/linuxhw/EDID/master/AnalogDisplay.md)\n- [DigitalDisplay.md](https://raw.githubusercontent.com/linuxhw/EDID/master/DigitalDisplay.md)\n\nThere is no universal way of locating your device config, but here are some practical tips:\n1. locate your device:\n  - find your model number (second column)\n  - locate manufacturer (first column) and go through the list manually\n2. narrow down results using other columns until there is only one left:\n  - `Name` column\n  - production date (`Made` column)\n  - resolution `Res`\n  - screen diagonal (`Inch` column)\n  - as a last resort use `ID` from the last column\n", "example": {"_type": "literalExpression", "text": "{\n  PG278Q_2014 = [ \"PG278Q\" \"2014\" ];\n}\n"}, "loc": ["hardware", "display", "edid", "linuxhw"], "readOnly": false, "type": "attribute set of list of string"}, "hardware.display.edid.modelines": {"declarations": ["nixos/modules/services/hardware/display.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of XFree86 Modelines automatically converted\nand exposed as `edid/<name>.bin` files in initrd.\nSee for more information:\n- <https://en.wikipedia.org/wiki/XFree86_Modeline>\n", "example": {"_type": "literalExpression", "text": "{\n  \"PG278Q_60\" = \"    241.50   2560 2608 2640 2720   1440 1443 1448 1481   -hsync +vsync\";\n  \"PG278Q_120\" = \"   497.75   2560 2608 2640 2720   1440 1443 1448 1525   +hsync -vsync\";\n  \"U2711_60\" = \"     241.50   2560 2600 2632 2720   1440 1443 1448 1481   -hsync +vsync\";\n}\n"}, "loc": ["hardware", "display", "edid", "modelines"], "readOnly": false, "type": "attribute set of string"}, "hardware.display.edid.packages": {"declarations": ["nixos/modules/services/hardware/display.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages containing EDID binary files at `$out/lib/firmware/edid`.\nSuch files will be available for use in `drm.edid_firmware` kernel\nparameter as `edid/<filename>`.\n\nYou can craft one directly here or use sibling options `linuxhw` and `modelines`.\n", "example": {"_type": "literalExpression", "text": "[\n  (pkgs.runCommand \"edid-custom\" {} ''\n    mkdir -p \"$out/lib/firmware/edid\"\n    base64 -d > \"$out/lib/firmware/edid/custom1.bin\" <<'EOF'\n    <insert your base64 encoded EDID file here `base64 < /sys/class/drm/card0-.../edid`>\n    EOF\n  '')\n]\n"}, "loc": ["hardware", "display", "edid", "packages"], "readOnly": false, "type": "list of package"}, "hardware.display.outputs": {"declarations": ["nixos/modules/services/hardware/display.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Hardware/kernel-level configuration of specific outputs.\n", "example": {"_type": "literalExpression", "text": "{\n  edid.modelines.\"PG278Q_60\" = \"241.50   2560 2608 2640 2720   1440 1443 1448 1481   -hsync +vsync\";\n  outputs.\"DP-1\".edid = \"PG278Q_60.bin\";\n  outputs.\"DP-1\".mode = \"e\";\n}\n"}, "loc": ["hardware", "display", "outputs"], "readOnly": false, "type": "attribute set of (submodule)"}, "hardware.display.outputs.<name>.edid": {"declarations": ["nixos/modules/services/hardware/display.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An EDID filename to be used for configured display, as in `edid/<filename>`.\nSee for more information:\n- `hardware.display.edid.packages`\n- <https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID>\n", "loc": ["hardware", "display", "outputs", "<name>", "edid"], "readOnly": false, "type": "null or string"}, "hardware.display.outputs.<name>.mode": {"declarations": ["nixos/modules/services/hardware/display.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A `video` kernel parameter (framebuffer mode) configuration for the specific output:\n\n    <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]\n\nSee for more information:\n- <https://docs.kernel.org/fb/modedb.html>\n- <https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes>\n", "example": {"_type": "literalExpression", "text": "\"e\"\n"}, "loc": ["hardware", "display", "outputs", "<name>", "mode"], "readOnly": false, "type": "null or string"}, "hardware.enableAllFirmware": {"declarations": ["nixos/modules/hardware/all-firmware.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable all firmware, including [unfree packages that must be explictly allowed](https://nixos.org/manual/nixpkgs/unstable/#sec-allow-unfree).\n\nAlternatively, use the {option}`hardware.enableRedistributableFirmware` option.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "enableAllFirmware"], "readOnly": false, "type": "boolean"}, "hardware.enableAllHardware": {"declarations": ["nixos/modules/hardware/all-hardware.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Enable support for most hardware.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "enableAllHardware"], "readOnly": false, "type": "boolean"}, "hardware.enableRedistributableFirmware": {"declarations": ["nixos/modules/hardware/all-firmware.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.enableAllFirmware"}, "description": "Whether to enable firmware with a license allowing redistribution.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "enableRedistributableFirmware"], "readOnly": false, "type": "boolean"}, "hardware.facetimehd.enable": {"declarations": ["nixos/modules/hardware/video/webcam/facetimehd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the facetimehd kernel module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facetimehd", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facetimehd.withCalibration": {"declarations": ["nixos/modules/hardware/video/webcam/facetimehd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to include sensor calibration files for facetimehd.\nThis makes colors look much better but is experimental, see\n<https://github.com/patjak/facetimehd/wiki/Extracting-the-sensor-calibration-files>\nfor details.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facetimehd", "withCalibration"], "readOnly": false, "type": "boolean"}, "hardware.facter.debug.nix-diff": {"declarations": ["nixos/modules/hardware/facter/debug.nix"], "description": "A shell application which will produce a nix-diff of the system closure with and without facter enabled.\n", "loc": ["hardware", "facter", "debug", "nix-diff"], "readOnly": false, "type": "package"}, "hardware.facter.debug.nvd": {"declarations": ["nixos/modules/hardware/facter/debug.nix"], "description": "A shell application which will produce an nvd diff of the system closure with and without facter enabled.\n", "loc": ["hardware", "facter", "debug", "nvd"], "readOnly": false, "type": "package"}, "hardware.facter.detected.bluetooth.enable": {"declarations": ["nixos/modules/hardware/facter/bluetooth.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable Enable the Facter bluetooth module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "bluetooth", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.boot.disk.kernelModules": {"declarations": ["nixos/modules/hardware/facter/disk.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "List of kernel modules that are needed to access the disk.\n", "loc": ["hardware", "facter", "detected", "boot", "disk", "kernelModules"], "readOnly": false, "type": "list of string"}, "hardware.facter.detected.boot.graphics.kernelModules": {"declarations": ["nixos/modules/hardware/facter/graphics"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "List of kernel modules to load at boot for the graphics card.\n", "loc": ["hardware", "facter", "detected", "boot", "graphics", "kernelModules"], "readOnly": false, "type": "list of string"}, "hardware.facter.detected.boot.initrd.networking.kernelModules": {"declarations": ["nixos/modules/hardware/facter/networking/initrd.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "List of kernel modules to include in the initrd to support networking.\n", "loc": ["hardware", "facter", "detected", "boot", "initrd", "networking", "kernelModules"], "readOnly": false, "type": "list of string"}, "hardware.facter.detected.boot.keyboard.kernelModules": {"declarations": ["nixos/modules/hardware/facter/keyboard.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "List of kernel modules to include in the initrd to support the keyboard.\n", "example": {"_type": "literalExpression", "text": "[\n  \"usbhid\"\n]"}, "loc": ["hardware", "facter", "detected", "boot", "keyboard", "kernelModules"], "readOnly": false, "type": "list of string"}, "hardware.facter.detected.camera.ipu6.enable": {"declarations": ["nixos/modules/hardware/facter/camera/ipu6.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable webcams using ipu6 from Intel.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "camera", "ipu6", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.dhcp.enable": {"declarations": ["nixos/modules/hardware/facter/networking"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable Facter dhcp module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "dhcp", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.dhcp.interfaces": {"declarations": ["nixos/modules/hardware/facter/networking"], "default": {"_type": "literalExpression", "text": "automatically detected from facter report"}, "description": "List of network interface names to configure with DHCP. Defaults to auto-detected physical interfaces.", "example": {"_type": "literalExpression", "text": "[\n  \"eth0\"\n  \"wlan0\"\n]"}, "loc": ["hardware", "facter", "detected", "dhcp", "interfaces"], "readOnly": false, "type": "list of string"}, "hardware.facter.detected.fingerprint.enable": {"declarations": ["nixos/modules/hardware/facter/fingerprint"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable Fingerprint devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "fingerprint", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.graphics.amd.enable": {"declarations": ["nixos/modules/hardware/facter/graphics/amd.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable Enable the AMD Graphics module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "graphics", "amd", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.graphics.enable": {"declarations": ["nixos/modules/hardware/facter/graphics"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable Enable the Graphics module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "graphics", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.networking.intel._2200BG.enable": {"declarations": ["nixos/modules/hardware/facter/networking/intel.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable the Facter Intel 2200BG module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "networking", "intel", "_2200BG", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.networking.intel._3945ABG.enable": {"declarations": ["nixos/modules/hardware/facter/networking/intel.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable the Facter Intel 3945ABG module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "networking", "intel", "_3945ABG", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.uefi.supported": {"declarations": ["nixos/modules/hardware/facter/boot.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable the facter uefi module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "uefi", "supported"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.virtualisation.hyperv.enable": {"declarations": ["nixos/modules/hardware/facter/virtualisation.nix"], "default": {"_type": "literalExpression", "text": "\"environment dependent\""}, "description": "Whether to enable Enable the Facter Virtualisation Hyper-V module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "virtualisation", "hyperv", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.virtualisation.none.enable": {"declarations": ["nixos/modules/hardware/facter/virtualisation.nix"], "default": {"_type": "literalExpression", "text": "\"environment dependent\""}, "description": "Whether to enable Enable the Facter Virtualisation None module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "virtualisation", "none", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.virtualisation.oracle.enable": {"declarations": ["nixos/modules/hardware/facter/virtualisation.nix"], "default": {"_type": "literalExpression", "text": "\"environment dependent\""}, "description": "Whether to enable Enable the Facter Virtualisation Oracle module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "virtualisation", "oracle", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.virtualisation.parallels.enable": {"declarations": ["nixos/modules/hardware/facter/virtualisation.nix"], "default": {"_type": "literalExpression", "text": "\"environment dependent\""}, "description": "Whether to enable Enable the Facter Virtualisation Parallels module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "virtualisation", "parallels", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.virtualisation.qemu.enable": {"declarations": ["nixos/modules/hardware/facter/virtualisation.nix"], "default": {"_type": "literalExpression", "text": "\"environment dependent\""}, "description": "Whether to enable Enable the Facter Virtualisation Qemu module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "virtualisation", "qemu", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.detected.virtualisation.virtio_scsi.enable": {"declarations": ["nixos/modules/hardware/facter/virtualisation.nix"], "default": {"_type": "literalExpression", "text": "\"hardware dependent\""}, "description": "Whether to enable Enable the Facter Virtualisation Virtio SCSI module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "facter", "detected", "virtualisation", "virtio_scsi", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.enable": {"declarations": ["nixos/modules/hardware/facter"], "default": {"_type": "literalExpression", "text": "config.hardware.facter.report != { }\n"}, "description": "Whether to enable automatic hardware configuration using a report generated by nixos-facter.\n\nSee <https://nix-community.github.io/nixos-facter/> for more information.\n", "loc": ["hardware", "facter", "enable"], "readOnly": false, "type": "boolean"}, "hardware.facter.report": {"declarations": ["nixos/modules/hardware/facter"], "default": {"_type": "literalExpression", "text": "\"A JSON import from config.hardware.facter.reportPath (if not null), {} otherwise.\""}, "description": "Hardware report data generated by nixos-facter.\n\nSee <https://nix-community.github.io/nixos-facter/> for more information.\n", "loc": ["hardware", "facter", "report"], "readOnly": false, "type": "attribute set of anything"}, "hardware.facter.reportPath": {"declarations": ["nixos/modules/hardware/facter"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a hardware report generated by nixos-facter.\n\nTo generate a report, run the following as root:\n```\nnix-shell -p nixos-facter --run nixos-facter > facter.json\n```\n\nSee <https://nix-community.github.io/nixos-facter/> for more information.\n", "loc": ["hardware", "facter", "reportPath"], "readOnly": false, "type": "null or absolute path"}, "hardware.fancontrol.config": {"declarations": ["nixos/modules/services/hardware/fancontrol.nix"], "description": "Required fancontrol configuration file content. See {manpage}`pwmconfig(8)` from the lm_sensors package.", "example": {"_type": "literalExpression", "text": "''\n  # Configuration file generated by pwmconfig\n  INTERVAL=10\n  DEVPATH=hwmon3=devices/virtual/thermal/thermal_zone2 hwmon4=devices/platform/f71882fg.656\n  DEVNAME=hwmon3=soc_dts1 hwmon4=f71869a\n  FCTEMPS=hwmon4/device/pwm1=hwmon3/temp1_input\n  FCFANS=hwmon4/device/pwm1=hwmon4/device/fan1_input\n  MINTEMP=hwmon4/device/pwm1=35\n  MAXTEMP=hwmon4/device/pwm1=65\n  MINSTART=hwmon4/device/pwm1=150\n  MINSTOP=hwmon4/device/pwm1=0\n''"}, "loc": ["hardware", "fancontrol", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "hardware.fancontrol.enable": {"declarations": ["nixos/modules/services/hardware/fancontrol.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable software fan control (requires fancontrol.config).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "fancontrol", "enable"], "readOnly": false, "type": "boolean"}, "hardware.firmware": {"declarations": ["nixos/modules/services/hardware/udev.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages containing firmware files.  Such files\nwill be loaded automatically if the kernel asks for them\n(i.e., when it has detected specific hardware that requires\nfirmware to function).  If multiple packages contain firmware\nfiles with the same name, the first package in the list takes\nprecedence.  Note that you must rebuild your system if you add\nfiles to any of these directories.\n", "loc": ["hardware", "firmware"], "readOnly": false, "type": "list of package"}, "hardware.firmwareCompression": {"declarations": ["nixos/modules/services/hardware/udev.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Whether to compress firmware files.\nDefaults depend on the kernel version.\nFor kernels older than 5.3, firmware files are not compressed.\nFor kernels 5.3 and newer, firmware files are compressed with xz.\nFor kernels 5.19 and newer, firmware files are compressed with zstd.\n", "loc": ["hardware", "firmwareCompression"], "readOnly": false, "type": "one of \"xz\", \"zstd\", \"none\""}, "hardware.flipperzero.enable": {"declarations": ["nixos/modules/hardware/flipperzero.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules and software for Flipper Zero devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "flipperzero", "enable"], "readOnly": false, "type": "boolean"}, "hardware.flirc.enable": {"declarations": ["nixos/modules/hardware/flirc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable software to configure a Flirc USB device.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "flirc", "enable"], "readOnly": false, "type": "boolean"}, "hardware.fw-fanctrl.config": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional config entries for the fw-fanctrl service (documentation: <https://github.com/TamtamHero/fw-fanctrl/blob/main/doc/configuration.md>)\n", "loc": ["hardware", "fw-fanctrl", "config"], "readOnly": false, "type": "open submodule of attribute set of (JSON value)"}, "hardware.fw-fanctrl.config.defaultStrategy": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "\"lazy\""}, "description": "Default strategy to use", "loc": ["hardware", "fw-fanctrl", "config", "defaultStrategy"], "readOnly": false, "type": "string"}, "hardware.fw-fanctrl.config.strategies": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional strategies which can be used by fw-fanctrl\n", "loc": ["hardware", "fw-fanctrl", "config", "strategies"], "readOnly": false, "type": "attribute set of (submodule)"}, "hardware.fw-fanctrl.config.strategies.<name>.fanSpeedUpdateFrequency": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "How often the fan speed should be updated in seconds", "loc": ["hardware", "fw-fanctrl", "config", "strategies", "<name>", "fanSpeedUpdateFrequency"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "hardware.fw-fanctrl.config.strategies.<name>.movingAverageInterval": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "Interval (seconds) of the last temperatures to use to calculate the average temperature", "loc": ["hardware", "fw-fanctrl", "config", "strategies", "<name>", "movingAverageInterval"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "hardware.fw-fanctrl.config.strategies.<name>.speedCurve": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "How should the speed curve look like", "loc": ["hardware", "fw-fanctrl", "config", "strategies", "<name>", "speedCurve"], "readOnly": false, "type": "list of (submodule)"}, "hardware.fw-fanctrl.config.strategies.<name>.speedCurve.*.speed": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Percent how fast the fan should run at", "loc": ["hardware", "fw-fanctrl", "config", "strategies", "<name>", "speedCurve", "*", "speed"], "readOnly": false, "type": "integer between 0 and 100 (both inclusive)"}, "hardware.fw-fanctrl.config.strategies.<name>.speedCurve.*.temp": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Temperature in \u00b0C at which the fan speed should be changed", "loc": ["hardware", "fw-fanctrl", "config", "strategies", "<name>", "speedCurve", "*", "temp"], "readOnly": false, "type": "signed integer"}, "hardware.fw-fanctrl.config.strategyOnDischarging": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Default strategy on discharging", "loc": ["hardware", "fw-fanctrl", "config", "strategyOnDischarging"], "readOnly": false, "type": "string"}, "hardware.fw-fanctrl.disableBatteryTempCheck": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable checking battery temperature sensor\n", "loc": ["hardware", "fw-fanctrl", "disableBatteryTempCheck"], "readOnly": false, "type": "boolean"}, "hardware.fw-fanctrl.ectoolPackage": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fw-ectool"}, "description": "The fw-ectool package to use.", "loc": ["hardware", "fw-fanctrl", "ectoolPackage"], "readOnly": false, "type": "package"}, "hardware.fw-fanctrl.enable": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the fw-fanctrl systemd service and install the needed packages.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "fw-fanctrl", "enable"], "readOnly": false, "type": "boolean"}, "hardware.fw-fanctrl.package": {"declarations": ["nixos/modules/hardware/fw-fanctrl.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fw-fanctrl"}, "description": "The fw-fanctrl package to use.", "loc": ["hardware", "fw-fanctrl", "package"], "readOnly": false, "type": "package"}, "hardware.glasgow.enable": {"declarations": ["nixos/modules/hardware/glasgow.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables Glasgow udev rules and ensures 'plugdev' group exists.\nThis is a prerequisite to using Glasgow without being root.\n", "loc": ["hardware", "glasgow", "enable"], "readOnly": false, "type": "boolean"}, "hardware.gpgSmartcards.enable": {"declarations": ["nixos/modules/hardware/gpgsmartcards.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules for gnupg smart cards.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "gpgSmartcards", "enable"], "readOnly": false, "type": "boolean"}, "hardware.graphics.enable": {"declarations": ["nixos/modules/hardware/graphics.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hardware accelerated graphics drivers.\n\nThis is required to allow most graphical applications and\nenvironments to use hardware rendering, video encode/decode\nacceleration, etc.\n\nThis option should be enabled by default by the corresponding modules,\nso you do not usually have to set it yourself.\n", "loc": ["hardware", "graphics", "enable"], "readOnly": false, "type": "boolean"}, "hardware.graphics.enable32Bit": {"declarations": ["nixos/modules/hardware/graphics.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "On 64-bit systems, whether to also install 32-bit drivers for\n32-bit applications (such as Wine).\n", "loc": ["hardware", "graphics", "enable32Bit"], "readOnly": false, "type": "boolean"}, "hardware.graphics.extraPackages": {"declarations": ["nixos/modules/hardware/graphics.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to add to the default graphics driver lookup path.\nThis can be used to add OpenCL drivers, VA-API/VDPAU drivers, etc.\n\n::: {.note}\nintel-media-driver supports hardware Broadwell (2014) or newer. Older hardware should use the mostly unmaintained intel-vaapi-driver driver.\n:::\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ intel-media-driver intel-ocl intel-vaapi-driver ]"}, "loc": ["hardware", "graphics", "extraPackages"], "readOnly": false, "type": "list of package"}, "hardware.graphics.extraPackages32": {"declarations": ["nixos/modules/hardware/graphics.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to add to 32-bit graphics driver lookup path on 64-bit systems.\nUsed when {option}`enable32Bit` is set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers, etc.\n\n::: {.note}\nintel-media-driver supports hardware Broadwell (2014) or newer. Older hardware should use the mostly unmaintained intel-vaapi-driver driver.\n:::\n", "example": {"_type": "literalExpression", "text": "with pkgs.pkgsi686Linux; [ intel-media-driver intel-vaapi-driver ]"}, "loc": ["hardware", "graphics", "extraPackages32"], "readOnly": false, "type": "list of package"}, "hardware.graphics.package": {"declarations": ["nixos/modules/hardware/graphics.nix"], "description": "The package that provides the default driver set.\n", "loc": ["hardware", "graphics", "package"], "readOnly": false, "type": "package"}, "hardware.graphics.package32": {"declarations": ["nixos/modules/hardware/graphics.nix"], "description": "The package that provides the 32-bit driver set. Used when {option}`enable32Bit` is enabled.\n", "loc": ["hardware", "graphics", "package32"], "readOnly": false, "type": "package"}, "hardware.hackrf.enable": {"declarations": ["nixos/modules/hardware/hackrf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables hackrf udev rules and ensures 'plugdev' group exists.\nThis is a prerequisite to using HackRF devices without being root, since HackRF USB descriptors will be owned by plugdev through udev.\nEnsure your user is a member of the 'plugdev' group after enabling.\n", "loc": ["hardware", "hackrf", "enable"], "readOnly": false, "type": "boolean"}, "hardware.hid-fanatecff.enable": {"declarations": ["nixos/modules/hardware/hid-fanatecff.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hid-fanatecff, a Linux kernel driver that aims to add support for Fanatec devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "hid-fanatecff", "enable"], "readOnly": false, "type": "boolean"}, "hardware.i2c.enable": {"declarations": ["nixos/modules/hardware/i2c.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable i2c devices support. By default access is granted to users in the \"i2c\"\ngroup (will be created if non-existent) and any user with a seat, meaning\nlogged on the computer locally\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "i2c", "enable"], "readOnly": false, "type": "boolean"}, "hardware.i2c.group": {"declarations": ["nixos/modules/hardware/i2c.nix"], "default": {"_type": "literalExpression", "text": "\"i2c\""}, "description": "Grant access to i2c devices (/dev/i2c-*) to users in this group.\n", "loc": ["hardware", "i2c", "group"], "readOnly": false, "type": "string"}, "hardware.infiniband.enable": {"declarations": ["nixos/modules/hardware/infiniband.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Infiniband support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "infiniband", "enable"], "readOnly": false, "type": "boolean"}, "hardware.infiniband.guids": {"declarations": ["nixos/modules/hardware/infiniband.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of infiniband port guids on the system. This is discoverable using `ibstat -p`\n", "example": {"_type": "literalExpression", "text": "[\n  \"0xe8ebd30000eee2e1\"\n]"}, "loc": ["hardware", "infiniband", "guids"], "readOnly": false, "type": "list of string"}, "hardware.inputmodule.enable": {"declarations": ["nixos/modules/hardware/inputmodule.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Support for Framework input modules.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "inputmodule", "enable"], "readOnly": false, "type": "boolean"}, "hardware.intel-gpu-tools.enable": {"declarations": ["nixos/modules/hardware/video/intel-gpu-tools.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a setcap wrapper for intel-gpu-tools.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "intel-gpu-tools", "enable"], "readOnly": false, "type": "boolean"}, "hardware.ipu6.enable": {"declarations": ["nixos/modules/hardware/video/webcam/ipu6.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for Intel IPU6/MIPI cameras.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "ipu6", "enable"], "readOnly": false, "type": "boolean"}, "hardware.ipu6.platform": {"declarations": ["nixos/modules/hardware/video/webcam/ipu6.nix"], "description": "Choose the version for your hardware platform.\n\nUse `ipu6` for Tiger Lake, `ipu6ep` for Alder Lake or Raptor Lake,\nand `ipu6epmtl` for Meteor Lake.\n", "loc": ["hardware", "ipu6", "platform"], "readOnly": false, "type": "one of \"ipu6\", \"ipu6ep\", \"ipu6epmtl\""}, "hardware.ipu6.videoDeviceNumber": {"declarations": ["nixos/modules/hardware/video/webcam/ipu6.nix"], "default": {"_type": "literalExpression", "text": "50"}, "description": "v4l2loopback device number for the relay output (`/dev/videoN`).\n\nMust be fixed so application camera permission grants, which are keyed to\nthe PipeWire node name (derived from the sysfs device path), survive\nreboots. Choose a number above the IPU6 raw node range (typically 3-34)\nand any other v4l2loopback devices on the system.\n", "loc": ["hardware", "ipu6", "videoDeviceNumber"], "readOnly": false, "type": "signed integer"}, "hardware.keyboard.qmk.enable": {"declarations": ["nixos/modules/hardware/keyboard/qmk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable non-root access to the firmware of QMK keyboards.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "keyboard", "qmk", "enable"], "readOnly": false, "type": "boolean"}, "hardware.keyboard.qmk.keychronSupport": {"declarations": ["nixos/modules/hardware/keyboard/qmk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules for keychron QMK based keyboards.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "keyboard", "qmk", "keychronSupport"], "readOnly": false, "type": "boolean"}, "hardware.keyboard.teck.enable": {"declarations": ["nixos/modules/hardware/keyboard/teck.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable non-root access to the firmware of TECK keyboards.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "keyboard", "teck", "enable"], "readOnly": false, "type": "boolean"}, "hardware.keyboard.uhk.enable": {"declarations": ["nixos/modules/hardware/keyboard/uhk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable non-root access to the firmware of UHK keyboards.\nYou need it when you want to flash a new firmware on the keyboard.\nAccess to the keyboard is granted to users in the \"input\" group.\nYou may want to install the uhk-agent package\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "keyboard", "uhk", "enable"], "readOnly": false, "type": "boolean"}, "hardware.keyboard.zsa.enable": {"declarations": ["nixos/modules/hardware/keyboard/zsa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules for keyboards from ZSA like the ErgoDox EZ, Planck EZ and Moonlander Mark I.\nYou need it when you want to flash a new configuration on the keyboard\nor use their live training in the browser.\nYou may want to install the wally-cli package\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "keyboard", "zsa", "enable"], "readOnly": false, "type": "boolean"}, "hardware.kryoflux.enable": {"declarations": ["nixos/modules/hardware/kryoflux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables kryoflux udev rules, ensures 'floppy' group exists. This is a\nprerequisite to using devices supported by kryoflux without being root,\nsince kryoflux device descriptors will be owned by floppy through udev.\n", "loc": ["hardware", "kryoflux", "enable"], "readOnly": false, "type": "boolean"}, "hardware.kryoflux.package": {"declarations": ["nixos/modules/hardware/kryoflux.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kryoflux"}, "description": "The kryoflux package to use.", "loc": ["hardware", "kryoflux", "package"], "readOnly": false, "type": "package"}, "hardware.ksm.enable": {"declarations": ["nixos/modules/hardware/ksm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Linux kernel Same-Page Merging.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "ksm", "enable"], "readOnly": false, "type": "boolean"}, "hardware.ksm.sleep": {"declarations": ["nixos/modules/hardware/ksm.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "How many milliseconds ksmd should sleep between scans.\nSetting it to `null` uses the kernel's default time.\n", "loc": ["hardware", "ksm", "sleep"], "readOnly": false, "type": "null or signed integer"}, "hardware.ledger.enable": {"declarations": ["nixos/modules/hardware/ledger.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules for Ledger devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "ledger", "enable"], "readOnly": false, "type": "boolean"}, "hardware.libftdi.enable": {"declarations": ["nixos/modules/hardware/libftdi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules for devices supported by libftdi.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "libftdi", "enable"], "readOnly": false, "type": "boolean"}, "hardware.libftdi.package": {"declarations": ["nixos/modules/hardware/libftdi.nix"], "default": {"_type": "literalExpression", "text": "pkgs.libftdi1"}, "description": "The libftdi1 package to use.", "loc": ["hardware", "libftdi", "package"], "readOnly": false, "type": "package"}, "hardware.libjaylink.enable": {"declarations": ["nixos/modules/hardware/libjaylink.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules for devices supported by libjaylink.\nAdd users to the `jlink` group in order to grant\nthem access\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "libjaylink", "enable"], "readOnly": false, "type": "boolean"}, "hardware.libjaylink.package": {"declarations": ["nixos/modules/hardware/libjaylink.nix"], "default": {"_type": "literalExpression", "text": "pkgs.libjaylink"}, "description": "The libjaylink package to use.", "loc": ["hardware", "libjaylink", "package"], "readOnly": false, "type": "package"}, "hardware.logitech.lcd.devices": {"declarations": ["nixos/modules/hardware/logitech.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"0a07\"\n  \"c222\"\n  \"c225\"\n  \"c227\"\n  \"c251\"\n]"}, "description": "List of USB device ids supported by g15daemon.\n\nYou most likely do not need to change this.\n", "loc": ["hardware", "logitech", "lcd", "devices"], "readOnly": false, "type": "list of string"}, "hardware.logitech.lcd.enable": {"declarations": ["nixos/modules/hardware/logitech.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for Logitech LCD Devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "logitech", "lcd", "enable"], "readOnly": false, "type": "boolean"}, "hardware.logitech.lcd.startWhenNeeded": {"declarations": ["nixos/modules/hardware/logitech.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Only run the service when an actual supported device is plugged.\n", "loc": ["hardware", "logitech", "lcd", "startWhenNeeded"], "readOnly": false, "type": "boolean"}, "hardware.logitech.wireless.enable": {"declarations": ["nixos/modules/hardware/logitech.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for Logitech Wireless Devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "logitech", "wireless", "enable"], "readOnly": false, "type": "boolean"}, "hardware.logitech.wireless.enableGraphical": {"declarations": ["nixos/modules/hardware/logitech.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable graphical support applications.", "loc": ["hardware", "logitech", "wireless", "enableGraphical"], "readOnly": false, "type": "boolean"}, "hardware.mcelog.enable": {"declarations": ["nixos/modules/hardware/mcelog.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the Machine Check Exception logger.\n", "loc": ["hardware", "mcelog", "enable"], "readOnly": false, "type": "boolean"}, "hardware.mwProCapture.enable": {"declarations": ["nixos/modules/hardware/video/capture/mwprocapture.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Magewell Pro Capture family kernel module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "mwProCapture", "enable"], "readOnly": false, "type": "boolean"}, "hardware.new-lg4ff.enable": {"declarations": ["nixos/modules/hardware/new-lg4ff.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables improved Linux module drivers for Logitech driving wheels.\nThis will replace the existing in-kernel hid-logitech modules.\nWorks most notably on the Logitech G25, G27, G29 and Driving Force (GT).\n", "loc": ["hardware", "new-lg4ff", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nfc-nci.enable": {"declarations": ["nixos/modules/hardware/nfc-nci.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable PN5xx kernel module with udev rules, libnfc-nci userland, and optional ifdnfc-nci PC/SC driver.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nfc-nci", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nfc-nci.enableIFD": {"declarations": ["nixos/modules/hardware/nfc-nci.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Register ifdnfc-nci as a serial reader with pcscd.\n", "loc": ["hardware", "nfc-nci", "enableIFD"], "readOnly": false, "type": "boolean"}, "hardware.nfc-nci.settings": {"declarations": ["nixos/modules/hardware/nfc-nci.nix"], "default": {"_type": "literalExpression", "text": "{\n  init = {\n    NXPLOG_EXTNS_LOGLEVEL = \"0x01\";\n    NXPLOG_FWDNLD_LOGLEVEL = \"0x00\";\n    NXPLOG_GLOBAL_LOGLEVEL = \"0x01\";\n    NXPLOG_NCIHAL_LOGLEVEL = \"0x01\";\n    NXPLOG_NCIR_LOGLEVEL = \"0x01\";\n    NXPLOG_NCIX_LOGLEVEL = \"0x01\";\n    NXPLOG_TML_LOGLEVEL = \"0x01\";\n    NXP_ACT_PROP_EXTN = \"{2F, 02, 00}\";\n    NXP_CORE_STANDBY = \"{2F, 00, 01, 01}\";\n    NXP_I2C_FRAGMENTATION_ENABLED = \"0x01\";\n    NXP_NFC_DEV_NODE = \"\\\"/dev/pn544\\\"\";\n    NXP_NFC_PROFILE_EXTN = ''\n      {20, 02, 05, 01,\n        A0, 44, 01, 00\n      }\n    '';\n  };\n  nci = {\n    APPL_TRACE_LEVEL = \"0x01\";\n    HOST_LISTEN_TECH_MASK = \"0x07\";\n    P2P_LISTEN_TECH_MASK = \"0xC5\";\n    POLLING_TECH_MASK = \"0xEF\";\n    PROTOCOL_TRACE_LEVEL = \"0x01\";\n  };\n  pn54x = {\n    MIFARE_READER_ENABLE = \"0x01\";\n    NXP_CORE_CONF = ''\n      {20, 02, 2B, 0D,\n        28, 01, 00,\n        21, 01, 00,\n        30, 01, 08,\n        31, 01, 03,\n        33, 04, 04, 03, 02, 01,\n        54, 01, 06,\n        50, 01, 02,\n        5B, 01, 00,\n        60, 01, 0E,\n        80, 01, 01,\n        81, 01, 01,\n        82, 01, 0E,\n        18, 01, 01\n      }\n    '';\n    NXP_CORE_CONF_EXTN = ''\n      {20, 02, 30, 04,\n        A0, 5E, 01, 01,\n        A0, 40, 01, 00,\n        A0, 43, 01, 00,\n        A0, 0F, 20,\n        00, 03, 1D, 01, 03, 00, 02, 00,\n        01, 00, 01, 00, 00, 00, 00, 00,\n        00, 00, 00, 00, 00, 00, 00, 00,\n        00, 00, 00, 00, 00, 00, 00, 00\n      }\n    '';\n    NXP_EXT_TVDD_CFG = \"0x01\";\n    NXP_EXT_TVDD_CFG_1 = ''\n      {20, 02, 07, 01,\n        A0, 0E, 03, 16, 09, 00\n      }\n    '';\n    NXP_NFC_MAX_EE_SUPPORTED = \"0x00\";\n    NXP_NFC_PROPRIETARY_CFG = \"{05:FF:FF:06:81:80:70:FF:FF}\";\n    NXP_SYS_CLK_FREQ_SEL = \"0x00\";\n    NXP_SYS_CLK_SRC_SEL = \"0x01\";\n    NXP_SYS_CLOCK_TO_CFG = \"0x01\";\n  };\n}"}, "description": "Configuration to be written to the libncf-nci configuration files.\nTo understand the configuration format, refer to <https://github.com/NXPNFCLinux/linux_libnfc-nci/tree/master/conf>.\n", "loc": ["hardware", "nfc-nci", "settings"], "readOnly": false, "type": "attribute set"}, "hardware.nitrokey.enable": {"declarations": ["nixos/modules/hardware/nitrokey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables udev rules for Nitrokey devices.\n", "loc": ["hardware", "nitrokey", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia-container-toolkit.csv-files": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The path to the list of CSV files to use when generating the CDI specification in CSV mode.\n", "loc": ["hardware", "nvidia-container-toolkit", "csv-files"], "readOnly": false, "type": "list of absolute path"}, "hardware.nvidia-container-toolkit.device-name-strategy": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "\"index\""}, "description": "Specify the strategy for generating device names,\npassed to `nvidia-ctk cdi generate`. This will affect how\nyou reference the device using `nvidia.com/gpu=` in\nthe container runtime.\n", "loc": ["hardware", "nvidia-container-toolkit", "device-name-strategy"], "readOnly": false, "type": "one of \"index\", \"uuid\", \"type-index\""}, "hardware.nvidia-container-toolkit.disable-hooks": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "[\n  \"create-symlinks\"\n]"}, "description": "List of hooks to disable when generating the CDI specification.\nEach hook name will be passed as `--disable-hook <hook-name>` to nvidia-ctk.\nSet to an empty list to disable no hooks.\n", "loc": ["hardware", "nvidia-container-toolkit", "disable-hooks"], "readOnly": false, "type": "list of non-empty string"}, "hardware.nvidia-container-toolkit.discovery-mode": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "The mode to use when discovering the available entities.\n", "loc": ["hardware", "nvidia-container-toolkit", "discovery-mode"], "readOnly": false, "type": "one of \"auto\", \"csv\", \"nvml\", \"wsl\""}, "hardware.nvidia-container-toolkit.enable": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable dynamic CDI configuration for Nvidia devices by running\nnvidia-container-toolkit on boot.\n", "loc": ["hardware", "nvidia-container-toolkit", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia-container-toolkit.enable-hooks": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of hooks to enable when generating the CDI specification.\nEach hook name will be passed as `--enable-hook <hook-name>` to nvidia-ctk.\nSet to an empty list to enable no hooks.\n", "loc": ["hardware", "nvidia-container-toolkit", "enable-hooks"], "readOnly": false, "type": "list of non-empty string"}, "hardware.nvidia-container-toolkit.extraArgs": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to be passed to nvidia-ctk.\n", "loc": ["hardware", "nvidia-container-toolkit", "extraArgs"], "readOnly": false, "type": "list of string"}, "hardware.nvidia-container-toolkit.mount-nvidia-docker-1-directories": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Mount nvidia-docker-1 directories on containers: /usr/local/nvidia/lib and\n/usr/local/nvidia/lib64.\n", "loc": ["hardware", "nvidia-container-toolkit", "mount-nvidia-docker-1-directories"], "readOnly": false, "type": "boolean"}, "hardware.nvidia-container-toolkit.mount-nvidia-executables": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Mount executables nvidia-smi, nvidia-cuda-mps-control, nvidia-cuda-mps-server,\nnvidia-debugdump, nvidia-powerd and nvidia-ctk on containers.\n", "loc": ["hardware", "nvidia-container-toolkit", "mount-nvidia-executables"], "readOnly": false, "type": "boolean"}, "hardware.nvidia-container-toolkit.mounts": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Mounts to be added to every container under the Nvidia CDI profile.", "loc": ["hardware", "nvidia-container-toolkit", "mounts"], "readOnly": false, "type": "list of (submodule)"}, "hardware.nvidia-container-toolkit.mounts.*.containerPath": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "description": "Container path.", "loc": ["hardware", "nvidia-container-toolkit", "mounts", "*", "containerPath"], "readOnly": false, "type": "string"}, "hardware.nvidia-container-toolkit.mounts.*.hostPath": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "description": "Host path.", "loc": ["hardware", "nvidia-container-toolkit", "mounts", "*", "hostPath"], "readOnly": false, "type": "string"}, "hardware.nvidia-container-toolkit.mounts.*.mountOptions": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "[\n  \"ro\"\n  \"nosuid\"\n  \"nodev\"\n  \"bind\"\n]"}, "description": "Mount options.", "loc": ["hardware", "nvidia-container-toolkit", "mounts", "*", "mountOptions"], "readOnly": false, "type": "list of string"}, "hardware.nvidia-container-toolkit.package": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "pkgs.nvidia-container-toolkit"}, "description": "The nvidia-container-toolkit package to use.", "loc": ["hardware", "nvidia-container-toolkit", "package"], "readOnly": false, "type": "package"}, "hardware.nvidia-container-toolkit.suppressNvidiaDriverAssertion": {"declarations": ["nixos/modules/services/hardware/nvidia-container-toolkit"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Suppress the assertion for installing Nvidia driver.\nUseful in WSL where drivers are mounted from Windows, not provided by NixOS.\n", "loc": ["hardware", "nvidia-container-toolkit", "suppressNvidiaDriverAssertion"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.branch": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "if config.hardware.nvidia.datacenter.enable then \"dc\" else \"stable\"\n"}, "description": "The branch of the NVIDIA driver to use.\n\nNote: if {option}`hardware.nvidia.package` is set, it overrides this option.\n\nCommonly interesting branches for end users:\n\n- production, new_feature, beta:\n  NVIDIA's official production / new feature / beta release branches.\n\n- stable:\n  The default; the highest stable version.\n\n- latest:\n  Whichever is newer of `production` and `new_feature`.\n\n- bleeding_edge:\n  Whichever is newer of `latest` and `beta`.\n\n- legacy_580:\n  The long-lived 580 series (LTSB), for GPUs that newer driver branches\n  no longer support (often Maxwell through Volta; roughly GeForce GTX 9xx\n  through 10xx, plus rare Volta cards like TITAN V).\n\n- vulkan_beta:\n  The Vulkan developer beta driver, for users interested in testing new\n  Vulkan features.\n", "example": {"_type": "literalExpression", "text": "\"bleeding_edge\""}, "loc": ["hardware", "nvidia", "branch"], "readOnly": false, "type": "one of the available driver branches in `pkgs/os-specific/linux/nvidia-x11/default.nix`"}, "hardware.nvidia.datacenter.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Data Center drivers for NVIDIA cards on a NVLink topology\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "datacenter", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.datacenter.settings": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "{\n  LOG_LEVEL=4;\n  LOG_FILE_NAME=\"/var/log/fabricmanager.log\";\n  LOG_APPEND_TO_LOG=1;\n  LOG_FILE_MAX_SIZE=1024;\n  LOG_USE_SYSLOG=0;\n  DAEMONIZE=1;\n  BIND_INTERFACE_IP=\"127.0.0.1\";\n  STARTING_TCP_PORT=16000;\n  FABRIC_MODE=0;\n  FABRIC_MODE_RESTART=0;\n  STATE_FILE_NAME=\"/var/tmp/fabricmanager.state\";\n  FM_CMD_BIND_INTERFACE=\"127.0.0.1\";\n  FM_CMD_PORT_NUMBER=6666;\n  FM_STAY_RESIDENT_ON_FAILURES=0;\n  ACCESS_LINK_FAILURE_MODE=0;\n  TRUNK_LINK_FAILURE_MODE=0;\n  NVSWITCH_FAILURE_MODE=0;\n  ABORT_CUDA_JOBS_ON_FM_EXIT=1;\n}\n"}, "description": "Additional configuration options for fabricmanager.\n", "loc": ["hardware", "nvidia", "datacenter", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string))"}, "hardware.nvidia.dynamicBoost.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dynamic Boost balances power between the CPU and the GPU for improved\nperformance on supported laptops using the nvidia-powerd daemon. For more\ninformation, see the NVIDIA docs, on Chapter 23. Dynamic Boost on Linux\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "dynamicBoost", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.enabled": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalMD", "text": "`true` if NVIDIA support is enabled"}, "description": "True if NVIDIA support is enabled", "loc": ["hardware", "nvidia", "enabled"], "readOnly": true, "type": "boolean"}, "hardware.nvidia.forceFullCompositionPipeline": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable forcefully the full composition pipeline.\nThis sometimes fixes screen tearing issues.\nThis has been reported to reduce the performance of some OpenGL applications and may produce issues in WebGL.\nIt also drastically increases the time the driver needs to clock down after load\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "forceFullCompositionPipeline"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.gsp.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.nvidia.open == true || lib.versionAtLeast config.hardware.nvidia.package.version \"555\"\n"}, "description": "Whether to enable the GPU System Processor (GSP) on the video card\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "gsp", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.modesetting.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "lib.versionAtLeast cfg.package.version \"535\""}, "description": "Whether to enable kernel modesetting when using the NVIDIA proprietary driver.\n\nEnabling this fixes screen tearing when using Optimus via PRIME (see\n{option}`hardware.nvidia.prime.sync.enable`. This is not enabled\nby default because it is not officially supported by NVIDIA and would not\nwork with SLI.\n\nEnabling this and using version 545 or newer of the proprietary NVIDIA\ndriver causes it to provide its own framebuffer device, which can cause\nWayland compositors to work when they otherwise wouldn't.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "modesetting", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.moduleParams": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional parameters to pass to the NVIDIA kernel module.", "example": {"_type": "literalExpression", "text": "''\n  {\n    nvidia = {\n      NVreg_UsePageAttributeTable = 1;\n      NVreg_RegistryDwords = \"EnableBrightnessControl=1\"\n    };\n  }\n''"}, "loc": ["hardware", "nvidia", "moduleParams"], "readOnly": false, "type": "attribute set of attribute set of raw value"}, "hardware.nvidia.nvidiaPersistenced": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nvidia-persistenced a update for NVIDIA GPU headless mode, i.e.\nIt ensures all GPUs stay awake even during headless mode\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "nvidiaPersistenced"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.nvidiaSettings": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable nvidia-settings, NVIDIA's GUI configuration tool\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "nvidiaSettings"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.open": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "if lib.versionOlder config.hardware.nvidia.package.version \"560\" then false else null\n"}, "description": "Whether to enable the open source NVIDIA kernel module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "open"], "readOnly": false, "type": "null or boolean"}, "hardware.nvidia.package": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "config.boot.kernelPackages.nvidiaPackages.${config.hardware.nvidia.branch}"}, "description": "The NVIDIA driver package to use.\n\nPrefer using {option}`hardware.nvidia.branch` when possible.\n\nIf you set this option, it is recommended to pick a package from\n`config.boot.kernelPackages.nvidiaPackages` so the driver build matches\nyour configured kernel.\n\nFor custom versions, you can use `nvidiaPackages.mkDriver`; see\n`pkgs/os-specific/linux/nvidia-x11/default.nix` for examples.\n", "example": {"_type": "literalExpression", "text": "config.boot.kernelPackages.nvidiaPackages.legacy_470"}, "loc": ["hardware", "nvidia", "package"], "readOnly": false, "type": "package"}, "hardware.nvidia.powerManagement.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable experimental power management through systemd. For more information, see\nthe NVIDIA docs, on Chapter 21. Configuring Power Management Support\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "powerManagement", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.powerManagement.finegrained": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable experimental power management of PRIME offload. For more information, see\nthe NVIDIA docs, on Chapter 22. PCI-Express Runtime D3 (RTD3) Power Management\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "powerManagement", "finegrained"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.powerManagement.kernelSuspendNotifier": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.nvidia.open == true && lib.versionAtLeast config.hardware.nvidia.package.version \"595\"\n"}, "description": "Whether to enable NVIDIA driver support for kernel suspend notifiers, which allows the driver\nto be notified of suspend and resume events by the kernel, rather than\nrelying on systemd services.\nRequires NVIDIA driver version 595 or newer, and the open source kernel modules.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "powerManagement", "kernelSuspendNotifier"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.prime.allowExternalGpu": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable configuring X to allow external NVIDIA GPUs when using Prime [Reverse] sync optimus\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "prime", "allowExternalGpu"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.prime.amdgpuBusId": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Bus ID of the AMD APU. You can find it using lspci; for example if lspci\nshows the AMD APU at \"0001:02:03.4\", set this option to \"PCI:2@1:3:4\".\n\nlspci might omit the PCI domain (0001 in above example) if it is zero.\nIn which case, use \"@0\" instead.\n\nPlease be aware that this option takes decimal address while lspci reports\nhexadecimal address. So for device at domain \"10000\", use \"@65536\".\n", "example": {"_type": "literalExpression", "text": "\"PCI:4@0:0:0\""}, "loc": ["hardware", "nvidia", "prime", "amdgpuBusId"], "readOnly": false, "type": "string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?"}, "hardware.nvidia.prime.intelBusId": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Bus ID of the Intel GPU. You can find it using lspci; for example if lspci\nshows the Intel GPU at \"0001:02:03.4\", set this option to \"PCI:2@1:3:4\".\n\nlspci might omit the PCI domain (0001 in above example) if it is zero.\nIn which case, use \"@0\" instead.\n\nPlease be aware that this option takes decimal address while lspci reports\nhexadecimal address. So for device at domain \"10000\", use \"@65536\".\n", "example": {"_type": "literalExpression", "text": "\"PCI:0@0:2:0\""}, "loc": ["hardware", "nvidia", "prime", "intelBusId"], "readOnly": false, "type": "string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?"}, "hardware.nvidia.prime.nvidiaBusId": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci\nshows the NVIDIA GPU at \"0001:02:03.4\", set this option to \"PCI:2@1:3:4\".\n\nlspci might omit the PCI domain (0001 in above example) if it is zero.\nIn which case, use \"@0\" instead.\n\nPlease be aware that this option takes decimal address while lspci reports\nhexadecimal address. So for device at domain \"10000\", use \"@65536\".\n", "example": {"_type": "literalExpression", "text": "\"PCI:1@0:0:0\""}, "loc": ["hardware", "nvidia", "prime", "nvidiaBusId"], "readOnly": false, "type": "string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?"}, "hardware.nvidia.prime.offload.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable render offload support using the NVIDIA proprietary driver via PRIME.\n\nIf this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to\nbe specified ({option}`hardware.nvidia.prime.nvidiaBusId` and\n{option}`hardware.nvidia.prime.intelBusId` or\n{option}`hardware.nvidia.prime.amdgpuBusId`)\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "prime", "offload", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.prime.offload.enableOffloadCmd": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable adding a `nvidia-offload` convenience script to {option}`environment.systemPackages`\nfor offloading programs to an nvidia device. To work, you must also enable\n{option}`hardware.nvidia.prime.offload.enable` or {option}`hardware.nvidia.prime.reverseSync.enable`.\n\nExample usage: `nvidia-offload sauerbraten_client`\n\nThis script can be renamed with {option}`hardware.nvidia.prime.offload.enableOffloadCmd`.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "prime", "offload", "enableOffloadCmd"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.prime.offload.offloadCmdMainProgram": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "\"nvidia-offload\""}, "description": "Specifies the CLI name of the {option}`hardware.nvidia.prime.offload.enableOffloadCmd`\nconvenience script for offloading programs to an nvidia device.\n", "example": {"_type": "literalExpression", "text": "\"prime-run\""}, "loc": ["hardware", "nvidia", "prime", "offload", "offloadCmdMainProgram"], "readOnly": false, "type": "string"}, "hardware.nvidia.prime.reverseSync.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable NVIDIA Optimus support using the NVIDIA proprietary driver via reverse\nPRIME. If enabled, the Intel/AMD GPU will be used for all rendering, while\nenabling output to displays attached only to the NVIDIA GPU without a\nmultiplexer.\n\nWarning: This feature is relatively new, depending on your system this might\nwork poorly. AMD support, especially so.\nSee: <https://forums.developer.nvidia.com/t/the-all-new-outputsink-feature-aka-reverse-prime/129828>\n\nNote that this option only has any effect if the \"nvidia\" driver is specified\nin {option}`services.xserver.videoDrivers`, and it should preferably\nbe the only driver there.\n\nIf this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to\nbe specified ({option}`hardware.nvidia.prime.nvidiaBusId` and\n{option}`hardware.nvidia.prime.intelBusId` or\n{option}`hardware.nvidia.prime.amdgpuBusId`).\n\nIf you enable this, you may want to also enable kernel modesetting for the\nNVIDIA driver ({option}`hardware.nvidia.modesetting.enable`) in order\nto prevent tearing.\n\nNote that this configuration will only be successful when a display manager\nfor which the {option}`services.xserver.displayManager.setupCommands`\noption is supported is used\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "prime", "reverseSync", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.prime.reverseSync.setupCommands.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable configure the display manager to be able to use the outputs\nattached to the NVIDIA GPU.\nDisable in order to configure the NVIDIA GPU outputs manually using xrandr.\nNote that this configuration will only be successful when a display manager\nfor which the {option}`services.xserver.displayManager.setupCommands`\noption is supported is used\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "prime", "reverseSync", "setupCommands", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.prime.sync.enable": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME.\nIf enabled, the NVIDIA GPU will be always on and used for all rendering,\nwhile enabling output to displays attached only to the integrated Intel/AMD\nGPU without a multiplexer.\n\nNote that this option only has any effect if the \"nvidia\" driver is specified\nin {option}`services.xserver.videoDrivers`, and it should preferably\nbe the only driver there.\n\nIf this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to\nbe specified ({option}`hardware.nvidia.prime.nvidiaBusId` and\n{option}`hardware.nvidia.prime.intelBusId` or\n{option}`hardware.nvidia.prime.amdgpuBusId`).\n\nIf you enable this, you may want to also enable kernel modesetting for the\nNVIDIA driver ({option}`hardware.nvidia.modesetting.enable`) in order\nto prevent tearing.\n\nNote that this configuration will only be successful when a display manager\nfor which the {option}`services.xserver.displayManager.setupCommands`\noption is supported is used\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "prime", "sync", "enable"], "readOnly": false, "type": "boolean"}, "hardware.nvidia.videoAcceleration": {"declarations": ["nixos/modules/hardware/video/nvidia.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable video acceleration (VA-API).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "nvidia", "videoAcceleration"], "readOnly": false, "type": "boolean"}, "hardware.nvidiaOptimus.disable": {"declarations": ["nixos/modules/services/hardware/nvidia-optimus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Completely disable the NVIDIA graphics card and use the\nintegrated graphics processor instead.\n", "loc": ["hardware", "nvidiaOptimus", "disable"], "readOnly": false, "type": "boolean"}, "hardware.onlykey.enable": {"declarations": ["nixos/modules/hardware/onlykey/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable OnlyKey device (https://crp.to/p/) support.\n", "loc": ["hardware", "onlykey", "enable"], "readOnly": false, "type": "boolean"}, "hardware.openrazer.batteryNotifier": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for device battery notifications.\n", "loc": ["hardware", "openrazer", "batteryNotifier"], "readOnly": false, "type": "submodule"}, "hardware.openrazer.batteryNotifier.enable": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Mouse battery notifier.\n", "loc": ["hardware", "openrazer", "batteryNotifier", "enable"], "readOnly": false, "type": "boolean"}, "hardware.openrazer.batteryNotifier.frequency": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "600"}, "description": "How often battery notifications should be shown (in seconds).\nA value of 0 disables notifications.\n", "loc": ["hardware", "openrazer", "batteryNotifier", "frequency"], "readOnly": false, "type": "signed integer"}, "hardware.openrazer.batteryNotifier.percentage": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "33"}, "description": "At what battery percentage the device should reach before\nsending notifications.\n", "loc": ["hardware", "openrazer", "batteryNotifier", "percentage"], "readOnly": false, "type": "signed integer"}, "hardware.openrazer.devicesOffOnScreensaver": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Turn off the devices when the systems screensaver kicks in.\n", "loc": ["hardware", "openrazer", "devicesOffOnScreensaver"], "readOnly": false, "type": "boolean"}, "hardware.openrazer.enable": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable OpenRazer drivers and userspace daemon\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "openrazer", "enable"], "readOnly": false, "type": "boolean"}, "hardware.openrazer.keyStatistics": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Collects number of keypresses per hour per key used to\ngenerate a heatmap.\n", "loc": ["hardware", "openrazer", "keyStatistics"], "readOnly": false, "type": "boolean"}, "hardware.openrazer.packages.daemon": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3Packages.openrazer-daemon"}, "description": "The openrazer-daemon package to use.", "loc": ["hardware", "openrazer", "packages", "daemon"], "readOnly": false, "type": "package"}, "hardware.openrazer.packages.kernel": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "config.boot.kernelPackages.openrazer"}, "description": "The openrazer kernel package to use.", "loc": ["hardware", "openrazer", "packages", "kernel"], "readOnly": false, "type": "package"}, "hardware.openrazer.syncEffectsEnabled": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Set the sync effects flag to true so any assignment of\neffects will work across devices.\n", "loc": ["hardware", "openrazer", "syncEffectsEnabled"], "readOnly": false, "type": "boolean"}, "hardware.openrazer.users": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Usernames to be added to the \"openrazer\" group, so that they\ncan start and interact with the OpenRazer userspace daemon.\n", "loc": ["hardware", "openrazer", "users"], "readOnly": false, "type": "list of string"}, "hardware.openrazer.verboseLogging": {"declarations": ["nixos/modules/hardware/openrazer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable verbose logging. Logs debug messages.\n", "loc": ["hardware", "openrazer", "verboseLogging"], "readOnly": false, "type": "boolean"}, "hardware.opentabletdriver.blacklistedKernelModules": {"declarations": ["nixos/modules/hardware/opentabletdriver.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"hid-uclogic\"\n  \"wacom\"\n]"}, "description": "Blacklist of kernel modules known to conflict with OpenTabletDriver.\n", "loc": ["hardware", "opentabletdriver", "blacklistedKernelModules"], "readOnly": false, "type": "list of string"}, "hardware.opentabletdriver.daemon.enable": {"declarations": ["nixos/modules/hardware/opentabletdriver.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to start OpenTabletDriver daemon as a systemd user service.\n", "loc": ["hardware", "opentabletdriver", "daemon", "enable"], "readOnly": false, "type": "boolean"}, "hardware.opentabletdriver.enable": {"declarations": ["nixos/modules/hardware/opentabletdriver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable OpenTabletDriver udev rules, user service and blacklist kernel\nmodules known to conflict with OpenTabletDriver.\n", "loc": ["hardware", "opentabletdriver", "enable"], "readOnly": false, "type": "boolean"}, "hardware.opentabletdriver.package": {"declarations": ["nixos/modules/hardware/opentabletdriver.nix"], "default": {"_type": "literalExpression", "text": "pkgs.opentabletdriver"}, "description": "The opentabletdriver package to use.", "loc": ["hardware", "opentabletdriver", "package"], "readOnly": false, "type": "package"}, "hardware.parallels.enable": {"declarations": ["nixos/modules/virtualisation/parallels-guest.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "This enables Parallels Tools for Linux guests.\n", "loc": ["hardware", "parallels", "enable"], "readOnly": false, "type": "boolean"}, "hardware.parallels.package": {"declarations": ["nixos/modules/virtualisation/parallels-guest.nix"], "default": {"_type": "literalExpression", "text": "pkgs.prl-tools"}, "description": "The prl-tools package to use.", "loc": ["hardware", "parallels", "package"], "readOnly": false, "type": "package"}, "hardware.pcmcia.config": {"declarations": ["nixos/modules/hardware/pcmcia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the configuration file which maps the memory, IRQs\nand ports used by the PCMCIA hardware.\n", "loc": ["hardware", "pcmcia", "config"], "readOnly": false, "type": "null or absolute path"}, "hardware.pcmcia.enable": {"declarations": ["nixos/modules/hardware/pcmcia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable this option to support PCMCIA card.\n", "loc": ["hardware", "pcmcia", "enable"], "readOnly": false, "type": "boolean"}, "hardware.pcmcia.firmware": {"declarations": ["nixos/modules/hardware/pcmcia.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of firmware used to handle specific PCMCIA card.\n", "loc": ["hardware", "pcmcia", "firmware"], "readOnly": false, "type": "list of absolute path"}, "hardware.printers.ensureDefaultPrinter": {"declarations": ["nixos/modules/hardware/printers.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Ensures the named printer is the default CUPS printer / printer queue.\n", "loc": ["hardware", "printers", "ensureDefaultPrinter"], "readOnly": false, "type": "null or printable string without spaces, # and /"}, "hardware.printers.ensurePrinters": {"declarations": ["nixos/modules/hardware/printers.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Will regularly ensure that the given CUPS printers are configured as declared here.\nIf a printer's options are manually changed afterwards, they will be overwritten eventually.\nThis option will never delete any printer, even if removed from this list.\nYou can check existing printers with {command}`lpstat -s`\nand remove printers with {command}`lpadmin -x <printer-name>`.\nPrinters not listed here can still be manually configured.\n", "loc": ["hardware", "printers", "ensurePrinters"], "readOnly": false, "type": "list of (submodule)"}, "hardware.printers.ensurePrinters.*.description": {"declarations": ["nixos/modules/hardware/printers.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional human-readable description.\n", "example": {"_type": "literalExpression", "text": "\"Brother HL-5140\""}, "loc": ["hardware", "printers", "ensurePrinters", "*", "description"], "readOnly": false, "type": "null or string"}, "hardware.printers.ensurePrinters.*.deviceUri": {"declarations": ["nixos/modules/hardware/printers.nix"], "description": "How to reach the printer.\n{command}`lpinfo -v` shows a list of supported device URIs and schemes.\n", "example": {"_type": "literalExpression", "text": "\"ipp://printserver.local/printers/BrotherHL_Workroom\"\n\"usb://HP/DESKJET%20940C?serial=CN16E6C364BH\"\n"}, "loc": ["hardware", "printers", "ensurePrinters", "*", "deviceUri"], "readOnly": false, "type": "string"}, "hardware.printers.ensurePrinters.*.location": {"declarations": ["nixos/modules/hardware/printers.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional human-readable location.\n", "example": {"_type": "literalExpression", "text": "\"Workroom\""}, "loc": ["hardware", "printers", "ensurePrinters", "*", "location"], "readOnly": false, "type": "null or string"}, "hardware.printers.ensurePrinters.*.model": {"declarations": ["nixos/modules/hardware/printers.nix"], "description": "Location of the ppd driver file for the printer.\n{command}`lpinfo -m` shows a list of supported models.\n", "example": {"_type": "literalExpression", "text": "\"gutenprint.${lib.versions.majorMinor (lib.getVersion pkgs.gutenprint)}://brother-hl-5140/expert\"\n"}, "loc": ["hardware", "printers", "ensurePrinters", "*", "model"], "readOnly": false, "type": "string"}, "hardware.printers.ensurePrinters.*.name": {"declarations": ["nixos/modules/hardware/printers.nix"], "description": "Name of the printer / printer queue.\nMay contain any printable characters except \"/\", \"#\", and space.\n", "example": {"_type": "literalExpression", "text": "\"BrotherHL_Workroom\""}, "loc": ["hardware", "printers", "ensurePrinters", "*", "name"], "readOnly": false, "type": "printable string without spaces, # and /"}, "hardware.printers.ensurePrinters.*.ppdOptions": {"declarations": ["nixos/modules/hardware/printers.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Sets PPD options for the printer.\n{command}`lpoptions [-p printername] -l` shows supported PPD options for the given printer.\n", "example": {"_type": "literalExpression", "text": "{\n  Duplex = \"DuplexNoTumble\";\n  PageSize = \"A4\";\n}"}, "loc": ["hardware", "printers", "ensurePrinters", "*", "ppdOptions"], "readOnly": false, "type": "attribute set of string"}, "hardware.raid.HPSmartArray.enable": {"declarations": ["nixos/modules/hardware/raid/hpsa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HP Smart Array kernel modules and CLI utility.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "raid", "HPSmartArray", "enable"], "readOnly": false, "type": "boolean"}, "hardware.rasdaemon.config": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "rasdaemon configuration, currently only used for CE PFA\nfor details, read rasdaemon.outPath/etc/sysconfig/rasdaemon's comments\n", "example": {"_type": "literalExpression", "text": "''\n  # defaults from included config\n  PAGE_CE_REFRESH_CYCLE=\"24h\"\n  PAGE_CE_THRESHOLD=\"50\"\n  PAGE_CE_ACTION=\"soft\"\n''"}, "loc": ["hardware", "rasdaemon", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "hardware.rasdaemon.enable": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable RAS logging daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "rasdaemon", "enable"], "readOnly": false, "type": "boolean"}, "hardware.rasdaemon.extraModules": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "extra kernel modules to load", "example": {"_type": "literalExpression", "text": "[\n  \"i7core_edac\"\n]"}, "loc": ["hardware", "rasdaemon", "extraModules"], "readOnly": false, "type": "list of string"}, "hardware.rasdaemon.labels": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional memory module label descriptions to be placed in /etc/ras/dimm_labels.d/labels", "example": {"_type": "literalExpression", "text": "''\n  # vendor and model may be shown by 'ras-mc-ctl --mainboard'\n  vendor: ASRock\n    product: To Be Filled By O.E.M.\n    model: B450M Pro4\n      # these labels are names for the motherboard slots\n      # the numbers may be shown by `ras-mc-ctl --error-count`\n      # they are mc:csrow:channel\n      DDR4_A1: 0.2.0;  DDR4_B1: 0.2.1;\n      DDR4_A2: 0.3.0;  DDR4_B2: 0.3.1;\n''"}, "loc": ["hardware", "rasdaemon", "labels"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "hardware.rasdaemon.mainboard": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Custom mainboard description, see {manpage}`ras-mc-ctl(8)` for more details.", "example": {"_type": "literalExpression", "text": "''\n  vendor = ASRock\n  model = B450M Pro4\n  \n  # it should default to such values from\n  # /sys/class/dmi/id/board_[vendor|name]\n  # alternatively one can supply a script\n  # that returns the same format as above\n  \n  script = <path to script>\n''"}, "loc": ["hardware", "rasdaemon", "mainboard"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "hardware.rasdaemon.package": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.rasdaemon"}, "description": "The rasdaemon package to use.", "loc": ["hardware", "rasdaemon", "package"], "readOnly": false, "type": "package"}, "hardware.rasdaemon.record": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "record events via sqlite3, required for ras-mc-ctl", "loc": ["hardware", "rasdaemon", "record"], "readOnly": false, "type": "boolean"}, "hardware.rasdaemon.testing": {"declarations": ["nixos/modules/services/hardware/rasdaemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable error injection infrastructure.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "rasdaemon", "testing"], "readOnly": false, "type": "boolean"}, "hardware.rtl-sdr.enable": {"declarations": ["nixos/modules/hardware/rtl-sdr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables rtl-sdr udev rules, ensures 'plugdev' group exists, and blacklists DVB kernel modules.\nThis is a prerequisite to using devices supported by rtl-sdr without being root, since rtl-sdr USB descriptors will be owned by plugdev through udev.\n", "loc": ["hardware", "rtl-sdr", "enable"], "readOnly": false, "type": "boolean"}, "hardware.rtl-sdr.package": {"declarations": ["nixos/modules/hardware/rtl-sdr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.rtl-sdr"}, "description": "The rtl-sdr package to use.", "loc": ["hardware", "rtl-sdr", "package"], "readOnly": false, "type": "package"}, "hardware.saleae-logic.enable": {"declarations": ["nixos/modules/hardware/saleae-logic.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules for Saleae Logic devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "saleae-logic", "enable"], "readOnly": false, "type": "boolean"}, "hardware.saleae-logic.package": {"declarations": ["nixos/modules/hardware/saleae-logic.nix"], "default": {"_type": "literalExpression", "text": "pkgs.saleae-logic-2"}, "description": "Saleae Logic package to use.\n", "loc": ["hardware", "saleae-logic", "package"], "readOnly": false, "type": "package"}, "hardware.sane.backends-package": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "pkgs.sane-backends"}, "description": "The sane-backends package to use.", "loc": ["hardware", "sane", "backends-package"], "readOnly": false, "type": "package"}, "hardware.sane.brscan4.enable": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan4.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When enabled, will automatically register the \"brscan4\" sane\nbackend and bring configuration files to their expected location.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sane", "brscan4", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sane.brscan4.netDevices": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan4.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The list of network devices that will be registered against the brscan4\nsane backend.\n", "example": {"_type": "literalExpression", "text": "{\n  office1 = {\n    ip = \"192.168.1.2\";\n    model = \"MFC-7860DW\";\n  };\n  office2 = {\n    model = \"MFC-7860DW\";\n    nodename = \"BRW0080927AFBCE\";\n  };\n}"}, "loc": ["hardware", "sane", "brscan4", "netDevices"], "readOnly": false, "type": "attribute set of (submodule)"}, "hardware.sane.brscan4.netDevices.<name>.ip": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan4.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The ip address of the device. If undefined, you will have to\nprovide a nodename.\n", "example": {"_type": "literalExpression", "text": "\"192.168.1.2\""}, "loc": ["hardware", "sane", "brscan4", "netDevices", "<name>", "ip"], "readOnly": false, "type": "null or string"}, "hardware.sane.brscan4.netDevices.<name>.model": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan4.nix"], "description": "The model of the network device.\n", "example": {"_type": "literalExpression", "text": "\"MFC-7860DW\""}, "loc": ["hardware", "sane", "brscan4", "netDevices", "<name>", "model"], "readOnly": false, "type": "string"}, "hardware.sane.brscan4.netDevices.<name>.name": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan4.nix"], "description": "The friendly name you give to the network device. If undefined,\nthe name of attribute will be used.\n", "example": {"_type": "literalExpression", "text": "\"office1\""}, "loc": ["hardware", "sane", "brscan4", "netDevices", "<name>", "name"], "readOnly": false, "type": "string"}, "hardware.sane.brscan4.netDevices.<name>.nodename": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan4.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The node name of the device. If undefined, you will have to\nprovide an ip.\n", "example": {"_type": "literalExpression", "text": "\"BRW0080927AFBCE\""}, "loc": ["hardware", "sane", "brscan4", "netDevices", "<name>", "nodename"], "readOnly": false, "type": "null or string"}, "hardware.sane.brscan5.enable": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan5.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Brother brscan5 sane backend.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sane", "brscan5", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sane.brscan5.netDevices": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan5.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The list of network devices that will be registered against the brscan5\nsane backend.\n", "example": {"_type": "literalExpression", "text": "{\n  office1 = {\n    ip = \"192.168.1.2\";\n    model = \"MFC-7860DW\";\n  };\n  office2 = {\n    model = \"MFC-7860DW\";\n    nodename = \"BRW0080927AFBCE\";\n  };\n}"}, "loc": ["hardware", "sane", "brscan5", "netDevices"], "readOnly": false, "type": "attribute set of (submodule)"}, "hardware.sane.brscan5.netDevices.<name>.ip": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan5.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The ip address of the device. If undefined, you will have to\nprovide a nodename.\n", "example": {"_type": "literalExpression", "text": "\"192.168.1.2\""}, "loc": ["hardware", "sane", "brscan5", "netDevices", "<name>", "ip"], "readOnly": false, "type": "null or string"}, "hardware.sane.brscan5.netDevices.<name>.model": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan5.nix"], "description": "The model of the network device.\n", "example": {"_type": "literalExpression", "text": "\"ADS-1200\""}, "loc": ["hardware", "sane", "brscan5", "netDevices", "<name>", "model"], "readOnly": false, "type": "string"}, "hardware.sane.brscan5.netDevices.<name>.name": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan5.nix"], "description": "The friendly name you give to the network device. If undefined,\nthe name of attribute will be used.\n", "example": {"_type": "literalExpression", "text": "\"office1\""}, "loc": ["hardware", "sane", "brscan5", "netDevices", "<name>", "name"], "readOnly": false, "type": "string"}, "hardware.sane.brscan5.netDevices.<name>.nodename": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/brscan5.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The node name of the device. If undefined, you will have to\nprovide an ip.\n", "example": {"_type": "literalExpression", "text": "\"BRW0080927AFBCE\""}, "loc": ["hardware", "sane", "brscan5", "netDevices", "<name>", "nodename"], "readOnly": false, "type": "null or string"}, "hardware.sane.disabledDefaultBackends": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Names of backends which are enabled by default but should be disabled.\nSee `$SANE_CONFIG_DIR/dll.conf` for the list of possible names.\n", "example": {"_type": "literalExpression", "text": "[\n  \"v4l\"\n]"}, "loc": ["hardware", "sane", "disabledDefaultBackends"], "readOnly": false, "type": "list of string"}, "hardware.sane.drivers.scanSnap.enable": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable drivers for the Fujitsu ScanSnap scanners.\n\nThe driver files are unfree and extracted from the Windows driver image.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sane", "drivers", "scanSnap", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sane.drivers.scanSnap.package": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "pkgs.sane-drivers.epjitsu"}, "description": "The epjitsu package to use. Useful if you want to extract the driver files yourself.\n\nThe process is described in the {file}`/etc/sane.d/epjitsu.conf` file in\nthe `sane-backends` package.\n", "loc": ["hardware", "sane", "drivers", "scanSnap", "package"], "readOnly": false, "type": "package"}, "hardware.sane.dsseries.enable": {"declarations": ["nixos/modules/services/hardware/sane_extra_backends/dsseries.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When enabled, will automatically register the \"dsseries\" SANE backend.\n\nThis supports the Brother DSmobile scanner series, including the\nDS-620, DS-720D, DS-820W, and DS-920DW scanners.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sane", "dsseries", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sane.enable": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable support for SANE scanners.\n\n::: {.note}\nUsers in the \"scanner\" group will gain access to the scanner, or the \"lp\" group if it's also a printer.\n:::\n", "loc": ["hardware", "sane", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sane.extraBackends": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Packages providing extra SANE backends to enable.\n\n::: {.note}\nThe example contains the package for HP scanners, and the package for\nApple AirScan and Microsoft WSD support (supports many\nvendors/devices).\n:::\n", "example": {"_type": "literalExpression", "text": "[ pkgs.hplipWithPlugin pkgs.sane-airscan ]"}, "loc": ["hardware", "sane", "extraBackends"], "readOnly": false, "type": "list of absolute path"}, "hardware.sane.netConf": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Network hosts that should be probed for remote scanners.\n", "example": {"_type": "literalExpression", "text": "\"192.168.0.16\""}, "loc": ["hardware", "sane", "netConf"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "hardware.sane.openFirewall": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports needed for discovery of scanners on the local network, e.g.\nneeded for Canon scanners (BJNP protocol).\n", "loc": ["hardware", "sane", "openFirewall"], "readOnly": false, "type": "boolean"}, "hardware.sane.snapshot": {"declarations": ["nixos/modules/services/hardware/sane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use a development snapshot of SANE scanner drivers.", "loc": ["hardware", "sane", "snapshot"], "readOnly": false, "type": "boolean"}, "hardware.sata.timeout.deciSeconds": {"declarations": ["nixos/modules/hardware/sata.nix"], "description": "Set SCT Error Recovery Control timeout in deciseconds for use in RAID configurations.\n\nValues are as follows:\n   0 = disable SCT ERT\n  70 = default in consumer drives (7 seconds)\n\nMaximum is disk dependant but probably 60 seconds.\n", "example": {"_type": "literalExpression", "text": "70"}, "loc": ["hardware", "sata", "timeout", "deciSeconds"], "readOnly": false, "type": "signed integer"}, "hardware.sata.timeout.drives": {"declarations": ["nixos/modules/hardware/sata.nix"], "description": "List of drives for which to configure the timeout.", "loc": ["hardware", "sata", "timeout", "drives"], "readOnly": false, "type": "list of (submodule)"}, "hardware.sata.timeout.drives.*.idBy": {"declarations": ["nixos/modules/hardware/sata.nix"], "default": {"_type": "literalExpression", "text": "\"path\""}, "description": "The method to identify the drive.", "loc": ["hardware", "sata", "timeout", "drives", "*", "idBy"], "readOnly": false, "type": "one of \"path\", \"wwn\""}, "hardware.sata.timeout.drives.*.name": {"declarations": ["nixos/modules/hardware/sata.nix"], "description": "Drive name without the full path.", "loc": ["hardware", "sata", "timeout", "drives", "*", "name"], "readOnly": false, "type": "string"}, "hardware.sata.timeout.enable": {"declarations": ["nixos/modules/hardware/sata.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SATA drive timeouts.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sata", "timeout", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sensor.hddtemp.dbEntries": {"declarations": ["nixos/modules/hardware/sensor/hddtemp.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional DB entries", "loc": ["hardware", "sensor", "hddtemp", "dbEntries"], "readOnly": false, "type": "list of string"}, "hardware.sensor.hddtemp.drives": {"declarations": ["nixos/modules/hardware/sensor/hddtemp.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of drives to monitor. If you pass /dev/disk/by-path/* entries the symlinks will be resolved as hddtemp doesn't like names with colons.", "loc": ["hardware", "sensor", "hddtemp", "drives"], "readOnly": false, "type": "list of string"}, "hardware.sensor.hddtemp.enable": {"declarations": ["nixos/modules/hardware/sensor/hddtemp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable this option to support HDD/SSD temperature sensors.\n", "loc": ["hardware", "sensor", "hddtemp", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sensor.hddtemp.extraArgs": {"declarations": ["nixos/modules/hardware/sensor/hddtemp.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments passed to the daemon.", "loc": ["hardware", "sensor", "hddtemp", "extraArgs"], "readOnly": false, "type": "list of string"}, "hardware.sensor.hddtemp.unit": {"declarations": ["nixos/modules/hardware/sensor/hddtemp.nix"], "default": {"_type": "literalExpression", "text": "\"C\""}, "description": "Celsius or Fahrenheit", "loc": ["hardware", "sensor", "hddtemp", "unit"], "readOnly": false, "type": "one of \"C\", \"F\""}, "hardware.sensor.iio.enable": {"declarations": ["nixos/modules/hardware/sensor/iio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable this option to support IIO sensors with iio-sensor-proxy.\n\nIIO sensors are used for orientation and ambient light\nsensors on some mobile devices.\n", "loc": ["hardware", "sensor", "iio", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sensor.iio.package": {"declarations": ["nixos/modules/hardware/sensor/iio.nix"], "default": {"_type": "literalExpression", "text": "pkgs.iio-sensor-proxy"}, "description": "The iio-sensor-proxy package to use.", "loc": ["hardware", "sensor", "iio", "package"], "readOnly": false, "type": "package"}, "hardware.sheep_net.enable": {"declarations": ["nixos/modules/hardware/sheep-net.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables sheep_net udev rules, ensures 'sheep_net' group exists, and adds\nsheep-net to boot.kernelModules and boot.extraModulePackages\n", "loc": ["hardware", "sheep_net", "enable"], "readOnly": false, "type": "boolean"}, "hardware.spacenavd.enable": {"declarations": ["nixos/modules/services/hardware/spacenavd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable spacenavd to support 3DConnexion devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "spacenavd", "enable"], "readOnly": false, "type": "boolean"}, "hardware.steam-hardware.enable": {"declarations": ["nixos/modules/hardware/steam-hardware.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable udev rules for Steam hardware such as the Steam Controller, other supported controllers and the HTC Vive", "loc": ["hardware", "steam-hardware", "enable"], "readOnly": false, "type": "boolean"}, "hardware.system76.enableAll": {"declarations": ["nixos/modules/hardware/system-76.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable all recommended configuration for system76 systems.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "system76", "enableAll"], "readOnly": false, "type": "boolean"}, "hardware.system76.firmware-daemon.enable": {"declarations": ["nixos/modules/hardware/system-76.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.system76.enableAll"}, "description": "Whether to enable the system76 firmware daemon", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "system76", "firmware-daemon", "enable"], "readOnly": false, "type": "boolean"}, "hardware.system76.kernel-modules.enable": {"declarations": ["nixos/modules/hardware/system-76.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.system76.enableAll"}, "description": "Whether to make the system76 out-of-tree kernel modules available", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "system76", "kernel-modules", "enable"], "readOnly": false, "type": "boolean"}, "hardware.system76.power-daemon.enable": {"declarations": ["nixos/modules/hardware/system-76.nix"], "default": {"_type": "literalExpression", "text": "config.hardware.system76.enableAll"}, "description": "Whether to enable the system76 power daemon", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "system76", "power-daemon", "enable"], "readOnly": false, "type": "boolean"}, "hardware.tenstorrent.enable": {"declarations": ["nixos/modules/hardware/tenstorrent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Tenstorrent driver & utilities.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "tenstorrent", "enable"], "readOnly": false, "type": "boolean"}, "hardware.trackpoint.device": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "\"TPPS/2 IBM TrackPoint\""}, "description": "The device name of the trackpoint. You can check with xinput.\nSome newer devices (example x1c6) use \"TPPS/2 Elan TrackPoint\".\n", "loc": ["hardware", "trackpoint", "device"], "readOnly": false, "type": "string"}, "hardware.trackpoint.draghys": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "255"}, "description": "The drag hysteresis controls how hard it is to drag with z-axis pressed.\n", "example": {"_type": "literalExpression", "text": "200"}, "loc": ["hardware", "trackpoint", "draghys"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.drift_time": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "This parameter controls the period of time to test for a 'hands off' condition (i.e. when no force is applied) before a drift (noise) calibration occurs.\n\nIBM Trackpoints have a feature to compensate for drift by recalibrating themselves periodically. By default, if for 0.5 seconds there is no change in position, it's used as the new zero. This duration is too low. Often, the calibration happens when the trackpoint is in fact being used.\n", "example": {"_type": "literalExpression", "text": "100"}, "loc": ["hardware", "trackpoint", "drift_time"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.emulateWheel": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable scrolling while holding the middle mouse button.\n", "loc": ["hardware", "trackpoint", "emulateWheel"], "readOnly": false, "type": "boolean"}, "hardware.trackpoint.enable": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable sensitivity and speed configuration for trackpoints.\n", "loc": ["hardware", "trackpoint", "enable"], "readOnly": false, "type": "boolean"}, "hardware.trackpoint.ext_dev": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Disable or enable external pointing device.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["hardware", "trackpoint", "ext_dev"], "readOnly": false, "type": "boolean"}, "hardware.trackpoint.fakeButtons": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Switch to \"bare\" PS/2 mouse support in case Trackpoint buttons are not recognized\nproperly. This can happen for example on models like the L430, T450, T450s, on\nwhich the Trackpoint buttons are actually a part of the Synaptics touchpad.\n", "loc": ["hardware", "trackpoint", "fakeButtons"], "readOnly": false, "type": "boolean"}, "hardware.trackpoint.inertia": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "6"}, "description": "Negative inertia factor. High values cause the cursor to snap backward when the trackpoint is released.\n", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["hardware", "trackpoint", "inertia"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.jenks": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "135"}, "description": "Minimum curvature in degrees required to generate a double click without a release.\n", "example": {"_type": "literalExpression", "text": "100"}, "loc": ["hardware", "trackpoint", "jenks"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.mindrag": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "20"}, "description": "Minimum amount of force needed to trigger dragging.\n", "example": {"_type": "literalExpression", "text": "30"}, "loc": ["hardware", "trackpoint", "mindrag"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.press_to_select": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Setting this to true will enable the Press to Select functions like tapping the control stick to simulate a left click, and setting false will disable it.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "trackpoint", "press_to_select"], "readOnly": false, "type": "boolean"}, "hardware.trackpoint.reach": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Backup range for z-axis press.\n", "example": {"_type": "literalExpression", "text": "20"}, "loc": ["hardware", "trackpoint", "reach"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.sensitivity": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "128"}, "description": "Trackpoint sensitivity.\n", "example": {"_type": "literalExpression", "text": "255"}, "loc": ["hardware", "trackpoint", "sensitivity"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.skipback": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When the skipback bit is set, backup cursor movement during releases from drags will be suppressed. The default value for this bit is 0.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "trackpoint", "skipback"], "readOnly": false, "type": "boolean"}, "hardware.trackpoint.speed": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "97"}, "description": "Speed of the trackpoint cursor.\n", "example": {"_type": "literalExpression", "text": "255"}, "loc": ["hardware", "trackpoint", "speed"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.thresh": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "8"}, "description": "Minimum value for z-axis force required to trigger a press or release, relative to the running average.\n", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["hardware", "trackpoint", "thresh"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.upthresh": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "255"}, "description": "The offset from the running average required to generate a select (click) on z-axis on release.\n", "example": {"_type": "literalExpression", "text": "250"}, "loc": ["hardware", "trackpoint", "upthresh"], "readOnly": false, "type": "signed integer"}, "hardware.trackpoint.ztime": {"declarations": ["nixos/modules/tasks/trackpoint.nix"], "default": {"_type": "literalExpression", "text": "38"}, "description": "This attribute determines how sharp a press has to be in order to be recognized.\n", "example": {"_type": "literalExpression", "text": "50"}, "loc": ["hardware", "trackpoint", "ztime"], "readOnly": false, "type": "signed integer"}, "hardware.tuxedo-drivers.enable": {"declarations": ["nixos/modules/hardware/tuxedo-drivers.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable The tuxedo-drivers driver enables access to the following on TUXEDO notebooks:\n- Driver for Fn-keys\n- SysFS control of brightness/color/mode for most TUXEDO keyboards\n- Hardware I/O driver for TUXEDO Control Center\n\nFor more inforation it is best to check at the source code description: <https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers>\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "tuxedo-drivers", "enable"], "readOnly": false, "type": "boolean"}, "hardware.tuxedo-drivers.settings.charging-priority": {"declarations": ["nixos/modules/hardware/tuxedo-drivers.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "These options manage the trade-off between battery charging and CPU performance when the USB-C power supply cannot provide sufficient power for both simultaneously:\n- `charge_battery` prioritizes battery charging (driver default)\n- `performance` prioritizes maximum CPU performance\n", "loc": ["hardware", "tuxedo-drivers", "settings", "charging-priority"], "readOnly": false, "type": "null or one of \"charge_battery\", \"performance\""}, "hardware.tuxedo-drivers.settings.charging-profile": {"declarations": ["nixos/modules/hardware/tuxedo-drivers.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum charge level to help reduce battery wear:\n- `high_capacity` charges to 100% (driver default)\n- `balanced` charges to 90%\n- `stationary` charges to 80% (maximum lifespan)\n\n**Note:** Regardless of the configured charging profile, the operating system will always report the battery as being charged to 100%.\n", "loc": ["hardware", "tuxedo-drivers", "settings", "charging-profile"], "readOnly": false, "type": "null or one of \"high_capacity\", \"balanced\", \"stationary\""}, "hardware.tuxedo-drivers.settings.fn-lock": {"declarations": ["nixos/modules/hardware/tuxedo-drivers.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enables or disables the laptop keyboard's Function (Fn) lock at boot.\n\nWhen set to `true`, the Fn lock is enabled, allowing the function keys (F1\u2013F12) to control brightness, volume etc.\n", "loc": ["hardware", "tuxedo-drivers", "settings", "fn-lock"], "readOnly": false, "type": "null or boolean"}, "hardware.tuxedo-rs.enable": {"declarations": ["nixos/modules/services/hardware/tuxedo-rs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Rust utilities for interacting with hardware from TUXEDO Computers.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "tuxedo-rs", "enable"], "readOnly": false, "type": "boolean"}, "hardware.tuxedo-rs.tailor-gui.enable": {"declarations": ["nixos/modules/services/hardware/tuxedo-rs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable tailor-gui, an alternative to TUXEDO Control Center, written in Rust.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "tuxedo-rs", "tailor-gui", "enable"], "readOnly": false, "type": "boolean"}, "hardware.ubertooth.enable": {"declarations": ["nixos/modules/hardware/ubertooth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ubertooth software and its udev rules.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "ubertooth", "enable"], "readOnly": false, "type": "boolean"}, "hardware.ubertooth.group": {"declarations": ["nixos/modules/hardware/ubertooth.nix"], "default": {"_type": "literalExpression", "text": "\"ubertooth\""}, "description": "Group for Ubertooth's udev rules.", "example": {"_type": "literalExpression", "text": "\"wheel\""}, "loc": ["hardware", "ubertooth", "group"], "readOnly": false, "type": "string"}, "hardware.uinput.enable": {"declarations": ["nixos/modules/hardware/uinput.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable uinput support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "uinput", "enable"], "readOnly": false, "type": "boolean"}, "hardware.uni-sync.devices": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of controllers with their configurations.", "example": {"_type": "literalExpression", "text": "[\n  {\n    device_id = \"VID:1111/PID:11111/SN:1111111111\";\n    sync_rgb = true;\n    channels = [\n      {\n        mode = \"PWM\";\n      }\n      {\n        mode = \"Manual\";\n        speed = 100;\n      }\n      {\n        mode = \"Manual\";\n        speed = 54;\n      }\n      {\n        mode = \"Manual\";\n        speed = 0;\n      }\n    ];\n  }\n  {\n    device_id = \"VID:1010/PID:10101/SN:1010101010\";\n    sync_rgb = false;\n    channels = [\n      {\n        mode = \"Manual\";\n        speed = 0;\n      }\n    ];\n  }\n]\n"}, "loc": ["hardware", "uni-sync", "devices"], "readOnly": false, "type": "list of (submodule)"}, "hardware.uni-sync.devices.*.channels": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of channels connected to the controller.", "example": {"_type": "literalExpression", "text": "[\n  {\n    mode = \"PWM\";\n  }\n  {\n    mode = \"Manual\";\n    speed = 100;\n  }\n  {\n    mode = \"Manual\";\n    speed = 54;\n  }\n  {\n    mode = \"Manual\";\n    speed = 0;\n  }\n]\n"}, "loc": ["hardware", "uni-sync", "devices", "*", "channels"], "readOnly": false, "type": "list of (submodule)"}, "hardware.uni-sync.devices.*.channels.*.mode": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "default": {"_type": "literalExpression", "text": "\"Manual\""}, "description": "\"PWM\" to enable PWM sync. \"Manual\" to set speed.", "example": {"_type": "literalExpression", "text": "\"PWM\""}, "loc": ["hardware", "uni-sync", "devices", "*", "channels", "*", "mode"], "readOnly": false, "type": "one of \"Manual\", \"PWM\""}, "hardware.uni-sync.devices.*.channels.*.speed": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "default": {"_type": "literalExpression", "text": "\"50\""}, "description": "Fan speed as percentage (clamped between 0 and 100).", "example": {"_type": "literalExpression", "text": "\"100\""}, "loc": ["hardware", "uni-sync", "devices", "*", "channels", "*", "speed"], "readOnly": false, "type": "signed integer"}, "hardware.uni-sync.devices.*.device_id": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "description": "Unique device ID displayed at each startup.", "example": {"_type": "literalExpression", "text": "\"VID:1111/PID:11111/SN:1111111111\""}, "loc": ["hardware", "uni-sync", "devices", "*", "device_id"], "readOnly": false, "type": "string"}, "hardware.uni-sync.devices.*.sync_rgb": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable ARGB header sync.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "uni-sync", "devices", "*", "sync_rgb"], "readOnly": false, "type": "boolean"}, "hardware.uni-sync.enable": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules and software for Lian Li Uni Controllers.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "uni-sync", "enable"], "readOnly": false, "type": "boolean"}, "hardware.uni-sync.package": {"declarations": ["nixos/modules/hardware/uni-sync.nix"], "default": {"_type": "literalExpression", "text": "pkgs.uni-sync"}, "description": "The uni-sync package to use.", "loc": ["hardware", "uni-sync", "package"], "readOnly": false, "type": "package"}, "hardware.usb-modeswitch.enable": {"declarations": ["nixos/modules/hardware/usb-modeswitch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable this option to support certain USB WLAN and WWAN adapters.\n\nThese network adapters initial present themselves as Flash Drives containing their drivers.\nThis option enables automatic switching to the networking mode.\n", "loc": ["hardware", "usb-modeswitch", "enable"], "readOnly": false, "type": "boolean"}, "hardware.usbStorage.manageShutdown": {"declarations": ["nixos/modules/hardware/usb-storage.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable this option to gracefully spin-down external storage during shutdown.\nIf you suspect improper head parking after poweroff, install `smartmontools` and check\nfor the `Power-Off_Retract_Count` field for an increment.\n", "loc": ["hardware", "usbStorage", "manageShutdown"], "readOnly": false, "type": "boolean"}, "hardware.wirelessRegulatoryDatabase": {"declarations": ["nixos/modules/hardware/all-firmware.nix"], "default": {"_type": "literalMD", "text": "Enabled if proprietary firmware is allowed via {option}`enableRedistributableFirmware` or {option}`enableAllFirmware`."}, "description": "Whether to enable loading the wireless regulatory database at boot.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "wirelessRegulatoryDatabase"], "readOnly": false, "type": "boolean"}, "hardware.wooting.enable": {"declarations": ["nixos/modules/hardware/wooting.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for Wooting keyboards.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "wooting", "enable"], "readOnly": false, "type": "boolean"}, "hardware.xone.enable": {"declarations": ["nixos/modules/hardware/xone.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the xone driver for Xbox One and Xbox Series X|S accessories.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "xone", "enable"], "readOnly": false, "type": "boolean"}, "hardware.xpad-noone.enable": {"declarations": ["nixos/modules/hardware/xpad-noone.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Xpad driver from the Linux kernel with support for Xbox One controllers removed.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "xpad-noone", "enable"], "readOnly": false, "type": "boolean"}, "hardware.xpadneo.enable": {"declarations": ["nixos/modules/hardware/xpadneo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the xpadneo driver for Xbox One wireless controllers.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "xpadneo", "enable"], "readOnly": false, "type": "boolean"}, "hardware.xpadneo.quirks": {"declarations": ["nixos/modules/hardware/xpadneo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Controller-specific quirk flags, keyed by MAC address.\nFlags are combined as a bitmask to address compatibility issues\nwith specific controllers.\n\nThe value is a sum of individual flag values. For example, to apply\nflags 1, 2, and 4, use `7` (1 + 2 + 4). To apply flags 2, 4, and 32,\nuse `38` (2 + 4 + 32).\n\nSee <https://github.com/atar-axis/xpadneo/blob/master/docs/CONFIGURATION.md>\nfor available quirk flags and their values.\n", "example": {"_type": "literalExpression", "text": "{\n  \"11:22:33:44:55:66\" = 7; # Applies flags 1 + 2 + 4\n}\n"}, "loc": ["hardware", "xpadneo", "quirks"], "readOnly": false, "type": "attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "hardware.xpadneo.rumbleAttenuation": {"declarations": ["nixos/modules/hardware/xpadneo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Force feedback attenuation settings. Higher values reduce rumble strength.\n\nSee <https://github.com/atar-axis/xpadneo/blob/master/docs/CONFIGURATION.md>\nfor more information.\n", "example": {"_type": "literalExpression", "text": "{\n  overall = 50;   # 50% overall rumble\n  triggers = 50;  # 25% trigger rumble (50% of 50%)\n}\n"}, "loc": ["hardware", "xpadneo", "rumbleAttenuation"], "readOnly": false, "type": "submodule"}, "hardware.xpadneo.rumbleAttenuation.overall": {"declarations": ["nixos/modules/hardware/xpadneo.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Overall force feedback attenuation as a percentage.\n`0` means full rumble, `100` means no rumble.\nApplies to both main and trigger rumble.\n", "loc": ["hardware", "xpadneo", "rumbleAttenuation", "overall"], "readOnly": false, "type": "integer between 0 and 100 (both inclusive)"}, "hardware.xpadneo.rumbleAttenuation.triggers": {"declarations": ["nixos/modules/hardware/xpadneo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra attenuation for trigger rumble as a percentage, applied\non top of {option}`overall`. For example, `overall = 50` and\n`triggers = 50` results in 50% main rumble and 25% trigger rumble.\nSet to `100` to disable trigger rumble while keeping main rumble.\n`null` means no extra trigger attenuation.\n", "loc": ["hardware", "xpadneo", "rumbleAttenuation", "triggers"], "readOnly": false, "type": "null or integer between 0 and 100 (both inclusive)"}, "hardware.xpadneo.settings": {"declarations": ["nixos/modules/hardware/xpadneo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Kernel module parameters for hid_xpadneo. These are passed directly\nto the module via modprobe.\n\nSee <https://github.com/atar-axis/xpadneo/blob/master/docs/CONFIGURATION.md>\nfor available parameters and their values.\n", "example": {"_type": "literalExpression", "text": "{\n  disable_deadzones = 1;\n  trigger_rumble_mode = 2;\n  disable_shift_mode = 1;\n}\n"}, "loc": ["hardware", "xpadneo", "settings"], "readOnly": false, "type": "attribute set of (signed integer or string)"}, "i18n.defaultCharset": {"declarations": ["nixos/modules/config/i18n.nix"], "default": {"_type": "literalExpression", "text": "\"UTF-8\""}, "description": "The default locale character set.\n", "example": {"_type": "literalExpression", "text": "\"ISO-8859-8\""}, "loc": ["i18n", "defaultCharset"], "readOnly": false, "type": "string"}, "i18n.defaultLocale": {"declarations": ["nixos/modules/config/i18n.nix"], "default": {"_type": "literalExpression", "text": "\"en_US.UTF-8\""}, "description": "The default locale. It determines the language for program messages,\nthe format for dates and times, sort order, and so on. Setting the\ndefault character set is done via {option}`i18n.defaultCharset`.\n", "example": {"_type": "literalExpression", "text": "\"nl_NL.UTF-8\""}, "loc": ["i18n", "defaultLocale"], "readOnly": false, "type": "string"}, "i18n.extraLocaleSettings": {"declarations": ["nixos/modules/config/i18n.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of additional system-wide locale settings other than `LANG`\nwhich can be configured with {option}`i18n.defaultLocale`. Note that\nthe `/UTF-8` suffix used in {option}`i18n.extraLocales` indicates a\ncharacter set, and it must not be added manually here. To use a\nnon-`UTF-8` character set such as ISO-XXXX-8, the\n{option}`i18n.localeCharsets` can be used.\n\nNote that if the [`LANGUAGE`\nkey](https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html)\nis used in this option, it is ignored when computing the locales\nrequired to be installed, because the possible values of this key are\nmore diverse and flexible then the others.\n", "example": {"_type": "literalExpression", "text": "{\n  LC_MESSAGES = \"en_US.UTF-8\";\n  LC_TIME = \"de_DE.UTF-8\";\n}"}, "loc": ["i18n", "extraLocaleSettings"], "readOnly": false, "type": "attribute set of string"}, "i18n.extraLocales": {"declarations": ["nixos/modules/config/i18n.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional locales that the system should support, besides the ones\nconfigured with {option}`i18n.defaultLocale` and\n{option}`i18n.extraLocaleSettings`.\nSet this to `\"all\"` to install all available locales.\n", "example": {"_type": "literalExpression", "text": "[\n  \"nl_NL.UTF-8/UTF-8\"\n]"}, "loc": ["i18n", "extraLocales"], "readOnly": false, "type": "(list of string) or value \"all\" (singular enum)"}, "i18n.glibcLocales": {"declarations": ["nixos/modules/config/i18n.nix"], "default": {"_type": "literalExpression", "text": "if pkgs.glibcLocales != null then\n  pkgs.glibcLocales.override {\n    allLocales = lib.elem \"all\" config.i18n.supportedLocales;\n    locales = config.i18n.supportedLocales;\n  }\nelse\n  null\n"}, "description": "Customized pkg.glibcLocales package.\n\nChanging this option can disable handling of i18n.defaultLocale\nand supportedLocale.\n", "example": {"_type": "literalExpression", "text": "pkgs.glibcLocales"}, "loc": ["i18n", "glibcLocales"], "readOnly": false, "type": "null or absolute path"}, "i18n.imperativeLocale": {"declarations": ["nixos/modules/config/i18n.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable imperative locale and keyboard management via localectl.\n\nWhen enabled, locale and keyboard settings can be changed at runtime\nusing `localectl set-locale` and `localectl set-keymap`.\nWhen disabled (the default), these settings are managed declaratively\nthrough {option}`i18n.defaultLocale`, {option}`i18n.extraLocaleSettings`,\nand {option}`console.keyMap`.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["i18n", "imperativeLocale"], "readOnly": false, "type": "boolean"}, "i18n.inputMethod.enable": {"declarations": ["nixos/modules/i18n/input-method/default.nix"], "default": {"_type": "literalMD", "text": "`true` if the deprecated option `enabled` is set, false otherwise"}, "description": "Whether to enable an additional input method type.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["i18n", "inputMethod", "enable"], "readOnly": false, "type": "boolean"}, "i18n.inputMethod.enableGtk2": {"declarations": ["nixos/modules/i18n/input-method/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gtk2 support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["i18n", "inputMethod", "enableGtk2"], "readOnly": false, "type": "boolean"}, "i18n.inputMethod.enableGtk3": {"declarations": ["nixos/modules/i18n/input-method/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Gtk3 support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["i18n", "inputMethod", "enableGtk3"], "readOnly": false, "type": "boolean"}, "i18n.inputMethod.enabled": {"declarations": ["nixos/modules/i18n/input-method/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Deprecated - use `type` and `enable = true` instead", "example": {"_type": "literalExpression", "text": "\"fcitx5\""}, "loc": ["i18n", "inputMethod", "enabled"], "readOnly": false, "type": "null or one of \"ibus\", \"fcitx5\", \"nabi\", \"uim\", \"hime\", \"kime\""}, "i18n.inputMethod.fcitx5.addons": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Enabled Fcitx5 addons.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ fcitx5-rime ]"}, "loc": ["i18n", "inputMethod", "fcitx5", "addons"], "readOnly": false, "type": "list of package"}, "i18n.inputMethod.fcitx5.ignoreUserConfig": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Ignore the user configures. **Warning**: When this is enabled, the\nuser config files are totally ignored and the user dict can't be saved\nand loaded.\n", "loc": ["i18n", "inputMethod", "fcitx5", "ignoreUserConfig"], "readOnly": false, "type": "boolean"}, "i18n.inputMethod.fcitx5.quickPhrase": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Quick phrases.", "example": {"_type": "literalExpression", "text": "{\n  smile = \"\uff08\u30fb\u2200\u30fb\uff09\";\n  angry = \"(\uffe3\u30fc\uffe3)\";\n}\n"}, "loc": ["i18n", "inputMethod", "fcitx5", "quickPhrase"], "readOnly": false, "type": "attribute set of string"}, "i18n.inputMethod.fcitx5.quickPhraseFiles": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Quick phrase files.", "example": {"_type": "literalExpression", "text": "{\n  words = ./words.mb;\n  numbers = ./numbers.mb;\n}\n"}, "loc": ["i18n", "inputMethod", "fcitx5", "quickPhraseFiles"], "readOnly": false, "type": "attribute set of absolute path"}, "i18n.inputMethod.fcitx5.settings.addons": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The addon configures in `conf` folder in ini format with global sections.\nEach item is written to the corresponding file.\n", "example": {"_type": "literalExpression", "text": "{ pinyin.globalSection.EmojiEnabled = \"True\"; }"}, "loc": ["i18n", "inputMethod", "fcitx5", "settings", "addons"], "readOnly": false, "type": "attribute set of anything"}, "i18n.inputMethod.fcitx5.settings.globalOptions": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The global options in `config` file in ini format.\n", "loc": ["i18n", "inputMethod", "fcitx5", "settings", "globalOptions"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "i18n.inputMethod.fcitx5.settings.inputMethod": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The input method configure in `profile` file in ini format.\n", "loc": ["i18n", "inputMethod", "fcitx5", "settings", "inputMethod"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "i18n.inputMethod.fcitx5.waylandFrontend": {"declarations": ["nixos/modules/i18n/input-method/fcitx5.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use the Wayland input method frontend.\nSee [Using Fcitx 5 on Wayland](https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland).\n", "loc": ["i18n", "inputMethod", "fcitx5", "waylandFrontend"], "readOnly": false, "type": "boolean"}, "i18n.inputMethod.type": {"declarations": ["nixos/modules/i18n/input-method/default.nix"], "default": {"_type": "literalMD", "text": "The value of the deprecated option `enabled`, defaulting to null"}, "description": "Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.\n\nInput methods are specially used to input Chinese, Japanese and Korean characters.\n\nCurrently the following input methods are available in NixOS:\n\n- ibus: The intelligent input bus, extra input engines can be added using `i18n.inputMethod.ibus.engines`.\n- fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using `i18n.inputMethod.fcitx5.addons`.\n- nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5.\n- uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.\n- hime: An extremely easy-to-use input method framework.\n- kime: Koream IME.\n", "example": {"_type": "literalExpression", "text": "\"fcitx5\""}, "loc": ["i18n", "inputMethod", "type"], "readOnly": false, "type": "null or one of \"ibus\", \"fcitx5\", \"nabi\", \"uim\", \"hime\", \"kime\""}, "i18n.inputMethod.uim.toolbar": {"declarations": ["nixos/modules/i18n/input-method/uim.nix"], "default": {"_type": "literalExpression", "text": "\"gtk\""}, "description": "selected UIM toolbar.\n", "example": {"_type": "literalExpression", "text": "\"gtk-systray\""}, "loc": ["i18n", "inputMethod", "uim", "toolbar"], "readOnly": false, "type": "one of \"gtk\", \"gtk3\", \"gtk-systray\", \"gtk3-systray\", \"qt5\""}, "i18n.localeCharsets": {"declarations": ["nixos/modules/config/i18n.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Per each {option}`i18n.extraLocaleSettings`, choose the character set\nto use for it. Essentially defaults to UTF-8 for all of them.\n\nNote that for a locale category that uses the `C` locale, setting a\ncharacter set to it via this setting is ignored.\n", "example": {"_type": "literalExpression", "text": "{\n  LC_MESSAGES = \"ISO-8859-15\";\n  LC_TIME = \"ISO-8859-1\";\n}"}, "loc": ["i18n", "localeCharsets"], "readOnly": false, "type": "attribute set of string"}, "image.baseName": {"declarations": ["nixos/modules/image/file-options.nix"], "default": {"_type": "literalExpression", "text": "nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}"}, "description": "Basename of the image filename without any extension (e.g. `image_1`).\n", "loc": ["image", "baseName"], "readOnly": false, "type": "string"}, "image.extension": {"declarations": ["nixos/modules/image/file-options.nix"], "description": "Extension of the image filename (e.g. `raw`).\n", "loc": ["image", "extension"], "readOnly": false, "type": "string"}, "image.fileName": {"declarations": ["nixos/modules/image/file-options.nix"], "default": {"_type": "literalExpression", "text": "${config.image.baseName}.${config.image.extension}"}, "description": "Filename of the image including all extensions (e.g `image_1.raw` or\n`image_1.raw.zst`).\n", "loc": ["image", "fileName"], "readOnly": false, "type": "string"}, "image.filePath": {"declarations": ["nixos/modules/image/file-options.nix"], "default": {"_type": "literalExpression", "text": "config.image.fileName"}, "description": "Path of the image, relative to `$out` in `system.build.image`.\nWhile it defaults to `config.image.fileName`, it can be different for builders where\nthe image is in sub directory, such as `iso`, `sd-card` or `kexec` images.\n", "loc": ["image", "filePath"], "readOnly": false, "type": "string"}, "image.modules": {"declarations": ["nixos/modules/image/images.nix"], "description": "image-specific NixOS Modules used for `system.build.images`.\n", "loc": ["image", "modules"], "readOnly": false, "type": "attribute set of module"}, "image.repart.compression.algorithm": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "\"zstd\""}, "description": "Compression algorithm", "loc": ["image", "repart", "compression", "algorithm"], "readOnly": false, "type": "one of \"zstd\", \"xz\", \"zstd-seekable\""}, "image.repart.compression.enable": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Image compression.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["image", "repart", "compression", "enable"], "readOnly": false, "type": "boolean"}, "image.repart.compression.level": {"declarations": ["nixos/modules/image/repart.nix"], "description": "Compression level. The available range depends on the used algorithm.\n", "loc": ["image", "repart", "compression", "level"], "readOnly": false, "type": "signed integer"}, "image.repart.imageSize": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Size of the produced image in bytes with optional K, M, G, T suffix,\n        or 'auto' to determine the minimal size automatically", "example": {"_type": "literalExpression", "text": "\"512G\""}, "loc": ["image", "repart", "imageSize"], "readOnly": false, "type": "string matching the pattern ^([0-9]+[KMGTP]?|auto)$"}, "image.repart.mkfsOptions": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify extra options for created file systems. The specified options\nare converted to individual environment variables of the format\n`SYSTEMD_REPART_MKFS_OPTIONS_<FSTYPE>`.\n\nSee [upstream systemd documentation](https://github.com/systemd/systemd/blob/v255/docs/ENVIRONMENT.md?plain=1#L575-L577)\nfor information about the usage of these environment variables.\n\nThe example would produce the following environment variable:\n```\nSYSTEMD_REPART_MKFS_OPTIONS_VFAT=\"-S 512 -c\"\n```\n", "example": {"_type": "literalExpression", "text": "{\n  vfat = [ \"-S 512\" \"-c\" ];\n}\n"}, "loc": ["image", "repart", "mkfsOptions"], "readOnly": false, "type": "attribute set of list of string"}, "image.repart.name": {"declarations": ["nixos/modules/image/repart.nix"], "description": "  Name of the image.\n\nIf this option is unset but config.system.image.id is set,\nconfig.system.image.id is used as the default value.\n", "loc": ["image", "repart", "name"], "readOnly": false, "type": "string"}, "image.repart.package": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "pkgs.buildPackages.systemd"}, "description": "The systemd-repart package to use.", "example": {"_type": "literalExpression", "text": "pkgs.buildPackages.systemdMinimal.override { withCryptsetup = true; }"}, "loc": ["image", "repart", "package"], "readOnly": false, "type": "package"}, "image.repart.partitions": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify partitions as a set of the names of the partitions with their\nconfiguration as the key.\n", "example": {"_type": "literalExpression", "text": "{\n  \"10-esp\" = {\n    contents = {\n      \"/EFI/BOOT/BOOTX64.EFI\".source =\n        \"${pkgs.systemd}/lib/systemd/boot/efi/systemd-bootx64.efi\";\n    };\n    repartConfig = {\n      Type = \"esp\";\n      Format = \"vfat\";\n    };\n  };\n  \"20-root\" = {\n    storePaths = [ config.system.build.toplevel ];\n    repartConfig = {\n      Type = \"root\";\n      Format = \"ext4\";\n      Minimize = \"guess\";\n    };\n  };\n};\n"}, "loc": ["image", "repart", "partitions"], "readOnly": false, "type": "attribute set of (submodule)"}, "image.repart.partitions.<name>.contents": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The contents to end up in the filesystem image.", "example": {"_type": "literalExpression", "text": "{\n  \"/EFI/BOOT/BOOTX64.EFI\".source =\n    \"${pkgs.systemd}/lib/systemd/boot/efi/systemd-bootx64.efi\";\n\n  \"/loader/entries/nixos.conf\".source = systemdBootEntry;\n}\n"}, "loc": ["image", "repart", "partitions", "<name>", "contents"], "readOnly": false, "type": "attribute set of (submodule)"}, "image.repart.partitions.<name>.contents.<name>.source": {"declarations": ["nixos/modules/image/repart.nix"], "description": "Path of the source file.", "loc": ["image", "repart", "partitions", "<name>", "contents", "<name>", "source"], "readOnly": false, "type": "absolute path"}, "image.repart.partitions.<name>.nixStorePrefix": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "\"/nix/store\""}, "description": "The prefix to use for store paths. Defaults to `/nix/store`. This is\nuseful when you want to build a partition that only contains store\npaths and is mounted under `/nix/store` or if you want to create the\nstore paths below a parent path (e.g., `/@nix/nix/store`).\n", "loc": ["image", "repart", "partitions", "<name>", "nixStorePrefix"], "readOnly": false, "type": "absolute path"}, "image.repart.partitions.<name>.repartConfig": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify the repart options for a partition as a structural setting.\nSee {manpage}`repart.d(5)`\nfor all available options.\n", "example": {"_type": "literalExpression", "text": "{\n  SizeMaxBytes = \"2G\";\n  SizeMinBytes = \"512M\";\n  Type = \"home\";\n}"}, "loc": ["image", "repart", "partitions", "<name>", "repartConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean or list of string)"}, "image.repart.partitions.<name>.storePaths": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The store paths to include in the partition.", "loc": ["image", "repart", "partitions", "<name>", "storePaths"], "readOnly": false, "type": "list of absolute path"}, "image.repart.sectorSize": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "512"}, "description": "The sector size of the disk image produced by systemd-repart. This\nvalue must be a power of 2 between 512 and 4096.\n", "example": {"_type": "literalExpression", "text": "4096"}, "loc": ["image", "repart", "sectorSize"], "readOnly": false, "type": "null or signed integer"}, "image.repart.seed": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "\"0867da16-f251-457d-a9e8-c31f9a3c220b\""}, "description": "A UUID to use as a seed. You can set this to `random` to explicitly\nrandomize the partition UUIDs.\nSee {manpage}`systemd-repart(8)` for more information.\n", "loc": ["image", "repart", "seed"], "readOnly": false, "type": "null or string"}, "image.repart.split": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables generation of split artifacts from partitions. If enabled, for\neach partition with SplitName= set, a separate output file containing\njust the contents of that partition is generated.\n", "loc": ["image", "repart", "split"], "readOnly": false, "type": "boolean"}, "image.repart.verityStore.enable": {"declarations": ["nixos/modules/image/repart-verity-store.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable building images with a dm-verity protected nix store.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["image", "repart", "verityStore", "enable"], "readOnly": false, "type": "boolean"}, "image.repart.verityStore.partitionIds.esp": {"declarations": ["nixos/modules/image/repart-verity-store.nix"], "default": {"_type": "literalExpression", "text": "\"00-esp\""}, "description": "Specify the attribute name of the ESP.\n", "loc": ["image", "repart", "verityStore", "partitionIds", "esp"], "readOnly": false, "type": "string"}, "image.repart.verityStore.partitionIds.store": {"declarations": ["nixos/modules/image/repart-verity-store.nix"], "default": {"_type": "literalExpression", "text": "\"20-store\""}, "description": "Specify the attribute name of the store partition.\n", "loc": ["image", "repart", "verityStore", "partitionIds", "store"], "readOnly": false, "type": "string"}, "image.repart.verityStore.partitionIds.store-verity": {"declarations": ["nixos/modules/image/repart-verity-store.nix"], "default": {"_type": "literalExpression", "text": "\"10-store-verity\""}, "description": "Specify the attribute name of the store's dm-verity hash partition.\n", "loc": ["image", "repart", "verityStore", "partitionIds", "store-verity"], "readOnly": false, "type": "string"}, "image.repart.verityStore.ukiPath": {"declarations": ["nixos/modules/image/repart-verity-store.nix"], "default": {"_type": "literalExpression", "text": "\"/EFI/Linux/\\${config.system.boot.loader.ukiFile}\""}, "description": "Specify the location on the ESP where the UKI is placed.\n", "loc": ["image", "repart", "verityStore", "ukiPath"], "readOnly": false, "type": "string"}, "image.repart.version": {"declarations": ["nixos/modules/image/repart.nix"], "default": {"_type": "literalExpression", "text": "config.system.image.version"}, "description": "Version of the image", "loc": ["image", "repart", "version"], "readOnly": false, "type": "null or string"}, "lib": {"declarations": ["nixos/modules/misc/lib.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows modules to define helper functions, constants, etc.\n", "loc": ["lib"], "readOnly": false, "type": "attribute set of (attribute set)"}, "location.latitude": {"declarations": ["nixos/modules/config/locale.nix"], "description": "Your current latitude, between\n`-90.0` and `90.0`. Must be provided\nalong with longitude.\n", "loc": ["location", "latitude"], "readOnly": false, "type": "floating point number"}, "location.longitude": {"declarations": ["nixos/modules/config/locale.nix"], "description": "Your current longitude, between\nbetween `-180.0` and `180.0`. Must be\nprovided along with latitude.\n", "loc": ["location", "longitude"], "readOnly": false, "type": "floating point number"}, "location.provider": {"declarations": ["nixos/modules/config/locale.nix"], "default": {"_type": "literalExpression", "text": "\"manual\""}, "description": "The location provider to use for determining your location. If set to\n`manual` you must also provide latitude/longitude.\n", "loc": ["location", "provider"], "readOnly": false, "type": "one of \"manual\", \"geoclue2\""}, "meta.maintainers": {"declarations": ["modules/generic/meta-maintainers.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of maintainers of each module.\nThis option should be defined at most once per module.\n\nThe option value is not a list of maintainers, but an attribute set that maps module file names to lists of maintainers.\n", "example": {"_type": "literalExpression", "text": "[ lib.maintainers.alice lib.maintainers.bob ]"}, "loc": ["meta", "maintainers"], "readOnly": false, "type": "list of lib.maintainers"}, "meta.teams": {"declarations": ["modules/generic/meta-maintainers.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of team maintainers of each module.\nThis option should be defined at most once per module.\n", "example": {"_type": "literalExpression", "text": "[ lib.teams.acme lib.teams.haskell ]"}, "loc": ["meta", "teams"], "readOnly": false, "type": "list of lib.teams"}, "networking.bonds": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define bond devices that aggregate multiple,\nunderlying networking interfaces together. The value of this option is\nan attribute set. Each attribute specifies a bond, with the attribute\nname specifying the name of the bond's network interface\n", "example": {"_type": "literalExpression", "text": "{\n  bond0 = {\n    interfaces = [ \"eth0\" \"wlan0\" ];\n    driverOptions = {\n  miimon = \"100\";\n  mode = \"active-backup\";\n}\n;\n  };\n  anotherBond.interfaces = [ \"enp4s0f0\" \"enp4s0f1\" \"enp5s0f0\" \"enp5s0f1\" ];\n}\n"}, "loc": ["networking", "bonds"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.bonds.<name>.driverOptions": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for the bonding driver.\nDocumentation can be found in\n<https://www.kernel.org/doc/Documentation/networking/bonding.txt>\n", "example": {"_type": "literalExpression", "text": "{\n  miimon = \"100\";\n  mode = \"active-backup\";\n}\n"}, "loc": ["networking", "bonds", "<name>", "driverOptions"], "readOnly": false, "type": "attribute set of string"}, "networking.bonds.<name>.interfaces": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The interfaces to bond together", "example": {"_type": "literalExpression", "text": "[\n  \"enp4s0f0\"\n  \"enp4s0f1\"\n  \"wlan0\"\n]"}, "loc": ["networking", "bonds", "<name>", "interfaces"], "readOnly": false, "type": "list of string"}, "networking.bonds.<name>.lacp_rate": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DEPRECATED, use `driverOptions`.\nOption specifying the rate in which we'll ask our link partner\nto transmit LACPDU packets in 802.3ad mode.\n", "example": {"_type": "literalExpression", "text": "\"fast\""}, "loc": ["networking", "bonds", "<name>", "lacp_rate"], "readOnly": false, "type": "null or string"}, "networking.bonds.<name>.miimon": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DEPRECATED, use `driverOptions`.\nMiimon is the number of millisecond in between each round of polling\nby the device driver for failed links. By default polling is not\nenabled and the driver is trusted to properly detect and handle\nfailure scenarios.\n", "example": {"_type": "literalExpression", "text": "100"}, "loc": ["networking", "bonds", "<name>", "miimon"], "readOnly": false, "type": "null or signed integer"}, "networking.bonds.<name>.mode": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DEPRECATED, use `driverOptions`.\nThe mode which the bond will be running. The default mode for\nthe bonding driver is balance-rr, optimizing for throughput.\nMore information about valid modes can be found at\nhttps://www.kernel.org/doc/Documentation/networking/bonding.txt\n", "example": {"_type": "literalExpression", "text": "\"active-backup\""}, "loc": ["networking", "bonds", "<name>", "mode"], "readOnly": false, "type": "null or string"}, "networking.bonds.<name>.xmit_hash_policy": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DEPRECATED, use `driverOptions`.\nSelects the transmit hash policy to use for slave selection in\nbalance-xor, 802.3ad, and tlb modes.\n", "example": {"_type": "literalExpression", "text": "\"layer2+3\""}, "loc": ["networking", "bonds", "<name>", "xmit_hash_policy"], "readOnly": false, "type": "null or string"}, "networking.bridges": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define Ethernet bridge devices\nthat connect physical networks together.  The value of this\noption is an attribute set.  Each attribute specifies a\nbridge, with the attribute name specifying the name of the\nbridge's network interface.\n", "example": {"_type": "literalExpression", "text": "{\n  br0 = {\n    interfaces = [\n      \"eth0\"\n      \"eth1\"\n    ];\n  };\n  br1 = {\n    interfaces = [\n      \"eth2\"\n      \"wlan0\"\n    ];\n  };\n}"}, "loc": ["networking", "bridges"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.bridges.<name>.interfaces": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The physical network interfaces connected by the bridge.", "example": {"_type": "literalExpression", "text": "[\n  \"eth0\"\n  \"eth1\"\n]"}, "loc": ["networking", "bridges", "<name>", "interfaces"], "readOnly": false, "type": "list of string"}, "networking.bridges.<name>.rstp": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the bridge interface should enable rstp.", "loc": ["networking", "bridges", "<name>", "rstp"], "readOnly": false, "type": "boolean"}, "networking.defaultGateway": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default gateway. It can be left empty if it is auto-detected through DHCP.\nIt can be specified as a string or an option set along with a network interface.\n", "example": {"_type": "literalExpression", "text": "{\n  address = \"131.211.84.1\";\n  interface = \"enp3s0\";\n  source = \"131.211.84.2\";\n}"}, "loc": ["networking", "defaultGateway"], "readOnly": false, "type": "null or ((submodule) or string convertible to it)"}, "networking.defaultGateway.address": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The default gateway address.", "loc": ["networking", "defaultGateway", "address"], "readOnly": false, "type": "string"}, "networking.defaultGateway.interface": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default gateway interface.", "example": {"_type": "literalExpression", "text": "\"enp0s3\""}, "loc": ["networking", "defaultGateway", "interface"], "readOnly": false, "type": "null or string"}, "networking.defaultGateway.metric": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default gateway metric/preference.", "example": {"_type": "literalExpression", "text": "42"}, "loc": ["networking", "defaultGateway", "metric"], "readOnly": false, "type": "null or signed integer"}, "networking.defaultGateway.source": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default source address.", "loc": ["networking", "defaultGateway", "source"], "readOnly": false, "type": "null or string"}, "networking.defaultGateway6": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default ipv6 gateway. It can be left empty if it is auto-detected through DHCP.\nIt can be specified as a string or an option set along with a network interface.\n", "example": {"_type": "literalExpression", "text": "{\n  address = \"2001:4d0:1e04:895::1\";\n  interface = \"enp3s0\";\n  source = \"2001:4d0:1e04:895::2\";\n}"}, "loc": ["networking", "defaultGateway6"], "readOnly": false, "type": "null or ((submodule) or string convertible to it)"}, "networking.defaultGateway6.address": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The default gateway address.", "loc": ["networking", "defaultGateway6", "address"], "readOnly": false, "type": "string"}, "networking.defaultGateway6.interface": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default gateway interface.", "example": {"_type": "literalExpression", "text": "\"enp0s3\""}, "loc": ["networking", "defaultGateway6", "interface"], "readOnly": false, "type": "null or string"}, "networking.defaultGateway6.metric": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default gateway metric/preference.", "example": {"_type": "literalExpression", "text": "42"}, "loc": ["networking", "defaultGateway6", "metric"], "readOnly": false, "type": "null or signed integer"}, "networking.defaultGateway6.source": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The default source address.", "loc": ["networking", "defaultGateway6", "source"], "readOnly": false, "type": "null or string"}, "networking.defaultGatewayWindowSize": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The window size of the default gateway. It limits maximal data bursts that TCP peers\nare allowed to send to us.\n", "example": {"_type": "literalExpression", "text": "524288"}, "loc": ["networking", "defaultGatewayWindowSize"], "readOnly": false, "type": "null or signed integer"}, "networking.dhcpcd.IPv6rs": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Force enable or disable solicitation and receipt of IPv6 Router Advertisements.\nThis is required, for example, when using a static unique local IPv6 address (ULA)\nand global IPv6 address auto-configuration with SLAAC.\n", "loc": ["networking", "dhcpcd", "IPv6rs"], "readOnly": false, "type": "null or boolean"}, "networking.dhcpcd.allowInterfaces": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable the DHCP client for any interface whose name matches\nany of the shell glob patterns in this list. Any interface not\nexplicitly matched by this pattern will be denied. This pattern only\napplies when non-null.\n", "loc": ["networking", "dhcpcd", "allowInterfaces"], "readOnly": false, "type": "null or (list of string)"}, "networking.dhcpcd.allowSetuid": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to relax the security sandbox to allow running setuid\nbinaries (e.g. `sudo`) in the dhcpcd hooks.\n", "loc": ["networking", "dhcpcd", "allowSetuid"], "readOnly": false, "type": "boolean"}, "networking.dhcpcd.denyInterfaces": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Disable the DHCP client for any interface whose name matches\nany of the shell glob patterns in this list. The purpose of\nthis option is to blacklist virtual interfaces such as those\ncreated by Xen, libvirt, LXC, etc.\n", "loc": ["networking", "dhcpcd", "denyInterfaces"], "readOnly": false, "type": "list of string"}, "networking.dhcpcd.enable": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable dhcpcd for device configuration. This is mainly to\nexplicitly disable dhcpcd (for example when using networkd).\n", "loc": ["networking", "dhcpcd", "enable"], "readOnly": false, "type": "boolean"}, "networking.dhcpcd.extraConfig": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Literal string to append to the config file generated for dhcpcd.\n", "loc": ["networking", "dhcpcd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.dhcpcd.persistent": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to leave interfaces configured on dhcpcd daemon\nshutdown. Set to true if you have your root or store mounted\nover the network or this machine accepts SSH connections\nthrough DHCP interfaces and clients should be notified when\nit shuts down.\n", "loc": ["networking", "dhcpcd", "persistent"], "readOnly": false, "type": "boolean"}, "networking.dhcpcd.runHook": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell code that will be run after all other hooks. See\n`man dhcpcd-run-hooks` for details on what is possible.\n\n::: {.note}\nTo use sudo or similar tools in your script you may have to set:\n\n    networking.dhcpcd.allowSetuid = true;\n\nIn addition, as most of the filesystem is inaccessible to dhcpcd\nby default, you may want to define some exceptions, e.g.\n\n    systemd.services.dhcpcd.serviceConfig.ReadOnlyPaths = [\n      \"/run/user/1000/bus\"  # to send desktop notifications\n    ];\n:::\n", "example": {"_type": "literalExpression", "text": "\"if [[ $reason =~ BOUND ]]; then echo $interface: Routers are $new_routers - were $old_routers; fi\""}, "loc": ["networking", "dhcpcd", "runHook"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.dhcpcd.setHostname": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to set the machine hostname based on the information\nreceived from the DHCP server.\n\n::: {.note}\nThe hostname will be changed only if the current one is\nthe empty string, `localhost` or `nixos`.\n\nPolkit ([](#opt-security.polkit.enable)) is also required.\n:::\n", "loc": ["networking", "dhcpcd", "setHostname"], "readOnly": false, "type": "boolean"}, "networking.dhcpcd.wait": {"declarations": ["nixos/modules/services/networking/dhcpcd.nix"], "default": {"_type": "literalExpression", "text": "\"any\""}, "description": "This option specifies when the dhcpcd service will fork to background.\nIf set to \"background\", dhcpcd will fork to background immediately.\nIf set to \"ipv4\" or \"ipv6\", dhcpcd will wait for the corresponding IP\naddress to be assigned. If set to \"any\", dhcpcd will wait for any type\n(IPv4 or IPv6) to be assigned. If set to \"both\", dhcpcd will wait for\nboth an IPv4 and an IPv6 address before forking.\nThe option \"if-carrier-up\" is equivalent to \"any\" if either ethernet\nis plugged or WiFi is powered, and to \"background\" otherwise.\n", "loc": ["networking", "dhcpcd", "wait"], "readOnly": false, "type": "one of \"background\", \"any\", \"ipv4\", \"ipv6\", \"both\", \"if-carrier-up\""}, "networking.domain": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The system domain name. Used to populate the {option}`fqdn` value.\n\n::: {.warning}\nThe domain name is not configured for DNS resolution purposes, see {option}`search` instead.\n:::\n", "example": {"_type": "literalExpression", "text": "\"home.arpa\""}, "loc": ["networking", "domain"], "readOnly": false, "type": "null or string"}, "networking.enableB43Firmware": {"declarations": ["nixos/modules/hardware/network/b43.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Turn on this option if you want firmware for the NICs supported by the b43 module.\n", "loc": ["networking", "enableB43Firmware"], "readOnly": false, "type": "boolean"}, "networking.enableIPv6": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable support for IPv6.\n", "loc": ["networking", "enableIPv6"], "readOnly": false, "type": "boolean"}, "networking.enableIntel2200BGFirmware": {"declarations": ["nixos/modules/hardware/network/intel-2200bg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Turn on this option if you want firmware for the Intel\nPRO/Wireless 2200BG to be loaded automatically.  This is\nrequired if you want to use this device.\n", "loc": ["networking", "enableIntel2200BGFirmware"], "readOnly": false, "type": "boolean"}, "networking.extraHosts": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional verbatim entries to be appended to {file}`/etc/hosts`.\nFor adding hosts from derivation results, use {option}`networking.hostFiles` instead.\n", "example": {"_type": "literalExpression", "text": "\"192.168.0.1 lanlocalhost\""}, "loc": ["networking", "extraHosts"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.firewall.allowPing": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to respond to incoming ICMPv4 echo requests\n(\"pings\").  ICMPv6 pings are always allowed because the\nlarger address space of IPv6 makes network scanning much\nless effective.\n", "loc": ["networking", "firewall", "allowPing"], "readOnly": false, "type": "boolean"}, "networking.firewall.allowedTCPPortRanges": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A range of TCP ports on which incoming connections are\naccepted.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    from = 8999;\n    to = 9003;\n  }\n]"}, "loc": ["networking", "firewall", "allowedTCPPortRanges"], "readOnly": false, "type": "list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.allowedTCPPorts": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of TCP ports on which incoming connections are\naccepted.\n", "example": {"_type": "literalExpression", "text": "[\n  22\n  80\n]"}, "loc": ["networking", "firewall", "allowedTCPPorts"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.allowedUDPPortRanges": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Range of open UDP ports.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    from = 60000;\n    to = 61000;\n  }\n]"}, "loc": ["networking", "firewall", "allowedUDPPortRanges"], "readOnly": false, "type": "list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.allowedUDPPorts": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of open UDP ports.\n", "example": {"_type": "literalExpression", "text": "[\n  53\n]"}, "loc": ["networking", "firewall", "allowedUDPPorts"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.autoLoadConntrackHelpers": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to auto-load connection-tracking helpers.\nSee the description at networking.firewall.connectionTrackingModules\n\n(needs kernel 3.5+)\n", "loc": ["networking", "firewall", "autoLoadConntrackHelpers"], "readOnly": false, "type": "boolean"}, "networking.firewall.backend": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "if config.services.firewalld.enable then\n  \"firewalld\"\nelse if config.networking.nftables.enable then\n  \"nftables\"\nelse\n  \"iptables\"\n"}, "description": "Underlying implementation for the firewall service.\n", "loc": ["networking", "firewall", "backend"], "readOnly": false, "type": "one of \"iptables\", \"nftables\", \"firewalld\""}, "networking.firewall.checkReversePath": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalMD", "text": "`true` except if the iptables based firewall is in use and the kernel lacks rpfilter support"}, "description": "Performs a reverse path filter test on a packet.  If a reply\nto the packet would not be sent via the same interface that\nthe packet arrived on, it is refused.\n\nIf using asymmetric routing or other complicated routing, set\nthis option to loose mode or disable it and setup your own\ncounter-measures.\n\nThis option can be either true (or \"strict\"), \"loose\" (only\ndrop the packet if the source address is not reachable via any\ninterface) or false.\n", "example": {"_type": "literalExpression", "text": "\"loose\""}, "loc": ["networking", "firewall", "checkReversePath"], "readOnly": false, "type": "boolean or one of \"strict\", \"loose\""}, "networking.firewall.connectionTrackingModules": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of connection-tracking helpers that are auto-loaded.\nThe complete list of possible values is given in the example.\n\nAs helpers can pose as a security risk, it is advised to\nset this to an empty list and disable the setting\nnetworking.firewall.autoLoadConntrackHelpers unless you\nknow what you are doing. Connection tracking is disabled\nby default.\n\nLoading of helpers is recommended to be done through the\nCT target.  More info:\n<https://home.regit.org/netfilter-en/secure-use-of-helpers/>\n", "example": {"_type": "literalExpression", "text": "[\n  \"ftp\"\n  \"irc\"\n  \"sane\"\n  \"sip\"\n  \"tftp\"\n  \"amanda\"\n  \"h323\"\n  \"netbios_sn\"\n  \"pptp\"\n  \"snmp\"\n]"}, "loc": ["networking", "firewall", "connectionTrackingModules"], "readOnly": false, "type": "list of string"}, "networking.firewall.enable": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the firewall.  This is a simple stateful\nfirewall that blocks connection attempts to unauthorised TCP\nor UDP ports on this machine.\n", "loc": ["networking", "firewall", "enable"], "readOnly": false, "type": "boolean"}, "networking.firewall.extraCommands": {"declarations": ["nixos/modules/services/networking/firewall-iptables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional shell commands executed as part of the firewall\ninitialisation script.  These are executed just before the\nfinal \"reject\" firewall rule is added, so they can be used\nto allow packets that would otherwise be refused.\n\nThis option only works with the iptables based firewall.\n", "example": {"_type": "literalExpression", "text": "\"iptables -A INPUT -p icmp -j ACCEPT\""}, "loc": ["networking", "firewall", "extraCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.firewall.extraForwardRules": {"declarations": ["nixos/modules/services/networking/firewall-nftables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional nftables rules to be appended to the forward-allow\nchain.\n\nThis option only works with the nftables based firewall.\n", "example": {"_type": "literalExpression", "text": "\"iifname wg0 accept\""}, "loc": ["networking", "firewall", "extraForwardRules"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.firewall.extraInputRules": {"declarations": ["nixos/modules/services/networking/firewall-nftables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional nftables rules to be appended to the input-allow\nchain.\n\nThis option only works with the nftables based firewall.\n", "example": {"_type": "literalExpression", "text": "\"ip6 saddr { fc00::/7, fe80::/10 } tcp dport 24800 accept\""}, "loc": ["networking", "firewall", "extraInputRules"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.firewall.extraPackages": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to be included in the environment of the system\nas well as the path of networking.firewall.extraCommands.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.ipset ]"}, "loc": ["networking", "firewall", "extraPackages"], "readOnly": false, "type": "list of package"}, "networking.firewall.extraReversePathFilterRules": {"declarations": ["nixos/modules/services/networking/firewall-nftables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional nftables rules to be appended to the rpfilter-allow\nchain.\n\nThis option only works with the nftables based firewall.\n", "example": {"_type": "literalExpression", "text": "\"fib daddr . mark . iif type local accept\""}, "loc": ["networking", "firewall", "extraReversePathFilterRules"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.firewall.extraStopCommands": {"declarations": ["nixos/modules/services/networking/firewall-iptables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional shell commands executed as part of the firewall\nshutdown script.  These are executed just after the removal\nof the NixOS input rule, or if the service enters a failed\nstate.\n\nThis option only works with the iptables based firewall.\n", "example": {"_type": "literalExpression", "text": "\"iptables -P INPUT ACCEPT\""}, "loc": ["networking", "firewall", "extraStopCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.firewall.filterForward": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable filtering in IP forwarding.\n\nThis option only works with the nftables based firewall.\n", "loc": ["networking", "firewall", "filterForward"], "readOnly": false, "type": "boolean"}, "networking.firewall.interfaces": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Interface-specific open ports.\n", "loc": ["networking", "firewall", "interfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.firewall.interfaces.<name>.allowedTCPPortRanges": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A range of TCP ports on which incoming connections are\naccepted.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    from = 8999;\n    to = 9003;\n  }\n]"}, "loc": ["networking", "firewall", "interfaces", "<name>", "allowedTCPPortRanges"], "readOnly": false, "type": "list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.interfaces.<name>.allowedTCPPorts": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of TCP ports on which incoming connections are\naccepted.\n", "example": {"_type": "literalExpression", "text": "[\n  22\n  80\n]"}, "loc": ["networking", "firewall", "interfaces", "<name>", "allowedTCPPorts"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.interfaces.<name>.allowedUDPPortRanges": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Range of open UDP ports.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    from = 60000;\n    to = 61000;\n  }\n]"}, "loc": ["networking", "firewall", "interfaces", "<name>", "allowedUDPPortRanges"], "readOnly": false, "type": "list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.interfaces.<name>.allowedUDPPorts": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of open UDP ports.\n", "example": {"_type": "literalExpression", "text": "[\n  53\n]"}, "loc": ["networking", "firewall", "interfaces", "<name>", "allowedUDPPorts"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.firewall.logRefusedConnections": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to log rejected or dropped incoming connections.\nNote: The logs are found in the kernel logs, i.e. dmesg\nor journalctl -k.\n", "loc": ["networking", "firewall", "logRefusedConnections"], "readOnly": false, "type": "boolean"}, "networking.firewall.logRefusedPackets": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to log all rejected or dropped incoming packets.\nThis tends to give a lot of log messages, so it's mostly\nuseful for debugging.\nNote: The logs are found in the kernel logs, i.e. dmesg\nor journalctl -k.\n", "loc": ["networking", "firewall", "logRefusedPackets"], "readOnly": false, "type": "boolean"}, "networking.firewall.logRefusedUnicastsOnly": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If {option}`networking.firewall.logRefusedPackets`\nand this option are enabled, then only log packets\nspecifically directed at this machine, i.e., not broadcasts\nor multicasts.\n", "loc": ["networking", "firewall", "logRefusedUnicastsOnly"], "readOnly": false, "type": "boolean"}, "networking.firewall.logReversePathDrops": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Logs dropped packets failing the reverse path filter test if\nthe option networking.firewall.checkReversePath is enabled.\n", "loc": ["networking", "firewall", "logReversePathDrops"], "readOnly": false, "type": "boolean"}, "networking.firewall.package": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "if config.networking.nftables.enable then \"pkgs.nftables\" else \"pkgs.iptables\""}, "description": "The package to use for running the firewall service.\n", "example": {"_type": "literalExpression", "text": "pkgs.iptables-legacy"}, "loc": ["networking", "firewall", "package"], "readOnly": false, "type": "package"}, "networking.firewall.pingLimit": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If pings are allowed, this allows setting rate limits on them.\n\nFor the iptables based firewall, it should be set like\n\"--limit 1/minute --limit-burst 5\".\n\nFor the nftables based firewall, it should be set like\n\"2/second\" or \"1/minute burst 5 packets\".\n", "example": {"_type": "literalExpression", "text": "\"--limit 1/minute --limit-burst 5\""}, "loc": ["networking", "firewall", "pingLimit"], "readOnly": false, "type": "null or strings concatenated with \" \""}, "networking.firewall.rejectPackets": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, refused packets are rejected rather than dropped\n(ignored).  This means that an ICMP \"port unreachable\" error\nmessage is sent back to the client (or a TCP RST packet in\ncase of an existing connection).  Rejecting packets makes\nport scanning somewhat easier.\n", "loc": ["networking", "firewall", "rejectPackets"], "readOnly": false, "type": "boolean"}, "networking.firewall.trustedInterfaces": {"declarations": ["nixos/modules/services/networking/firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Traffic coming in from these interfaces will be accepted\nunconditionally.  Traffic from the loopback (lo) interface\nwill always be accepted.\n", "example": {"_type": "literalExpression", "text": "[\n  \"enp0s2\"\n]"}, "loc": ["networking", "firewall", "trustedInterfaces"], "readOnly": false, "type": "list of string"}, "networking.fooOverUDP": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to configure Foo Over UDP and Generic UDP Encapsulation\nendpoints. See {manpage}`ip-fou(8)` for details.\n", "example": {"_type": "literalExpression", "text": "{\n  backup = {\n    port = 9002;\n  };\n  primary = {\n    local = {\n      address = \"192.0.2.1\";\n      dev = \"eth0\";\n    };\n    port = 9001;\n  };\n}"}, "loc": ["networking", "fooOverUDP"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.fooOverUDP.<name>.local": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Local address (and optionally device) to bind to using the given port.\n", "example": {"_type": "literalExpression", "text": "{\n  address = \"203.0.113.22\";\n}"}, "loc": ["networking", "fooOverUDP", "<name>", "local"], "readOnly": false, "type": "null or (submodule)"}, "networking.fooOverUDP.<name>.local.address": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Local address to bind to. The address must be available when the FOU\nendpoint is created, using the scripted network setup this can be achieved\neither by setting `dev` or adding dependency information to\n`systemd.services.<name>-fou-encap`; it isn't supported\nwhen using networkd.\n", "loc": ["networking", "fooOverUDP", "<name>", "local", "address"], "readOnly": false, "type": "string"}, "networking.fooOverUDP.<name>.local.dev": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Network device to bind to.\n", "example": {"_type": "literalExpression", "text": "\"eth0\""}, "loc": ["networking", "fooOverUDP", "<name>", "local", "dev"], "readOnly": false, "type": "null or string"}, "networking.fooOverUDP.<name>.port": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Local port of the encapsulation UDP socket.\n", "loc": ["networking", "fooOverUDP", "<name>", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.fooOverUDP.<name>.protocol": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Protocol number of the encapsulated packets. Specifying `null`\n(the default) creates a GUE endpoint, specifying a protocol number will create\na FOU endpoint.\n", "loc": ["networking", "fooOverUDP", "<name>", "protocol"], "readOnly": false, "type": "null or integer between 1 and 255 (both inclusive)"}, "networking.fqdn": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"${networking.hostName}.${networking.domain}\""}, "description": "The fully qualified domain name (FQDN) of this host. By default, it is\nthe result of combining `networking.hostName` and `networking.domain.`\n\nUsing this option will result in an evaluation error if the hostname is empty or\nno domain is specified.\n\nModules that accept a mere `networking.hostName` but prefer a fully qualified\ndomain name may use `networking.fqdnOrHostName` instead.\n", "loc": ["networking", "fqdn"], "readOnly": false, "type": "string"}, "networking.fqdnOrHostName": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "if config.networking.domain != null || config.networking.fqdn is set then config.networking.fqdn else config.networking.hostName\n"}, "description": "Either the fully qualified domain name (FQDN), or just the host name if\nit does not exist.\n\nThis is a convenience option for modules to read instead of `fqdn` when\na mere `hostName` is also an acceptable value; this option does not\nthrow an error when `domain` or `fqdn` is unset.\n", "loc": ["networking", "fqdnOrHostName"], "readOnly": true, "type": "string"}, "networking.getaddrinfo.enable": {"declarations": ["nixos/modules/config/getaddrinfo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.stdenv.hostPlatform.libc == \"glibc\"\n"}, "description": "Enables custom address sorting configuration for {manpage}`getaddrinfo(3)` according to RFC 3484.\n\nThis option generates a {file}`/etc/gai.conf` file to override the default address sorting tables,\nas described in {manpage}`gai.conf(5)`.\n\nThis setting is only applicable when using the GNU C Library (glibc).\nIt has no effect with other libc implementations.\n", "loc": ["networking", "getaddrinfo", "enable"], "readOnly": false, "type": "boolean"}, "networking.getaddrinfo.label": {"declarations": ["nixos/modules/config/getaddrinfo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds entries to the label table, as described in section 2.1 of RFC 3484.\n\nIf any label entries are provided, the glibc\u2019s default label table is ignored.\n", "example": {"_type": "literalExpression", "text": "{\n  \"2001:0::/32\" = 7;\n  \"2002::/16\" = 2;\n  \"::/0\" = 1;\n  \"::/96\" = 3;\n  \"::ffff:0:0/96\" = 4;\n  \"fc00::/7\" = 6;\n  \"fec0::/10\" = 5;\n}"}, "loc": ["networking", "getaddrinfo", "label"], "readOnly": false, "type": "null or (attribute set of signed integer)"}, "networking.getaddrinfo.precedence": {"declarations": ["nixos/modules/config/getaddrinfo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Similar to {option}`networking.getaddrinfo.label`, but this option\ndefines entries for the precedence table instead.\n\nSee sections 2.1 and 10.3 of RFC 3484 for details.\n\nProviding any value will disable the glibc's default precedence table.\n", "example": {"_type": "literalExpression", "text": "{\n  \"2002::/16\" = 30;\n  \"::/0\" = 40;\n  \"::/96\" = 20;\n  \"::1/128\" = 50;\n  \"::ffff:0:0/96\" = 10;\n}"}, "loc": ["networking", "getaddrinfo", "precedence"], "readOnly": false, "type": "null or (attribute set of signed integer)"}, "networking.getaddrinfo.reload": {"declarations": ["nixos/modules/config/getaddrinfo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Determines whether a process should detect changes to the configuration file since it was last read.\n\nIf enabled, the file is re-read automatically. This may cause issues in multithreaded applications\nand is generally discouraged.\n", "loc": ["networking", "getaddrinfo", "reload"], "readOnly": false, "type": "boolean"}, "networking.getaddrinfo.scopev4": {"declarations": ["nixos/modules/config/getaddrinfo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds custom rules to the IPv4 scope table.\n\nBy default, the scope IDs described in section 3.2 of RFC 6724 are used.\n\nModifying these values is rarely necessary.\n", "example": {"_type": "literalExpression", "text": "{\n  \"::ffff:0.0.0.0/96\" = 14;\n  \"::ffff:127.0.0.0/104\" = 2;\n  \"::ffff:169.254.0.0/112\" = 2;\n}"}, "loc": ["networking", "getaddrinfo", "scopev4"], "readOnly": false, "type": "null or (attribute set of signed integer)"}, "networking.greTunnels": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define Generic Routing Encapsulation (GRE) tunnels.\n", "example": {"_type": "literalExpression", "text": "{\n  greBridge = {\n    remote = \"10.0.0.1\";\n    local = \"10.0.0.22\";\n    dev = \"enp4s0f0\";\n    type = \"tap\";\n    ttl = 255;\n  };\n  gre6Tunnel = {\n    remote = \"fd7a:5634::1\";\n    local = \"fd7a:5634::2\";\n    dev = \"enp4s0f0\";\n    type = \"tun6\";\n    ttl = 255;\n  };\n}\n"}, "loc": ["networking", "greTunnels"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.greTunnels.<name>.dev": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The underlying network device on which the tunnel resides.\n", "example": {"_type": "literalExpression", "text": "\"enp4s0f0\""}, "loc": ["networking", "greTunnels", "<name>", "dev"], "readOnly": false, "type": "null or string"}, "networking.greTunnels.<name>.local": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The address of the local endpoint which the remote\nside should send packets to.\n", "example": {"_type": "literalExpression", "text": "\"10.0.0.22\""}, "loc": ["networking", "greTunnels", "<name>", "local"], "readOnly": false, "type": "null or string"}, "networking.greTunnels.<name>.remote": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The address of the remote endpoint to forward traffic over.\n", "example": {"_type": "literalExpression", "text": "\"10.0.0.1\""}, "loc": ["networking", "greTunnels", "<name>", "remote"], "readOnly": false, "type": "null or string"}, "networking.greTunnels.<name>.ttl": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The time-to-live/hoplimit of the connection to the remote tunnel endpoint.\n", "example": {"_type": "literalExpression", "text": "255"}, "loc": ["networking", "greTunnels", "<name>", "ttl"], "readOnly": false, "type": "null or signed integer"}, "networking.greTunnels.<name>.type": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"tap\""}, "description": "Whether the tunnel routes layer 2 (tap) or layer 3 (tun) traffic.\n", "example": {"_type": "literalExpression", "text": "\"tap\""}, "loc": ["networking", "greTunnels", "<name>", "type"], "readOnly": false, "type": "one of \"tun\", \"tap\", \"tun6\", \"tap6\""}, "networking.hostFiles": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalMD", "text": "Hosts from {option}`networking.hosts` and {option}`networking.extraHosts`"}, "description": "Files that should be concatenated together to form {file}`/etc/hosts`.\n", "example": {"_type": "literalExpression", "text": "[ \"${pkgs.my-blocklist-package}/share/my-blocklist/hosts\" ]"}, "loc": ["networking", "hostFiles"], "readOnly": false, "type": "list of absolute path"}, "networking.hostId": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The 32-bit host ID of the machine, formatted as 8 hexadecimal characters.\n\nYou should try to make this ID unique among your machines. You can\ngenerate a random 32-bit ID using the following commands:\n\n`head -c 8 /etc/machine-id`\n\n(this derives it from the machine-id that systemd generates) or\n\n`head -c4 /dev/urandom | od -A none -t x4`\n\nThe primary use case is to ensure when using ZFS that a pool isn't imported\naccidentally on a wrong machine.\n", "example": {"_type": "literalExpression", "text": "\"4e98920d\""}, "loc": ["networking", "hostId"], "readOnly": false, "type": "null or string"}, "networking.hostName": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "config.system.nixos.distroId"}, "description": "The name of the machine. Leave it empty if you want to obtain it from a\nDHCP server (if using DHCP). The hostname must be a valid DNS label (see\nRFC 1035 section 2.3.1: \"Preferred name syntax\", RFC 1123 section 2.1:\n\"Host Names and Numbers\") and as such must not contain the domain part.\nThis means that the hostname must start with a letter or digit,\nend with a letter or digit, and have as interior characters only\nletters, digits, and hyphen. The maximum length is 63 characters.\nAdditionally it is recommended to only use lower-case characters.\nIf (e.g. for legacy reasons) a FQDN is required as the Linux kernel\nnetwork node hostname (uname --nodename) the option\nboot.kernel.sysctl.\"kernel.hostname\" can be used as a workaround (but\nthe 64 character limit still applies).\n\nWARNING: Do not use underscores (_) or you may run into unexpected issues.\n", "loc": ["networking", "hostName"], "readOnly": false, "type": "string matching the pattern ^$|^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$"}, "networking.hosts": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Locally defined maps of hostnames to IP addresses.\n", "example": {"_type": "literalExpression", "text": "{\n  \"127.0.0.1\" = [ \"foo.bar.baz\" ];\n  \"192.168.0.2\" = [ \"fileserver.local\" \"nameserver.local\" ];\n};\n"}, "loc": ["networking", "hosts"], "readOnly": false, "type": "attribute set of list of string"}, "networking.ifstate.enable": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable networking using IfState.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "ifstate", "enable"], "readOnly": false, "type": "boolean"}, "networking.ifstate.package": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ifstate"}, "description": "The ifstate package to use.", "loc": ["networking", "ifstate", "package"], "readOnly": false, "type": "package"}, "networking.ifstate.settings": {"declarations": ["nixos/modules/services/networking/ifstate.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Content of IfState's configuration file. See <https://ifstate.net/2.2/schema/> for details.", "loc": ["networking", "ifstate", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "networking.interfaces": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The configuration for each network interface.\n\nPlease note that {option}`systemd.network.netdevs` has more features\nand is better maintained. When building new things, it is advised to\nuse that instead.\n", "example": {"_type": "literalExpression", "text": "{\n  eth0 = {\n    ipv4 = {\n      addresses = [\n        {\n          address = \"131.211.84.78\";\n          prefixLength = 25;\n        }\n      ];\n    };\n  };\n}"}, "loc": ["networking", "interfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.interfaces.<name>.ipv4.addresses": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of IPv4 addresses that will be statically assigned to the interface.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    address = \"10.0.0.1\";\n    prefixLength = 16;\n  }\n  {\n    address = \"192.168.1.1\";\n    prefixLength = 24;\n  }\n]"}, "loc": ["networking", "interfaces", "<name>", "ipv4", "addresses"], "readOnly": false, "type": "list of (submodule)"}, "networking.interfaces.<name>.ipv4.addresses.*.address": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "IPv4 address of the interface. Leave empty to configure the\ninterface using DHCP.\n", "loc": ["networking", "interfaces", "<name>", "ipv4", "addresses", "*", "address"], "readOnly": false, "type": "string"}, "networking.interfaces.<name>.ipv4.addresses.*.prefixLength": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Subnet mask of the interface, specified as the number of\nbits in the prefix (`24`).\n", "loc": ["networking", "interfaces", "<name>", "ipv4", "addresses", "*", "prefixLength"], "readOnly": false, "type": "integer between 0 and 32 (both inclusive)"}, "networking.interfaces.<name>.ipv4.routes": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra IPv4 static routes that will be assigned to the interface.\n\n::: {.warning}\nIf the route type is the default `unicast`, then the scope\nis set differently depending on the value of {option}`networking.useNetworkd`:\nthe script-based backend sets it to `link`, while networkd sets\nit to `global`.\n:::\n\nIf you want consistency between the two implementations,\nset the scope of the route manually with\n`networking.interfaces.eth0.ipv4.routes = [{ options.scope = \"global\"; }]`\nfor example.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    address = \"10.0.0.0\";\n    prefixLength = 16;\n  }\n  {\n    address = \"192.168.2.0\";\n    prefixLength = 24;\n    via = \"192.168.1.1\";\n  }\n]"}, "loc": ["networking", "interfaces", "<name>", "ipv4", "routes"], "readOnly": false, "type": "list of (submodule)"}, "networking.interfaces.<name>.ipv4.routes.*.address": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "IPv4 address of the network.", "loc": ["networking", "interfaces", "<name>", "ipv4", "routes", "*", "address"], "readOnly": false, "type": "string"}, "networking.interfaces.<name>.ipv4.routes.*.options": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Other route options. See the symbol `OPTIONS`\nin the {manpage}`ip-route(8)` manual page for the details.\nYou may also specify `metric`,\n`src`, `protocol`,\n`scope`, `from`\nand `table`, which are technically\nnot route options, in the sense used in the manual.\n", "example": {"_type": "literalExpression", "text": "{\n  mtu = \"1492\";\n  window = \"524288\";\n}"}, "loc": ["networking", "interfaces", "<name>", "ipv4", "routes", "*", "options"], "readOnly": false, "type": "attribute set of string"}, "networking.interfaces.<name>.ipv4.routes.*.prefixLength": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Subnet mask of the network, specified as the number of\nbits in the prefix (`24`).\n", "loc": ["networking", "interfaces", "<name>", "ipv4", "routes", "*", "prefixLength"], "readOnly": false, "type": "integer between 0 and 32 (both inclusive)"}, "networking.interfaces.<name>.ipv4.routes.*.type": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Type of the route.  See the `Route types` section\nin the {manpage}`ip-route(8)` manual page for the details.\n\nNote that `prohibit`, `blackhole`,\n`unreachable`, and `throw` cannot\nbe configured per device, so they are not available here. Similarly,\n`nat` hasn't been supported since kernel 2.6.\n", "loc": ["networking", "interfaces", "<name>", "ipv4", "routes", "*", "type"], "readOnly": false, "type": "null or one of \"unicast\", \"local\", \"broadcast\", \"multicast\""}, "networking.interfaces.<name>.ipv4.routes.*.via": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IPv4 address of the next hop.", "loc": ["networking", "interfaces", "<name>", "ipv4", "routes", "*", "via"], "readOnly": false, "type": "null or string"}, "networking.interfaces.<name>.ipv6.addresses": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of IPv6 addresses that will be statically assigned to the interface.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    address = \"fdfd:b3f0:482::1\";\n    prefixLength = 48;\n  }\n  {\n    address = \"2001:1470:fffd:2098::e006\";\n    prefixLength = 64;\n  }\n]"}, "loc": ["networking", "interfaces", "<name>", "ipv6", "addresses"], "readOnly": false, "type": "list of (submodule)"}, "networking.interfaces.<name>.ipv6.addresses.*.address": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "IPv6 address of the interface. Leave empty to configure the\ninterface using DHCP.\n", "loc": ["networking", "interfaces", "<name>", "ipv6", "addresses", "*", "address"], "readOnly": false, "type": "string"}, "networking.interfaces.<name>.ipv6.addresses.*.prefixLength": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Subnet mask of the interface, specified as the number of\nbits in the prefix (`64`).\n", "loc": ["networking", "interfaces", "<name>", "ipv6", "addresses", "*", "prefixLength"], "readOnly": false, "type": "integer between 0 and 128 (both inclusive)"}, "networking.interfaces.<name>.ipv6.routes": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra IPv6 static routes that will be assigned to the interface.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    address = \"fdfd:b3f0::\";\n    prefixLength = 48;\n  }\n  {\n    address = \"2001:1470:fffd:2098::\";\n    prefixLength = 64;\n    via = \"fdfd:b3f0::1\";\n  }\n]"}, "loc": ["networking", "interfaces", "<name>", "ipv6", "routes"], "readOnly": false, "type": "list of (submodule)"}, "networking.interfaces.<name>.ipv6.routes.*.address": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "IPv6 address of the network.", "loc": ["networking", "interfaces", "<name>", "ipv6", "routes", "*", "address"], "readOnly": false, "type": "string"}, "networking.interfaces.<name>.ipv6.routes.*.options": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Other route options. See the symbol `OPTIONS`\nin the {manpage}`ip-route(8)` manual page for the details.\nYou may also specify `metric`,\n`src`, `protocol`,\n`scope`, `from`\nand `table`, which are technically\nnot route options, in the sense used in the manual.\n", "example": {"_type": "literalExpression", "text": "{\n  mtu = \"1492\";\n  window = \"524288\";\n}"}, "loc": ["networking", "interfaces", "<name>", "ipv6", "routes", "*", "options"], "readOnly": false, "type": "attribute set of string"}, "networking.interfaces.<name>.ipv6.routes.*.prefixLength": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Subnet mask of the network, specified as the number of\nbits in the prefix (`64`).\n", "loc": ["networking", "interfaces", "<name>", "ipv6", "routes", "*", "prefixLength"], "readOnly": false, "type": "integer between 0 and 128 (both inclusive)"}, "networking.interfaces.<name>.ipv6.routes.*.type": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Type of the route.  See the `Route types` section\nin the {manpage}`ip-route(8)` manual page for the details.\n\nNote that `prohibit`, `blackhole`,\n`unreachable`, and `throw` cannot\nbe configured per device, so they are not available here. Similarly,\n`nat` hasn't been supported since kernel 2.6.\n", "loc": ["networking", "interfaces", "<name>", "ipv6", "routes", "*", "type"], "readOnly": false, "type": "null or one of \"unicast\", \"local\", \"broadcast\", \"multicast\""}, "networking.interfaces.<name>.ipv6.routes.*.via": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IPv6 address of the next hop.", "loc": ["networking", "interfaces", "<name>", "ipv6", "routes", "*", "via"], "readOnly": false, "type": "null or string"}, "networking.interfaces.<name>.macAddress": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MAC address of the interface. Leave empty to use the default.\n", "example": {"_type": "literalExpression", "text": "\"00:11:22:33:44:55\""}, "loc": ["networking", "interfaces", "<name>", "macAddress"], "readOnly": false, "type": "null or string"}, "networking.interfaces.<name>.mtu": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MTU size for packets leaving the interface. Leave empty to use the default.\n", "example": {"_type": "literalExpression", "text": "9000"}, "loc": ["networking", "interfaces", "<name>", "mtu"], "readOnly": false, "type": "null or signed integer"}, "networking.interfaces.<name>.name": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Name of the interface.", "example": {"_type": "literalExpression", "text": "\"eth0\""}, "loc": ["networking", "interfaces", "<name>", "name"], "readOnly": false, "type": "string"}, "networking.interfaces.<name>.proxyARP": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Turn on proxy_arp for this device.\nThis is mainly useful for creating pseudo-bridges between a real\ninterface and a virtual network such as VPN or a virtual machine for\ninterfaces that don't support real bridging (most wlan interfaces).\nAs ARP proxying acts slightly above the link-layer, below-ip traffic\nisn't bridged, so things like DHCP won't work. The advantage above\nusing NAT lies in the fact that no IP addresses are shared, so all\nhosts are reachable/routeable.\n\nWARNING: turns on ip-routing, so if you have multiple interfaces, you\nshould think of the consequence and setup firewall rules to limit this.\n", "loc": ["networking", "interfaces", "<name>", "proxyARP"], "readOnly": false, "type": "boolean"}, "networking.interfaces.<name>.tempAddress": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "config.networking.tempAddresses"}, "description": "When IPv6 is enabled with SLAAC, this option controls the use of\ntemporary address (aka privacy extensions) on this\ninterface. This is used to reduce tracking.\n\nSee also the global option\n[](#opt-networking.tempAddresses), which\napplies to all interfaces where this is not set.\n\nPossible values are:\n- `\"default\"` to generate IPv6 temporary addresses and use these as source addresses in routing;\n- `\"disabled\"` to completely disable IPv6 temporary addresses;\n- `\"enabled\"` to generate IPv6 temporary addresses but still use EUI-64 addresses as source addresses;\n", "loc": ["networking", "interfaces", "<name>", "tempAddress"], "readOnly": false, "type": "one of \"default\", \"disabled\", \"enabled\""}, "networking.interfaces.<name>.useDHCP": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Whether this interface should be configured with DHCP. Overrides the\ndefault set by {option}`networking.useDHCP`. If `null` (the default),\nDHCP is enabled if the interface has no IPv4 addresses configured\nwith {option}`networking.interfaces.<name>.ipv4.addresses`, and\ndisabled otherwise.\n", "loc": ["networking", "interfaces", "<name>", "useDHCP"], "readOnly": false, "type": "null or boolean"}, "networking.interfaces.<name>.virtual": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether this interface is virtual and should be created by tunctl.\nThis is mainly useful for creating bridges between a host and a virtual\nnetwork such as VPN or a virtual machine.\n", "loc": ["networking", "interfaces", "<name>", "virtual"], "readOnly": false, "type": "boolean"}, "networking.interfaces.<name>.virtualOwner": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "In case of a virtual device, the user who owns it.\n`null` will not set owner, allowing access to any user.\n", "loc": ["networking", "interfaces", "<name>", "virtualOwner"], "readOnly": false, "type": "null or string"}, "networking.interfaces.<name>.virtualType": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "if hasPrefix \"tun\" name then \"tun\" else \"tap\""}, "description": "The type of interface to create.\nThe default is TUN for an interface name starting\nwith \"tun\", otherwise TAP.\n", "loc": ["networking", "interfaces", "<name>", "virtualType"], "readOnly": false, "type": "one of \"tun\", \"tap\""}, "networking.interfaces.<name>.wakeOnLan.enable": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable wol on this interface.", "loc": ["networking", "interfaces", "<name>", "wakeOnLan", "enable"], "readOnly": false, "type": "boolean"}, "networking.interfaces.<name>.wakeOnLan.policy": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"magic\"\n]"}, "description": "The [Wake-on-LAN policy](https://www.freedesktop.org/software/systemd/man/systemd.link.html#WakeOnLan=)\nto set for the device.\n\nThe options are\n- `phy`: Wake on PHY activity\n- `unicast`: Wake on unicast messages\n- `multicast`: Wake on multicast messages\n- `broadcast`: Wake on broadcast messages\n- `arp`: Wake on ARP\n- `magic`: Wake on receipt of a magic packet\n", "loc": ["networking", "interfaces", "<name>", "wakeOnLan", "policy"], "readOnly": false, "type": "list of (one of \"phy\", \"unicast\", \"multicast\", \"broadcast\", \"arp\", \"magic\", \"secureon\")"}, "networking.ipips": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define interfaces encapsulating IP\npackets within IP packets; which should be automatically created.\n\nFor example, this allows you to create 4in6 (RFC 2473)\nor IP within IP (RFC 2003) tunnels.\n", "example": {"_type": "literalExpression", "text": "{\n  wan4in6 = {\n    remote = \"2001:db8::1\";\n    local = \"2001:db8::3\";\n    dev = \"wan6\";\n    encapsulation.type = \"4in6\";\n    encapsulation.limit = 0;\n  };\n}\n"}, "loc": ["networking", "ipips"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.ipips.<name>.dev": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The underlying network device on which the tunnel resides.\n", "example": {"_type": "literalExpression", "text": "\"wan6\""}, "loc": ["networking", "ipips", "<name>", "dev"], "readOnly": false, "type": "null or string"}, "networking.ipips.<name>.encapsulation.limit": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "For an IPv6-based tunnel, the maximum number of nested\nencapsulation to allow. 0 means no nesting, \"none\" unlimited.\n", "example": {"_type": "literalExpression", "text": "\"none\""}, "loc": ["networking", "ipips", "<name>", "encapsulation", "limit"], "readOnly": false, "type": "value \"none\" (singular enum) or (unsigned integer, meaning >=0)"}, "networking.ipips.<name>.encapsulation.type": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"ipip\""}, "description": "Select the encapsulation type:\n\n- `ipip` to create an IPv4 within IPv4 tunnel (RFC 2003).\n\n- `4in6` to create a 4in6 tunnel (RFC 2473);\n\n- `ip6ip6` to create an IPv6 within IPv6 tunnel (RFC 2473);\n\n::: {.note}\nFor encapsulating IPv6 within IPv4 packets, see\nthe ad-hoc {option}`networking.sits` option.\n:::\n", "loc": ["networking", "ipips", "<name>", "encapsulation", "type"], "readOnly": false, "type": "one of \"ipip\", \"4in6\", \"ip6ip6\""}, "networking.ipips.<name>.local": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The address of the local endpoint which the remote\nside should send packets to.\n", "example": {"_type": "literalExpression", "text": "\"2001:db8::3\""}, "loc": ["networking", "ipips", "<name>", "local"], "readOnly": false, "type": "string"}, "networking.ipips.<name>.remote": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The address of the remote endpoint to forward traffic over.\n", "example": {"_type": "literalExpression", "text": "\"2001:db8::1\""}, "loc": ["networking", "ipips", "<name>", "remote"], "readOnly": false, "type": "string"}, "networking.ipips.<name>.ttl": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The time-to-live of the connection to the remote tunnel endpoint.\n", "example": {"_type": "literalExpression", "text": "255"}, "loc": ["networking", "ipips", "<name>", "ttl"], "readOnly": false, "type": "null or signed integer"}, "networking.iproute2.enable": {"declarations": ["nixos/modules/config/iproute2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable copying IP route configuration files.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "iproute2", "enable"], "readOnly": false, "type": "boolean"}, "networking.iproute2.rttablesExtraConfig": {"declarations": ["nixos/modules/config/iproute2.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim lines to add to /etc/iproute2/rt_tables\n", "loc": ["networking", "iproute2", "rttablesExtraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.ipvlans": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define ipvlan interfaces which should\nbe automatically created.\n", "example": {"_type": "literalExpression", "text": "{\n  wan = {\n    interface = \"enp2s0\";\n    mode = \"l2\";\n    flags = \"vepa\";\n  };\n}\n"}, "loc": ["networking", "ipvlans"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.ipvlans.<name>.flags": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The flags of the ipvlan device.", "example": {"_type": "literalExpression", "text": "\"vepa\""}, "loc": ["networking", "ipvlans", "<name>", "flags"], "readOnly": false, "type": "null or string"}, "networking.ipvlans.<name>.interface": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The interface the ipvlan will transmit packets through.", "example": {"_type": "literalExpression", "text": "\"enp4s0\""}, "loc": ["networking", "ipvlans", "<name>", "interface"], "readOnly": false, "type": "string"}, "networking.ipvlans.<name>.mode": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"l2\""}, "description": "The mode of the interface.", "loc": ["networking", "ipvlans", "<name>", "mode"], "readOnly": false, "type": "one of \"l2\", \"l3\", \"l3s\""}, "networking.jool.enable": {"declarations": ["nixos/modules/services/networking/jool.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jool, an Open Source implementation of IPv4/IPv6\ntranslation on Linux.\n\nJool can perform stateless IP/ICMP translation (SIIT) or stateful\nNAT64, analogous to the IPv4 NAPT. Refer to the upstream\n[documentation](https://nicmx.github.io/Jool/en/intro-xlat.html) for\nthe supported modes of translation and how to configure them.\n\nEnabling this option will install the Jool kernel module and the\ncommand line tools for controlling it.\n", "loc": ["networking", "jool", "enable"], "readOnly": false, "relatedPackages": "- [`pkgs.linuxPackages.jool`](\n    https://search.nixos.org/packages?show=linuxPackages.jool&sort=relevance&query=linuxPackages.jool\n  )\n- [`pkgs.jool-cli`](\n    https://search.nixos.org/packages?show=jool-cli&sort=relevance&query=jool-cli\n  )\n", "type": "boolean"}, "networking.jool.nat64": {"declarations": ["nixos/modules/services/networking/jool.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definitions of NAT64 instances of Jool.\nSee the\n[documentation](https://nicmx.github.io/Jool/en/config-atomic.html) for\nthe available options. Also check out the\n[tutorial](https://nicmx.github.io/Jool/en/run-nat64.html) for an\nintroduction to NAT64 and how to troubleshoot the setup.\n\nThe attribute name defines the name of the instance, with the main one\nbeing `default`: this can be accessed from the command line without\nspecifying the name with `-i`.\n\n::: {.note}\nInstances created imperatively from the command line will not interfere\nwith the NixOS instances, provided the respective `pool4` addresses and\nport ranges are not overlapping.\n:::\n\n::: {.warning}\nChanges to an instance performed via `jool -i <name>` are applied\ncorrectly but will be lost after restarting the respective\n`jool-nat64-<name>.service`.\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  default = {\n    # custom NAT64 prefix\n    global.pool6 = \"2001:db8:64::/96\";\n\n    # Port forwarding\n    bib = [\n      { # SSH 192.0.2.16 \u2192 2001:db8:a::1\n        \"protocol\"     = \"TCP\";\n        \"ipv4 address\" = \"192.0.2.16#22\";\n        \"ipv6 address\" = \"2001:db8:a::1#22\";\n      }\n      { # DNS (TCP) 192.0.2.16 \u2192 2001:db8:a::2\n        \"protocol\"     = \"TCP\";\n        \"ipv4 address\" = \"192.0.2.16#53\";\n        \"ipv6 address\" = \"2001:db8:a::2#53\";\n      }\n      { # DNS (UDP) 192.0.2.16 \u2192 2001:db8:a::2\n        \"protocol\" = \"UDP\";\n        \"ipv4 address\" = \"192.0.2.16#53\";\n        \"ipv6 address\" = \"2001:db8:a::2#53\";\n      }\n    ];\n\n    pool4 = [\n      # Port ranges for dynamic translation\n      { protocol =  \"TCP\";  prefix = \"192.0.2.16/32\"; \"port range\" = \"40001-65535\"; }\n      { protocol =  \"UDP\";  prefix = \"192.0.2.16/32\"; \"port range\" = \"40001-65535\"; }\n      { protocol = \"ICMP\";  prefix = \"192.0.2.16/32\"; \"port range\" = \"40001-65535\"; }\n\n      # Ports for static BIB entries\n      { protocol =  \"TCP\";  prefix = \"192.0.2.16/32\"; \"port range\" = \"22\"; }\n      { protocol =  \"UDP\";  prefix = \"192.0.2.16/32\"; \"port range\" = \"53\"; }\n    ];\n  };\n}\n"}, "loc": ["networking", "jool", "nat64"], "readOnly": false, "type": "attribute set of (open submodule of (JSON value))"}, "networking.jool.nat64.<name>.framework": {"declarations": ["nixos/modules/services/networking/jool.nix"], "default": {"_type": "literalExpression", "text": "\"netfilter\""}, "description": "The framework to use for attaching Jool's translation to the exist\nkernel packet processing rules. See the\n[documentation](https://nicmx.github.io/Jool/en/intro-jool.html#design)\nfor the differences between the two options.\n", "loc": ["networking", "jool", "nat64", "<name>", "framework"], "readOnly": false, "type": "one of \"netfilter\", \"iptables\""}, "networking.jool.nat64.<name>.global.pool6": {"declarations": ["nixos/modules/services/networking/jool.nix"], "default": {"_type": "literalExpression", "text": "\"64:ff9b::/96\""}, "description": "The prefix used for embedding IPv4 into IPv6 addresses.\nDefaults to the well-known NAT64 prefix, defined by\n[RFC 6052](https://datatracker.ietf.org/doc/html/rfc6052).\n", "loc": ["networking", "jool", "nat64", "<name>", "global", "pool6"], "readOnly": false, "type": "Network prefix in CIDR notation"}, "networking.jool.siit": {"declarations": ["nixos/modules/services/networking/jool.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Definitions of SIIT instances of Jool.\nSee the\n[documentation](https://nicmx.github.io/Jool/en/config-atomic.html) for\nthe available options. Also check out the\n[tutorial](https://nicmx.github.io/Jool/en/run-vanilla.html) for an\nintroduction to SIIT and how to troubleshoot the setup.\n\nThe attribute name defines the name of the instance, with the main one\nbeing `default`: this can be accessed from the command line without\nspecifying the name with `-i`.\n\n::: {.note}\nInstances created imperatively from the command line will not interfere\nwith the NixOS instances, provided the respective EAMT addresses and\nport ranges are not overlapping.\n:::\n\n::: {.warning}\nChanges to an instance performed via `jool -i <name>` are applied\ncorrectly but will be lost after restarting the respective\n`jool-siit-<name>.service`.\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  default = {\n    # Maps any IPv4 address x.y.z.t to 2001:db8::x.y.z.t and v.v.\n    global.pool6 = \"2001:db8::/96\";\n\n    # Explicit address mappings\n    eamt = [\n      # 2001:db8:1:: \u2190\u2192 192.0.2.0\n      { \"ipv6 prefix\" = \"2001:db8:1::/128\"; \"ipv4 prefix\" = \"192.0.2.0\"; }\n      # 2001:db8:1::x \u2190\u2192 198.51.100.x\n      { \"ipv6 prefix\" = \"2001:db8:2::/120\"; \"ipv4 prefix\" = \"198.51.100.0/24\"; }\n    ];\n  };\n}\n"}, "loc": ["networking", "jool", "siit"], "readOnly": false, "type": "attribute set of (open submodule of (JSON value))"}, "networking.jool.siit.<name>.framework": {"declarations": ["nixos/modules/services/networking/jool.nix"], "default": {"_type": "literalExpression", "text": "\"netfilter\""}, "description": "The framework to use for attaching Jool's translation to the exist\nkernel packet processing rules. See the\n[documentation](https://nicmx.github.io/Jool/en/intro-jool.html#design)\nfor the differences between the two options.\n", "loc": ["networking", "jool", "siit", "<name>", "framework"], "readOnly": false, "type": "one of \"netfilter\", \"iptables\""}, "networking.localCommands": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to be executed after all the network\ninterfaces have been created, but not necessarily\nfully configured.\n", "example": {"_type": "literalExpression", "text": "\"text=anything; echo You can put $text here.\""}, "loc": ["networking", "localCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.macvlans": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define macvlan interfaces which should\nbe automatically created.\n", "example": {"_type": "literalExpression", "text": "{\n  wan = {\n    interface = \"enp2s0\";\n    mode = \"vepa\";\n  };\n}\n"}, "loc": ["networking", "macvlans"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.macvlans.<name>.interface": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The interface the macvlan will transmit packets through.", "example": {"_type": "literalExpression", "text": "\"enp4s0\""}, "loc": ["networking", "macvlans", "<name>", "interface"], "readOnly": false, "type": "string"}, "networking.macvlans.<name>.mode": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The mode of the macvlan device.", "example": {"_type": "literalExpression", "text": "\"vepa\""}, "loc": ["networking", "macvlans", "<name>", "mode"], "readOnly": false, "type": "null or string"}, "networking.modemmanager.enable": {"declarations": ["nixos/modules/services/networking/modemmanager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use ModemManager to manage modem devices.\nThis is usually used by some higher layer manager such as NetworkManager\nbut can be used standalone especially if using a modem for non-IP\nconnectivity (e.g. GPS).\n", "loc": ["networking", "modemmanager", "enable"], "readOnly": false, "type": "boolean"}, "networking.modemmanager.fccUnlockScripts": {"declarations": ["nixos/modules/services/networking/modemmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of FCC unlock scripts to enable on the system, behaving as described in\nhttps://modemmanager.org/docs/modemmanager/fcc-unlock/#integration-with-third-party-fcc-unlock-tools.\n", "example": {"_type": "literalExpression", "text": "[{ id = \"03f0:4e1d\"; path = \"${pkgs.modemmanager}/share/ModemManager/fcc-unlock.available.d/03f0:4e1d\"; }]"}, "loc": ["networking", "modemmanager", "fccUnlockScripts"], "readOnly": false, "type": "list of (submodule)"}, "networking.modemmanager.fccUnlockScripts.*.id": {"declarations": ["nixos/modules/services/networking/modemmanager.nix"], "description": "vid:pid of either the PCI or USB vendor and product ID", "loc": ["networking", "modemmanager", "fccUnlockScripts", "*", "id"], "readOnly": false, "type": "string"}, "networking.modemmanager.fccUnlockScripts.*.path": {"declarations": ["nixos/modules/services/networking/modemmanager.nix"], "description": "Path to the unlock script", "loc": ["networking", "modemmanager", "fccUnlockScripts", "*", "path"], "readOnly": false, "type": "absolute path"}, "networking.modemmanager.package": {"declarations": ["nixos/modules/services/networking/modemmanager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.modemmanager"}, "description": "The modemmanager package to use.", "loc": ["networking", "modemmanager", "package"], "readOnly": false, "type": "package"}, "networking.nameservers": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The list of nameservers.  It can be left empty if it is auto-detected through DHCP.\n", "example": {"_type": "literalExpression", "text": "[\n  \"130.161.158.4\"\n  \"130.161.33.17\"\n]"}, "loc": ["networking", "nameservers"], "readOnly": false, "type": "list of string"}, "networking.nat.dmzHost": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The local IP address to which all traffic that does not match any\nforwarding rule is forwarded.\n", "example": {"_type": "literalExpression", "text": "\"10.0.0.1\""}, "loc": ["networking", "nat", "dmzHost"], "readOnly": false, "type": "null or string"}, "networking.nat.enable": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Network Address Translation (NAT). A\nproperly configured firewall or a trusted L2 on all network\ninterfaces is required to prevent unauthorized access to\nthe internal network.\n", "loc": ["networking", "nat", "enable"], "readOnly": false, "type": "boolean"}, "networking.nat.enableIPv6": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable IPv6 NAT.\n", "loc": ["networking", "nat", "enableIPv6"], "readOnly": false, "type": "boolean"}, "networking.nat.externalIP": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The public IP address to which packets from the local\nnetwork are to be rewritten.  If this is left empty, the\nIP address associated with the external interface will be\nused.  Only connections made to this IP address will be\nforwarded to the internal network when using forwardPorts.\n", "example": {"_type": "literalExpression", "text": "\"203.0.113.123\""}, "loc": ["networking", "nat", "externalIP"], "readOnly": false, "type": "null or string"}, "networking.nat.externalIPv6": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The public IPv6 address to which packets from the local\nnetwork are to be rewritten.  If this is left empty, the\nIP address associated with the external interface will be\nused.  Only connections made to this IP address will be\nforwarded to the internal network when using forwardPorts.\n", "example": {"_type": "literalExpression", "text": "\"2001:dc0:2001:11::175\""}, "loc": ["networking", "nat", "externalIPv6"], "readOnly": false, "type": "null or string"}, "networking.nat.externalInterface": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of the external network interface.\n", "example": {"_type": "literalExpression", "text": "\"eth1\""}, "loc": ["networking", "nat", "externalInterface"], "readOnly": false, "type": "null or string"}, "networking.nat.extraCommands": {"declarations": ["nixos/modules/services/networking/nat-iptables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional shell commands executed as part of the nat\ninitialisation script.\n\nThis option is incompatible with the nftables based nat module.\n", "example": {"_type": "literalExpression", "text": "\"iptables -A INPUT -p icmp -j ACCEPT\""}, "loc": ["networking", "nat", "extraCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.nat.extraStopCommands": {"declarations": ["nixos/modules/services/networking/nat-iptables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional shell commands executed as part of the nat\nteardown script.\n\nThis option is incompatible with the nftables based nat module.\n", "example": {"_type": "literalExpression", "text": "\"iptables -D INPUT -p icmp -j ACCEPT || true\""}, "loc": ["networking", "nat", "extraStopCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.nat.forwardPorts": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of forwarded ports from the external interface to\ninternal destinations by using DNAT. Destination can be\nIPv6 if IPv6 NAT is enabled.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    destination = \"10.0.0.1:80\";\n    proto = \"tcp\";\n    sourcePort = 8080;\n  }\n  {\n    destination = \"[fc00::2]:80\";\n    proto = \"tcp\";\n    sourcePort = 8080;\n  }\n]"}, "loc": ["networking", "nat", "forwardPorts"], "readOnly": false, "type": "list of (submodule)"}, "networking.nat.forwardPorts.*.destination": {"declarations": ["nixos/modules/services/networking/nat.nix"], "description": "Forward connection to destination ip:port (or [ipv6]:port); to specify a port range, use ip:start-end", "example": {"_type": "literalExpression", "text": "\"10.0.0.1:80\""}, "loc": ["networking", "nat", "forwardPorts", "*", "destination"], "readOnly": false, "type": "string"}, "networking.nat.forwardPorts.*.loopbackIPs": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Public IPs for NAT reflection; for connections to `loopbackip:sourcePort` from the host itself and from other hosts behind NAT", "example": {"_type": "literalExpression", "text": "[ \"55.1.2.3\" ]"}, "loc": ["networking", "nat", "forwardPorts", "*", "loopbackIPs"], "readOnly": false, "type": "list of string"}, "networking.nat.forwardPorts.*.proto": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "\"tcp\""}, "description": "Protocol of forwarded connection", "example": {"_type": "literalExpression", "text": "\"udp\""}, "loc": ["networking", "nat", "forwardPorts", "*", "proto"], "readOnly": false, "type": "string"}, "networking.nat.forwardPorts.*.sourcePort": {"declarations": ["nixos/modules/services/networking/nat.nix"], "description": "Source port of the external interface; to specify a port range, use a string with a colon (e.g. \"60000:61000\")", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["networking", "nat", "forwardPorts", "*", "sourcePort"], "readOnly": false, "type": "signed integer or string matching the pattern [[:digit:]]+:[[:digit:]]+"}, "networking.nat.internalIPs": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The IP address ranges for which to perform NAT.  Packets\ncoming from these addresses (on any interface) and destined\nfor the external interface will be rewritten.\n", "example": {"_type": "literalExpression", "text": "[\n  \"192.168.1.0/24\"\n]"}, "loc": ["networking", "nat", "internalIPs"], "readOnly": false, "type": "list of string"}, "networking.nat.internalIPv6s": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The IPv6 address ranges for which to perform NAT.  Packets\ncoming from these addresses (on any interface) and destined\nfor the external interface will be rewritten.\n", "example": {"_type": "literalExpression", "text": "[\n  \"fc00::/64\"\n]"}, "loc": ["networking", "nat", "internalIPv6s"], "readOnly": false, "type": "list of string"}, "networking.nat.internalInterfaces": {"declarations": ["nixos/modules/services/networking/nat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The interfaces for which to perform NAT. Packets coming from\nthese interface and destined for the external interface will\nbe rewritten.\n", "example": {"_type": "literalExpression", "text": "[\n  \"eth0\"\n]"}, "loc": ["networking", "nat", "internalInterfaces"], "readOnly": false, "type": "list of string"}, "networking.networkmanager.appendNameservers": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of name servers that should be appended\nto the ones configured in NetworkManager or received by DHCP.\n", "loc": ["networking", "networkmanager", "appendNameservers"], "readOnly": false, "type": "list of string"}, "networking.networkmanager.connectionConfig": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for the [connection] section of NetworkManager.conf.\nRefer to\n[\n  https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#id-1.2.3.11\n](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html)\nor\n{manpage}`NetworkManager.conf(5)`\nfor more information.\n", "loc": ["networking", "networkmanager", "connectionConfig"], "readOnly": false, "type": "attribute set of (null or boolean or signed integer or string)"}, "networking.networkmanager.dhcp": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "\"internal\""}, "description": "Which program (or internal library) should be used for DHCP.\n", "loc": ["networking", "networkmanager", "dhcp"], "readOnly": false, "type": "one of \"dhcpcd\", \"internal\""}, "networking.networkmanager.dispatcherScripts": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of scripts which will be executed in response to network events.\n", "example": {"_type": "literalExpression", "text": "[ {\n  source = pkgs.writeText \"upHook\" ''\n    if [ \"$2\" != \"up\" ]; then\n      logger \"exit: event $2 != up\"\n      exit\n    fi\n\n    # coreutils and iproute are in PATH too\n    logger \"Device $DEVICE_IFACE coming up\"\n  '';\n  type = \"basic\";\n} ]\n"}, "loc": ["networking", "networkmanager", "dispatcherScripts"], "readOnly": false, "type": "list of (submodule)"}, "networking.networkmanager.dispatcherScripts.*.source": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "description": "Path to the hook script.\n", "loc": ["networking", "networkmanager", "dispatcherScripts", "*", "source"], "readOnly": false, "type": "absolute path"}, "networking.networkmanager.dispatcherScripts.*.type": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "\"basic\""}, "description": "Dispatcher hook type. Look up the hooks described at\n[https://developer.gnome.org/NetworkManager/stable/NetworkManager.html](https://developer.gnome.org/NetworkManager/stable/NetworkManager.html)\nand choose the type depending on the output folder.\nYou should then filter the event type (e.g., \"up\"/\"down\") from within your script.\n", "loc": ["networking", "networkmanager", "dispatcherScripts", "*", "type"], "readOnly": false, "type": "one of \"basic\", \"pre-down\", \"pre-up\""}, "networking.networkmanager.dns": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "Set the DNS ({file}`resolv.conf`) processing mode.\n\nA description of these modes can be found in the main section of\n[\n  https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html\n](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html)\nor in\n{manpage}`NetworkManager.conf(5)`.\n", "loc": ["networking", "networkmanager", "dns"], "readOnly": false, "type": "one of \"default\", \"dnsmasq\", \"systemd-resolved\", \"none\""}, "networking.networkmanager.enable": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use NetworkManager to obtain an IP address and other\nconfiguration for all network interfaces that are not manually\nconfigured. If enabled, a group `networkmanager`\nwill be created. Add all users that should have permission\nto change network settings to this group.\n", "loc": ["networking", "networkmanager", "enable"], "readOnly": false, "type": "boolean"}, "networking.networkmanager.ensureProfiles.environmentFiles": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to load as environment file. Environment variables from this file\nwill be substituted into the static configuration file using [envsubst](https://github.com/a8m/envsubst).\n", "example": {"_type": "literalExpression", "text": "[\n  \"/run/secrets/network-manager.env\"\n]"}, "loc": ["networking", "networkmanager", "ensureProfiles", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "networking.networkmanager.ensureProfiles.profiles": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declaratively define NetworkManager profiles. You can find information about the generated file format [here](https://networkmanager.dev/docs/api/latest/nm-settings-keyfile.html) and [here](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/assembly_networkmanager-connection-profiles-in-keyfile-format_configuring-and-managing-networking).\nYou current profiles which are most likely stored in `/etc/NetworkManager/system-connections` and there is [a tool](https://github.com/janik-haag/nm2nix) to convert them to the needed nix code.\nIf you add a new ad-hoc connection via a GUI or nmtui or anything similar it should just work together with the declarative ones.\nAnd if you edit a declarative profile NetworkManager will move it to the persistent storage and treat it like a ad-hoc one,\nbut there will be two profiles as soon as the systemd unit from this option runs again which can be confusing since NetworkManager tools will start displaying two profiles with the same name and probably a bit different settings depending on what you edited.\nA profile won't be deleted even if it's removed from the config until the system reboots because that's when NetworkManager clears it's temp directory.\nIf `networking.resolvconf.enable` is true, attributes affecting the name resolution (such as `ignore-auto-dns`) may not end up changing `/etc/resolv.conf` as expected when other name services (for example `networking.dhcpcd`) are enabled. Run `resolvconf -l` in the terminal to see what each service produces.\n", "example": {"_type": "literalExpression", "text": "{\n  home-wifi = {\n    connection = {\n      id = \"home-wifi\";\n      permissions = \"\";\n      type = \"wifi\";\n    };\n    ipv4 = {\n      dns-search = \"\";\n      method = \"auto\";\n    };\n    ipv6 = {\n      addr-gen-mode = \"stable-privacy\";\n      dns-search = \"\";\n      method = \"auto\";\n    };\n    wifi = {\n      mac-address-blacklist = \"\";\n      mode = \"infrastructure\";\n      ssid = \"Home Wi-Fi\";\n    };\n    wifi-security = {\n      auth-alg = \"open\";\n      key-mgmt = \"wpa-psk\";\n      psk = \"$HOME_WIFI_PASSWORD\";\n    };\n  };\n}"}, "loc": ["networking", "networkmanager", "ensureProfiles", "profiles"], "readOnly": false, "type": "attribute set of (open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)))"}, "networking.networkmanager.ensureProfiles.profiles.<name>.connection.id": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "description": "This is the name that will be displayed by NetworkManager and GUIs.", "loc": ["networking", "networkmanager", "ensureProfiles", "profiles", "<name>", "connection", "id"], "readOnly": false, "type": "string"}, "networking.networkmanager.ensureProfiles.profiles.<name>.connection.type": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "description": "The connection type defines the connection kind, like vpn, wireguard, gsm, wifi and more.", "example": {"_type": "literalExpression", "text": "\"vpn\""}, "loc": ["networking", "networkmanager", "ensureProfiles", "profiles", "<name>", "connection", "type"], "readOnly": false, "type": "string"}, "networking.networkmanager.ensureProfiles.secrets.entries": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of secrets to provide to NetworkManager by reading their values from configured files.\n\nNote that NetworkManager should be configured to read secrets from a secret agent.\nThis can be done for example through the `networking.networkmanager.ensureProfiles.profiles` options.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    file = \"/root/wireguard_key\";\n    key = \"private-key\";\n    matchId = \"My WireGuard VPN\";\n    matchSetting = \"wireguard\";\n    matchType = \"wireguard\";\n  }\n]"}, "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries"], "readOnly": false, "type": "list of (submodule)"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.file": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "description": "file from which the secret value is read", "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "file"], "readOnly": false, "type": "string"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.key": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "description": "key in the setting section for which this entry provides a value", "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "key"], "readOnly": false, "type": "string"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.matchId": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "connection id used by NetworkManager. Often displayed as name in GUIs.\n\nNetworkManager describes this as a human readable unique identifier for the connection, like \"Work Wi-Fi\" or \"T-Mobile 3G\".\n", "example": {"_type": "literalExpression", "text": "\"wifi1\""}, "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "matchId"], "readOnly": false, "type": "null or string"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.matchIface": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "interface name of the NetworkManager connection", "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "matchIface"], "readOnly": false, "type": "null or string"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.matchSetting": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "name of the setting section for which secrets are requested", "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "matchSetting"], "readOnly": false, "type": "null or string"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.matchType": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "NetworkManager connection type\n\nThe NetworkManager configuration settings reference roughly corresponds to connection types.\nMore might be available on your system depending on the installed plugins.\n\n<https://networkmanager.dev/docs/api/latest/ch01.html>\n", "example": {"_type": "literalExpression", "text": "\"wireguard\""}, "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "matchType"], "readOnly": false, "type": "null or string"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.matchUuid": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "UUID of the connection profile\n\nUUIDs are assigned once on connection creation and should never change as long as the connection still applies to the same network.\n", "example": {"_type": "literalExpression", "text": "\"669ea4c9-4cb3-4901-ab52-f9606590976e\""}, "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "matchUuid"], "readOnly": false, "type": "null or string"}, "networking.networkmanager.ensureProfiles.secrets.entries.*.trim": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "whether leading and trailing whitespace should be stripped from the files content before being passed to NetworkManager", "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "entries", "*", "trim"], "readOnly": false, "type": "null or boolean"}, "networking.networkmanager.ensureProfiles.secrets.package": {"declarations": ["nixos/modules/services/networking/nm-file-secret-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nm-file-secret-agent"}, "description": "The nm-file-secret-agent package to use.", "loc": ["networking", "networkmanager", "ensureProfiles", "secrets", "package"], "readOnly": false, "type": "package"}, "networking.networkmanager.ethernet.macAddress": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "\"preserve\""}, "description": "Set the MAC address of the interface.\n\n- `\"XX:XX:XX:XX:XX:XX\"`: MAC address of the interface\n- `\"permanent\"`: Use the permanent MAC address of the device\n- `\"preserve\"`: Don\u2019t change the MAC address of the device upon activation\n- `\"random\"`: Generate a randomized value upon each connect\n- `\"stable\"`: Generate a stable, hashed MAC address\n", "example": {"_type": "literalExpression", "text": "\"00:11:22:33:44:55\""}, "loc": ["networking", "networkmanager", "ethernet", "macAddress"], "readOnly": false, "type": "string or one of \"permanent\", \"preserve\", \"random\", \"stable\""}, "networking.networkmanager.insertNameservers": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of name servers that should be inserted before\nthe ones configured in NetworkManager or received by DHCP.\n", "loc": ["networking", "networkmanager", "insertNameservers"], "readOnly": false, "type": "list of string"}, "networking.networkmanager.logLevel": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "\"WARN\""}, "description": "Set the default logging verbosity level.\n", "loc": ["networking", "networkmanager", "logLevel"], "readOnly": false, "type": "one of \"OFF\", \"ERR\", \"WARN\", \"INFO\", \"DEBUG\", \"TRACE\""}, "networking.networkmanager.package": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.networkmanager"}, "description": "The networkmanager package to use.", "loc": ["networking", "networkmanager", "package"], "readOnly": false, "type": "package"}, "networking.networkmanager.plugins": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of plugin packages to install.\n\nSee <https://search.nixos.org/packages?query=networkmanager-> for available plugin packages.\nand <https://networkmanager.dev/docs/vpn/> for an overview over builtin and external plugins\nand their support status.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [\n  networkmanager-fortisslvpn\n  networkmanager-iodine\n  networkmanager-l2tp\n  networkmanager-openconnect\n  networkmanager-openvpn\n  networkmanager-sstp\n  networkmanager-strongswan\n  networkmanager-vpnc\n]\n"}, "loc": ["networking", "networkmanager", "plugins"], "readOnly": false, "type": "list of NetworkManager plugin package"}, "networking.networkmanager.settings": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration added to the generated NetworkManager.conf, note that you can overwrite settings with this.\nRefer to\n[\n  https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html\n](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html)\nor\n{manpage}`NetworkManager.conf(5)`\nfor more information.\n", "loc": ["networking", "networkmanager", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "networking.networkmanager.unmanaged": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of interfaces that will not be managed by NetworkManager.\nInterface name can be specified here, but if you need more fidelity,\nrefer to\n[\n  https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#device-spec\n](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#device-spec)\nor the \"Device List Format\" Appendix of\n{manpage}`NetworkManager.conf(5)`.\n", "loc": ["networking", "networkmanager", "unmanaged"], "readOnly": false, "type": "list of string"}, "networking.networkmanager.wifi.backend": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "\"wpa_supplicant\""}, "description": "Specify the Wi-Fi backend used for the device.\nCurrently supported are {option}`wpa_supplicant` or {option}`iwd` (experimental).\n", "loc": ["networking", "networkmanager", "wifi", "backend"], "readOnly": false, "type": "one of \"wpa_supplicant\", \"iwd\""}, "networking.networkmanager.wifi.macAddress": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "\"preserve\""}, "description": "Set the MAC address of the interface.\n\n- `\"XX:XX:XX:XX:XX:XX\"`: MAC address of the interface\n- `\"permanent\"`: Use the permanent MAC address of the device\n- `\"preserve\"`: Don\u2019t change the MAC address of the device upon activation\n- `\"random\"`: Generate a randomized value upon each connect\n- `\"stable\"`: Generate a stable, hashed MAC address\n- `\"stable-ssid\"`: Generate a stable MAC addressed based on Wi-Fi network\n", "example": {"_type": "literalExpression", "text": "\"00:11:22:33:44:55\""}, "loc": ["networking", "networkmanager", "wifi", "macAddress"], "readOnly": false, "type": "string or one of \"permanent\", \"preserve\", \"random\", \"stable\", \"stable-ssid\""}, "networking.networkmanager.wifi.powersave": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Whether to enable Wi-Fi power saving.\n", "loc": ["networking", "networkmanager", "wifi", "powersave"], "readOnly": false, "type": "null or boolean"}, "networking.networkmanager.wifi.scanRandMacAddress": {"declarations": ["nixos/modules/services/networking/networkmanager.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable MAC address randomization of a Wi-Fi device\nduring scanning.\n", "loc": ["networking", "networkmanager", "wifi", "scanRandMacAddress"], "readOnly": false, "type": "boolean"}, "networking.nftables.checkRuleset": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Run `nft check` on the ruleset to spot syntax errors during build.\nBecause this is executed in a sandbox, the check might fail if it requires\naccess to any environmental factors or paths outside the Nix store.\nTo circumvent this, the ruleset file can be edited using the preCheckRuleset\noption to work in the sandbox environment.\n", "loc": ["networking", "nftables", "checkRuleset"], "readOnly": false, "type": "boolean"}, "networking.nftables.checkRulesetRedirects": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"/etc/hosts\" = config.environment.etc.hosts.source;\n  \"/etc/protocols\" = config.environment.etc.protocols.source;\n  \"/etc/services\" = config.environment.etc.services.source;\n}\n"}, "description": "Set of paths that should be intercepted and rewritten while checking the ruleset\nusing `pkgs.buildPackages.libredirect`.\n", "loc": ["networking", "nftables", "checkRulesetRedirects"], "readOnly": false, "type": "attribute set of absolute path"}, "networking.nftables.enable": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nftables and use nftables based firewall if enabled.\nnftables is a Linux-based packet filtering framework intended to\nreplace frameworks like iptables.\n\nNote that if you have Docker enabled you will not be able to use\nnftables without intervention. Docker uses iptables internally to\nsetup NAT for containers. This module disables the ip_tables kernel\nmodule, however Docker automatically loads the module. Please see\n<https://github.com/NixOS/nixpkgs/issues/24318#issuecomment-289216273>\nfor more information.\n\nThere are other programs that use iptables internally too, such as\nlibvirt. For information on how the two firewalls interact, see\n<https://wiki.nftables.org/wiki-nftables/index.php/Troubleshooting#Question_4._How_do_nftables_and_iptables_interact_when_used_on_the_same_system.3F>.\n\nSome network configurations may prevent VMs from having network access, see\n<https://wiki.nixos.org/wiki/Networking#Virtualization>.\n", "loc": ["networking", "nftables", "enable"], "readOnly": false, "type": "boolean"}, "networking.nftables.extraDeletions": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra deletion commands to be run on every firewall start, reload\nand after stopping the firewall.\n", "example": {"_type": "literalExpression", "text": "''\n  # this makes deleting a non-existing table a no-op instead of an error\n  table inet some-table;\n  \n  delete table inet some-table;\n''"}, "loc": ["networking", "nftables", "extraDeletions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.nftables.flattenRulesetFile": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use `builtins.readFile` rather than `include` to handle {option}`networking.nftables.rulesetFile`. It is useful when you want to apply {option}`networking.nftables.preCheckRuleset` to {option}`networking.nftables.rulesetFile`.\n\n::: {.note}\nIt is expected that {option}`networking.nftables.rulesetFile` can be accessed from the build sandbox.\n:::\n", "loc": ["networking", "nftables", "flattenRulesetFile"], "readOnly": false, "type": "boolean"}, "networking.nftables.flushRuleset": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable flushing the entire ruleset on each reload.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "nftables", "flushRuleset"], "readOnly": false, "type": "boolean"}, "networking.nftables.preCheckRuleset": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "This script gets run before the ruleset is checked. It can be used to\ncreate additional files needed for the ruleset check to work, or modify\nthe ruleset for cases the build environment cannot cover.\n", "example": {"_type": "literalExpression", "text": "# replace users/groups that don't exist in the test\nsed 's/skgid meadow/skgid root/g' -i ruleset.conf\n"}, "loc": ["networking", "nftables", "preCheckRuleset"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.nftables.ruleset": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The ruleset to be used with nftables.  Should be in a format that\ncan be loaded using \"/bin/nft -f\".  The ruleset is updated atomically.\nNote that if the tables should be cleaned first, either:\n- networking.nftables.flushRuleset = true; needs to be set (flushes all tables)\n- networking.nftables.extraDeletions needs to be set\n- or networking.nftables.tables can be used, which will clean up the table automatically\n", "example": {"_type": "literalExpression", "text": "''\n  # Check out https://wiki.nftables.org/ for better documentation.\n  # Table for both IPv4 and IPv6.\n  table inet filter {\n    # Block all incoming connections traffic except SSH and \"ping\".\n    chain input {\n      type filter hook input priority 0;\n  \n      # accept any localhost traffic\n      iifname lo accept\n  \n      # accept traffic originated from us\n      ct state {established, related} accept\n  \n      # ICMP\n      # routers may also want: mld-listener-query, nd-router-solicit\n      ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, parameter-problem, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept\n      ip protocol icmp icmp type { destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept\n  \n      # allow \"ping\"\n      ip6 nexthdr icmpv6 icmpv6 type echo-request accept\n      ip protocol icmp icmp type echo-request accept\n  \n      # accept SSH connections (required for a server)\n      tcp dport 22 accept\n  \n      # count and drop any other traffic\n      counter drop\n    }\n  \n    # Allow all outgoing connections.\n    chain output {\n      type filter hook output priority 0;\n      accept\n    }\n  \n    chain forward {\n      type filter hook forward priority 0;\n      accept\n    }\n  }\n''"}, "loc": ["networking", "nftables", "ruleset"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.nftables.rulesetFile": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The ruleset file to be used with nftables.  Should be in a format that\ncan be loaded using \"nft -f\".  The ruleset is updated atomically.\n", "loc": ["networking", "nftables", "rulesetFile"], "readOnly": false, "type": "null or absolute path"}, "networking.nftables.tables": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Tables to be added to ruleset.\nTables will be added together with delete statements to clean up the table before every update.\n", "example": {"_type": "literalExpression", "text": "{\n  filter = {\n    content = ''\n      # Check out https://wiki.nftables.org/ for better documentation.\n      # Table for both IPv4 and IPv6.\n      # Block all incoming connections traffic except SSH and \"ping\".\n      chain input {\n        type filter hook input priority 0;\n      \n        # accept any localhost traffic\n        iifname lo accept\n      \n        # accept traffic originated from us\n        ct state {established, related} accept\n      \n        # ICMP\n        # routers may also want: mld-listener-query, nd-router-solicit\n        ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, parameter-problem, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept\n        ip protocol icmp icmp type { destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept\n      \n        # allow \"ping\"\n        ip6 nexthdr icmpv6 icmpv6 type echo-request accept\n        ip protocol icmp icmp type echo-request accept\n      \n        # accept SSH connections (required for a server)\n        tcp dport 22 accept\n      \n        # count and drop any other traffic\n        counter drop\n      }\n      \n      # Allow all outgoing connections.\n      chain output {\n        type filter hook output priority 0;\n        accept\n      }\n      \n      chain forward {\n        type filter hook forward priority 0;\n        accept\n      }\n    '';\n    family = \"inet\";\n  };\n}"}, "loc": ["networking", "nftables", "tables"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.nftables.tables.<name>.content": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "description": "The table content.", "loc": ["networking", "nftables", "tables", "<name>", "content"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.nftables.tables.<name>.enable": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable this table.", "loc": ["networking", "nftables", "tables", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "networking.nftables.tables.<name>.family": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "description": "Table family.", "loc": ["networking", "nftables", "tables", "<name>", "family"], "readOnly": false, "type": "one of \"ip\", \"ip6\", \"inet\", \"arp\", \"bridge\", \"netdev\""}, "networking.nftables.tables.<name>.name": {"declarations": ["nixos/modules/services/networking/nftables.nix"], "description": "Table name.", "loc": ["networking", "nftables", "tables", "<name>", "name"], "readOnly": false, "type": "string"}, "networking.openconnect.interfaces": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "OpenConnect interfaces.", "example": {"_type": "literalExpression", "text": "{\n  openconnect0 = {\n    gateway = \"gateway.example.com\";\n    passwordFile = \"/var/lib/secrets/openconnect-passwd\";\n    protocol = \"anyconnect\";\n    user = \"example-user\";\n  };\n}"}, "loc": ["networking", "openconnect", "interfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.openconnect.interfaces.<name>.autoStart": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether this VPN connection should be started automatically.", "loc": ["networking", "openconnect", "interfaces", "<name>", "autoStart"], "readOnly": false, "type": "boolean"}, "networking.openconnect.interfaces.<name>.certificate": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Certificate to authenticate with.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/openconnect_certificate.pem\""}, "loc": ["networking", "openconnect", "interfaces", "<name>", "certificate"], "readOnly": false, "type": "null or absolute path or PKCS#11 URI"}, "networking.openconnect.interfaces.<name>.extraOptions": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra config to be appended to the interface config. It should\ncontain long-format options as would be accepted on the command\nline by `openconnect`\n(see <https://www.infradead.org/openconnect/manual.html>).\nNon-key-value options like `deflate` can be used by\ndeclaring them as booleans, i. e. `deflate = true;`.\n", "example": {"_type": "literalExpression", "text": "{\n  compression = \"stateless\";\n  no-dtls = true;\n  no-http-keepalive = true;\n}"}, "loc": ["networking", "openconnect", "interfaces", "<name>", "extraOptions"], "readOnly": false, "type": "attribute set of (string or boolean)"}, "networking.openconnect.interfaces.<name>.gateway": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "description": "Gateway server to connect to.", "example": {"_type": "literalExpression", "text": "\"gateway.example.com\""}, "loc": ["networking", "openconnect", "interfaces", "<name>", "gateway"], "readOnly": false, "type": "string"}, "networking.openconnect.interfaces.<name>.passwordFile": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the password to authenticate with. This\nis passed to `openconnect` via the\n`--passwd-on-stdin` option.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/openconnect-passwd\""}, "loc": ["networking", "openconnect", "interfaces", "<name>", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "networking.openconnect.interfaces.<name>.privateKey": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Private key to authenticate with.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/openconnect_private_key.pem\""}, "loc": ["networking", "openconnect", "interfaces", "<name>", "privateKey"], "readOnly": false, "type": "null or absolute path or PKCS#11 URI"}, "networking.openconnect.interfaces.<name>.protocol": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "description": "Protocol to use.", "example": {"_type": "literalExpression", "text": "\"anyconnect\""}, "loc": ["networking", "openconnect", "interfaces", "<name>", "protocol"], "readOnly": false, "type": "one of \"anyconnect\", \"array\", \"nc\", \"pulse\", \"gp\", \"f5\", \"fortinet\""}, "networking.openconnect.interfaces.<name>.user": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username to authenticate with.", "example": {"_type": "literalExpression", "text": "\"example-user\""}, "loc": ["networking", "openconnect", "interfaces", "<name>", "user"], "readOnly": false, "type": "null or string"}, "networking.openconnect.package": {"declarations": ["nixos/modules/services/networking/openconnect.nix"], "default": {"_type": "literalExpression", "text": "pkgs.openconnect"}, "description": "The openconnect package to use.", "loc": ["networking", "openconnect", "package"], "readOnly": false, "type": "package"}, "networking.proxy.allProxy": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "config.networking.proxy.default"}, "description": "This option specifies the all_proxy environment variable.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:3128\""}, "loc": ["networking", "proxy", "allProxy"], "readOnly": false, "type": "null or string"}, "networking.proxy.default": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This option specifies the default value for httpProxy, httpsProxy, ftpProxy and rsyncProxy.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:3128\""}, "loc": ["networking", "proxy", "default"], "readOnly": false, "type": "null or string"}, "networking.proxy.ftpProxy": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "config.networking.proxy.default"}, "description": "This option specifies the ftp_proxy environment variable.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:3128\""}, "loc": ["networking", "proxy", "ftpProxy"], "readOnly": false, "type": "null or string"}, "networking.proxy.httpProxy": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "config.networking.proxy.default"}, "description": "This option specifies the http_proxy environment variable.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:3128\""}, "loc": ["networking", "proxy", "httpProxy"], "readOnly": false, "type": "null or string"}, "networking.proxy.httpsProxy": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "config.networking.proxy.default"}, "description": "This option specifies the https_proxy environment variable.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:3128\""}, "loc": ["networking", "proxy", "httpsProxy"], "readOnly": false, "type": "null or string"}, "networking.proxy.noProxy": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This option specifies the no_proxy environment variable.\nIf a default proxy is used and noProxy is null,\nthen noProxy will be set to 127.0.0.1,localhost.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1,localhost,.localdomain\""}, "loc": ["networking", "proxy", "noProxy"], "readOnly": false, "type": "null or string"}, "networking.proxy.rsyncProxy": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "config.networking.proxy.default"}, "description": "This option specifies the rsync_proxy environment variable.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:3128\""}, "loc": ["networking", "proxy", "rsyncProxy"], "readOnly": false, "type": "null or string"}, "networking.resolvconf.dnsExtensionMechanism": {"declarations": ["nixos/modules/config/resolvconf.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the `edns0` option in {file}`resolv.conf`. With\nthat option set, `glibc` supports use of the extension mechanisms for\nDNS (EDNS) specified in RFC 2671. The most popular user of that feature is DNSSEC,\nwhich does not work without it.\n", "loc": ["networking", "resolvconf", "dnsExtensionMechanism"], "readOnly": false, "type": "boolean"}, "networking.resolvconf.dnsSingleRequest": {"declarations": ["nixos/modules/config/resolvconf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Recent versions of glibc will issue both ipv4 (A) and ipv6 (AAAA)\naddress queries at the same time, from the same port. Sometimes upstream\nrouters will systemically drop the ipv4 queries. The symptom of this problem is\nthat 'getent hosts example.com' only returns ipv6 (or perhaps only ipv4) addresses. The\nworkaround for this is to specify the option 'single-request' in\n/etc/resolv.conf. This option enables that.\n", "loc": ["networking", "resolvconf", "dnsSingleRequest"], "readOnly": false, "type": "boolean"}, "networking.resolvconf.enable": {"declarations": ["nixos/modules/config/resolvconf.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether DNS configuration is managed by resolvconf.\n", "loc": ["networking", "resolvconf", "enable"], "readOnly": false, "type": "boolean"}, "networking.resolvconf.extraConfig": {"declarations": ["nixos/modules/config/resolvconf.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to append to {file}`resolvconf.conf`.\n", "example": {"_type": "literalExpression", "text": "\"libc=NO\""}, "loc": ["networking", "resolvconf", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.resolvconf.extraOptions": {"declarations": ["nixos/modules/config/resolvconf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Set the options in {file}`/etc/resolv.conf`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ndots:1\"\n  \"rotate\"\n]"}, "loc": ["networking", "resolvconf", "extraOptions"], "readOnly": false, "type": "list of string"}, "networking.resolvconf.package": {"declarations": ["nixos/modules/config/resolvconf.nix"], "default": {"_type": "literalExpression", "text": "pkgs.openresolv"}, "description": "The package that provides the system-wide resolvconf command. Defaults to `openresolv`\nif this module is enabled. Otherwise, can be used by other modules (for example {option}`services.resolved`) to\nprovide a compatibility layer.\n\nThis option generally shouldn't be set by the user.\n", "loc": ["networking", "resolvconf", "package"], "readOnly": false, "type": "package"}, "networking.resolvconf.useLocalResolver": {"declarations": ["nixos/modules/config/resolvconf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use local DNS server for resolving.\n", "loc": ["networking", "resolvconf", "useLocalResolver"], "readOnly": false, "type": "boolean"}, "networking.rxe.enable": {"declarations": ["nixos/modules/services/networking/rxe.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable RDMA over converged ethernet.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "rxe", "enable"], "readOnly": false, "type": "boolean"}, "networking.rxe.interfaces": {"declarations": ["nixos/modules/services/networking/rxe.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Enable RDMA on the listed interfaces. The corresponding virtual\nRDMA interfaces will be named rxe_\\<interface\\>.\nUDP port 4791 must be open on the respective ethernet interfaces.\n", "example": {"_type": "literalExpression", "text": "[\n  \"eth0\"\n]"}, "loc": ["networking", "rxe", "interfaces"], "readOnly": false, "type": "list of string"}, "networking.search": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The list of domain search paths that are considered for resolving\nhostnames with fewer dots than configured in the `ndots` option,\nwhich defaults to 1 if unset.\n", "example": {"_type": "literalExpression", "text": "[\n  \"example.com\"\n  \"home.arpa\"\n]"}, "loc": ["networking", "search"], "readOnly": false, "type": "list of string"}, "networking.sits": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define interfaces encapsulating IPv6\npackets within IPv4 packets; which should be automatically created.\n", "example": {"_type": "literalExpression", "text": "{\n  hurricane = {\n    remote = \"10.0.0.1\";\n    local = \"10.0.0.22\";\n    ttl = 255;\n  };\n  msipv6 = {\n    remote = \"192.168.0.1\";\n    dev = \"enp3s0\";\n    ttl = 127;\n  };\n}\n"}, "loc": ["networking", "sits"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.sits.<name>.dev": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The underlying network device on which the tunnel resides.\n", "example": {"_type": "literalExpression", "text": "\"enp4s0f0\""}, "loc": ["networking", "sits", "<name>", "dev"], "readOnly": false, "type": "null or string"}, "networking.sits.<name>.encapsulation": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configures the type of encapsulation.\n", "example": {"_type": "literalExpression", "text": "{\n  port = 9001;\n  type = \"fou\";\n}"}, "loc": ["networking", "sits", "<name>", "encapsulation"], "readOnly": false, "type": "null or (submodule)"}, "networking.sits.<name>.encapsulation.port": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Destination port when using UDP encapsulation.\n", "example": {"_type": "literalExpression", "text": "9001"}, "loc": ["networking", "sits", "<name>", "encapsulation", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.sits.<name>.encapsulation.sourcePort": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Source port when using UDP encapsulation.\nWill be chosen automatically by the kernel if unset.\n", "example": {"_type": "literalExpression", "text": "9002"}, "loc": ["networking", "sits", "<name>", "encapsulation", "sourcePort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "networking.sits.<name>.encapsulation.type": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"6in4\""}, "description": "Select the encapsulation type:\n\n- `6in4`: the IPv6 packets are encapsulated using the\n  6in4 protocol (formerly known as SIT, RFC 4213);\n\n- `gue`: the IPv6 packets are encapsulated in UDP packets\n   using the Generic UDP Encapsulation (GUE) scheme;\n\n- `foo`: the IPv6 packets are encapsulated in UDP packets\n   using the Foo over UDP (FOU) scheme.\n", "loc": ["networking", "sits", "<name>", "encapsulation", "type"], "readOnly": false, "type": "one of \"6in4\", \"fou\", \"gue\""}, "networking.sits.<name>.local": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The address of the local endpoint which the remote\nside should send packets to.\n", "example": {"_type": "literalExpression", "text": "\"10.0.0.22\""}, "loc": ["networking", "sits", "<name>", "local"], "readOnly": false, "type": "null or string"}, "networking.sits.<name>.remote": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The address of the remote endpoint to forward traffic over.\n", "example": {"_type": "literalExpression", "text": "\"10.0.0.1\""}, "loc": ["networking", "sits", "<name>", "remote"], "readOnly": false, "type": "null or string"}, "networking.sits.<name>.ttl": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The time-to-live of the connection to the remote tunnel endpoint.\n", "example": {"_type": "literalExpression", "text": "255"}, "loc": ["networking", "sits", "<name>", "ttl"], "readOnly": false, "type": "null or signed integer"}, "networking.stevenblack.block": {"declarations": ["nixos/modules/config/stevenblack.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional blocklist extensions.", "loc": ["networking", "stevenblack", "block"], "readOnly": false, "type": "list of (one of \"fakenews\", \"gambling\", \"porn\", \"social\")"}, "networking.stevenblack.enable": {"declarations": ["nixos/modules/config/stevenblack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the stevenblack hosts file blocklist.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "stevenblack", "enable"], "readOnly": false, "type": "boolean"}, "networking.stevenblack.package": {"declarations": ["nixos/modules/config/stevenblack.nix"], "default": {"_type": "literalExpression", "text": "pkgs.stevenblack-blocklist"}, "description": "The stevenblack-blocklist package to use.", "loc": ["networking", "stevenblack", "package"], "readOnly": false, "type": "package"}, "networking.stevenblack.whitelist": {"declarations": ["nixos/modules/config/stevenblack.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Domains to exclude from blocking.", "example": {"_type": "literalExpression", "text": "[\n  \"s.click.aliexpress.com\"\n]"}, "loc": ["networking", "stevenblack", "whitelist"], "readOnly": false, "type": "list of string matching the pattern ^[a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)+$"}, "networking.supplicant": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Interfaces for which to start {command}`wpa_supplicant`.\nThe supplicant is used to scan for and associate with wireless networks,\nor to authenticate with 802.1x capable network switches.\n\nThe value of this option is an attribute set. Each attribute configures a\n{command}`wpa_supplicant` service, where the attribute name specifies\nthe name of the interface that {command}`wpa_supplicant` operates on.\nThe attribute name can be a space separated list of interfaces.\nThe attribute names `WLAN`, `LAN` and `DBUS`\nhave a special meaning. `WLAN` and `LAN` are\nconfigurations for universal {command}`wpa_supplicant` service that is\nstarted for each WLAN interface or for each LAN interface, respectively.\n`DBUS` defines a device-unrelated {command}`wpa_supplicant`\nservice that can be accessed through `D-Bus`.\n", "example": {"_type": "literalExpression", "text": "{ \"wlan0 wlan1\" = {\n    configFile.path = \"/etc/wpa_supplicant.conf\";\n    userControlled.group = \"network\";\n    extraConf = ''\n      ap_scan=1\n      p2p_disabled=1\n    '';\n    extraCmdArgs = \"-u -W\";\n    bridge = \"br0\";\n  };\n}\n"}, "loc": ["networking", "supplicant"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.supplicant.<name>.bridge": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Name of the bridge interface that wpa_supplicant should listen at.", "loc": ["networking", "supplicant", "<name>", "bridge"], "readOnly": false, "type": "string"}, "networking.supplicant.<name>.configFile.path": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "External {file}`wpa_supplicant.conf` configuration file.\nThe configuration options defined declaratively within `networking.supplicant` have\nprecedence over options defined in `configFile`.\n", "example": {"_type": "literalExpression", "text": "/etc/wpa_supplicant.conf"}, "loc": ["networking", "supplicant", "<name>", "configFile", "path"], "readOnly": false, "type": "null or absolute path"}, "networking.supplicant.<name>.configFile.writable": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the configuration file at `configFile.path` should be written to by\n`wpa_supplicant`.\n", "loc": ["networking", "supplicant", "<name>", "configFile", "writable"], "readOnly": false, "type": "boolean"}, "networking.supplicant.<name>.driver": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"nl80211,wext\""}, "description": "Force a specific wpa_supplicant driver.", "loc": ["networking", "supplicant", "<name>", "driver"], "readOnly": false, "type": "null or string"}, "networking.supplicant.<name>.extraCmdArgs": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Command line arguments to add when executing `wpa_supplicant`.", "example": {"_type": "literalExpression", "text": "\"-e/run/wpa_supplicant/entropy.bin\""}, "loc": ["networking", "supplicant", "<name>", "extraCmdArgs"], "readOnly": false, "type": "string"}, "networking.supplicant.<name>.extraConf": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configuration options for {file}`wpa_supplicant.conf`.\nOptions defined here have precedence over options in `configFile`.\nNOTE: Do not write sensitive data into `extraConf` as it will\nbe world-readable in the `nix-store`. For sensitive information\nuse the `configFile` instead.\n", "example": {"_type": "literalExpression", "text": "''\n  ap_scan=1\n  device_name=My-NixOS-Device\n  device_type=1-0050F204-1\n  driver_param=use_p2p_group_interface=1\n  disable_scan_offload=1\n  p2p_listen_reg_class=81\n  p2p_listen_channel=1\n  p2p_oper_reg_class=81\n  p2p_oper_channel=1\n  manufacturer=NixOS\n  model_name=NixOS_Unstable\n  model_number=2015\n''"}, "loc": ["networking", "supplicant", "<name>", "extraConf"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.supplicant.<name>.userControlled.enable": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow normal users to control wpa_supplicant through wpa_gui or wpa_cli.\nThis is useful for laptop users that switch networks a lot and don't want\nto depend on a large package such as NetworkManager just to pick nearby\naccess points.\n", "loc": ["networking", "supplicant", "<name>", "userControlled", "enable"], "readOnly": false, "type": "boolean"}, "networking.supplicant.<name>.userControlled.group": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"wheel\""}, "description": "Members of this group can control wpa_supplicant.", "example": {"_type": "literalExpression", "text": "\"network\""}, "loc": ["networking", "supplicant", "<name>", "userControlled", "group"], "readOnly": false, "type": "string"}, "networking.supplicant.<name>.userControlled.socketDir": {"declarations": ["nixos/modules/services/networking/supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"/run/wpa_supplicant\""}, "description": "Directory of sockets for controlling wpa_supplicant.", "loc": ["networking", "supplicant", "<name>", "userControlled", "socketDir"], "readOnly": false, "type": "string"}, "networking.tcpcrypt.enable": {"declarations": ["nixos/modules/services/networking/tcpcrypt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opportunistic TCP encryption. If the other end\nspeaks Tcpcrypt, then your traffic will be encrypted; otherwise\nit will be sent in clear text. Thus, Tcpcrypt alone provides no\nguarantees -- it is best effort. If, however, a Tcpcrypt\nconnection is successful and any attackers that exist are\npassive, then Tcpcrypt guarantees privacy.\n", "loc": ["networking", "tcpcrypt", "enable"], "readOnly": false, "type": "boolean"}, "networking.tempAddresses": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "if ${config.networking.enableIPv6} then \"default\" else \"disabled\"\n"}, "description": "Whether to enable IPv6 Privacy Extensions for interfaces not\nconfigured explicitly in\n[](#opt-networking.interfaces._name_.tempAddress).\n\nThis sets the ipv6.conf.*.use_tempaddr sysctl for all\ninterfaces. Possible values are:\n\n- `\"default\"` to generate IPv6 temporary addresses and use these as source addresses in routing;\n- `\"disabled\"` to completely disable IPv6 temporary addresses;\n- `\"enabled\"` to generate IPv6 temporary addresses but still use EUI-64 addresses as source addresses;\n", "loc": ["networking", "tempAddresses"], "readOnly": false, "type": "one of \"default\", \"disabled\", \"enabled\""}, "networking.timeServers": {"declarations": ["nixos/modules/config/networking.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"0.nixos.pool.ntp.org\"\n  \"1.nixos.pool.ntp.org\"\n  \"2.nixos.pool.ntp.org\"\n  \"3.nixos.pool.ntp.org\"\n]"}, "description": "The set of NTP servers from which to synchronise.\n", "loc": ["networking", "timeServers"], "readOnly": false, "type": "list of string"}, "networking.ucarp.addr": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "description": "Virtual shared IP address.", "loc": ["networking", "ucarp", "addr"], "readOnly": false, "type": "string"}, "networking.ucarp.advBase": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Advertisement frequency in seconds.", "loc": ["networking", "ucarp", "advBase"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "networking.ucarp.advSkew": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Advertisement skew in seconds.", "loc": ["networking", "ucarp", "advSkew"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "networking.ucarp.deadratio": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Ratio to consider a host as dead.", "loc": ["networking", "ucarp", "deadratio"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "networking.ucarp.downscript": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "description": "Command to run after become backup, the interface name, virtual address\nand optional extra parameters are passed as arguments.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeScript \"downscript\" ''\n  #!/bin/sh\n  ${pkgs.iproute2}/bin/ip addr del \"$2\"/24 dev \"$1\"\n'';\n"}, "loc": ["networking", "ucarp", "downscript"], "readOnly": false, "type": "absolute path"}, "networking.ucarp.enable": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ucarp, userspace implementation of CARP.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "ucarp", "enable"], "readOnly": false, "type": "boolean"}, "networking.ucarp.extraParam": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra parameter to pass to the up/down scripts.", "loc": ["networking", "ucarp", "extraParam"], "readOnly": false, "type": "null or string"}, "networking.ucarp.ignoreIfState": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Ignore interface state, e.g., down or no carrier.", "loc": ["networking", "ucarp", "ignoreIfState"], "readOnly": false, "type": "boolean"}, "networking.ucarp.interface": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "description": "Network interface to bind to.", "example": {"_type": "literalExpression", "text": "\"eth0\""}, "loc": ["networking", "ucarp", "interface"], "readOnly": false, "type": "string"}, "networking.ucarp.neutral": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Do not run downscript at start if the host is the backup.", "loc": ["networking", "ucarp", "neutral"], "readOnly": false, "type": "boolean"}, "networking.ucarp.noMcast": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use broadcast instead of multicast advertisements.", "loc": ["networking", "ucarp", "noMcast"], "readOnly": false, "type": "boolean"}, "networking.ucarp.package": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ucarp"}, "description": "The ucarp package to use. Please note that the default package, pkgs.ucarp, has not received any\nupstream updates for a long time and can be considered as unmaintained.\n", "loc": ["networking", "ucarp", "package"], "readOnly": false, "type": "package"}, "networking.ucarp.passwordFile": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "description": "File containing shared password between CARP hosts.", "example": {"_type": "literalExpression", "text": "\"/run/keys/ucarp-password\""}, "loc": ["networking", "ucarp", "passwordFile"], "readOnly": false, "type": "string"}, "networking.ucarp.preempt": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable preemptive failover.\nThus, this host becomes the CARP master as soon as possible.\n", "loc": ["networking", "ucarp", "preempt"], "readOnly": false, "type": "boolean"}, "networking.ucarp.shutdown": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Call downscript at exit.", "loc": ["networking", "ucarp", "shutdown"], "readOnly": false, "type": "boolean"}, "networking.ucarp.srcIp": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "description": "Source (real) IP address of this host.", "loc": ["networking", "ucarp", "srcIp"], "readOnly": false, "type": "string"}, "networking.ucarp.upscript": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "description": "Command to run after become master, the interface name, virtual address\nand optional extra parameters are passed as arguments.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeScript \"upscript\" ''\n  #!/bin/sh\n  ${pkgs.iproute2}/bin/ip addr add \"$2\"/24 dev \"$1\"\n'';\n"}, "loc": ["networking", "ucarp", "upscript"], "readOnly": false, "type": "absolute path"}, "networking.ucarp.vhId": {"declarations": ["nixos/modules/services/networking/ucarp.nix"], "description": "Virtual IP identifier shared between CARP hosts.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["networking", "ucarp", "vhId"], "readOnly": false, "type": "integer between 1 and 255 (both inclusive)"}, "networking.useDHCP": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use DHCP to obtain an IP address and other\nconfiguration for all network interfaces that do not have any manually\nconfigured IPv4 addresses.\n", "loc": ["networking", "useDHCP"], "readOnly": false, "type": "boolean"}, "networking.useHostResolvConf": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "In containers, whether to use the\n{file}`resolv.conf` supplied by the host.\n", "loc": ["networking", "useHostResolvConf"], "readOnly": false, "type": "boolean"}, "networking.useNetworkd": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether we should use networkd as the network configuration backend or\nthe legacy script based system. Note that this option is experimental,\nenable at your own risk.\n", "loc": ["networking", "useNetworkd"], "readOnly": false, "type": "boolean"}, "networking.usePredictableInterfaceNames": {"declarations": ["nixos/modules/services/hardware/udev.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to assign [predictable names to network interfaces](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/).\nIf enabled, interfaces\nare assigned names that contain topology information\n(e.g. `wlp3s0`) and thus should be stable\nacross reboots.  If disabled, names depend on the order in\nwhich interfaces are discovered by the kernel, which may\nchange randomly across reboots; for instance, you may find\n`eth0` and `eth1` flipping\nunpredictably.\n", "loc": ["networking", "usePredictableInterfaceNames"], "readOnly": false, "type": "boolean"}, "networking.vlans": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define vlan devices that tag packets\non top of a physical interface. The value of this option is an\nattribute set. Each attribute specifies a vlan, with the name\nspecifying the name of the vlan interface.\n", "example": {"_type": "literalExpression", "text": "{\n  vlan0 = {\n    id = 3;\n    interface = \"enp3s0\";\n  };\n  vlan1 = {\n    id = 1;\n    interface = \"wlan0\";\n  };\n}\n"}, "loc": ["networking", "vlans"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.vlans.<name>.id": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The vlan identifier", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["networking", "vlans", "<name>", "id"], "readOnly": false, "type": "signed integer"}, "networking.vlans.<name>.interface": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The interface the vlan will transmit packets through.", "example": {"_type": "literalExpression", "text": "\"enp4s0\""}, "loc": ["networking", "vlans", "<name>", "interface"], "readOnly": false, "type": "string"}, "networking.vswitches": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define Open vSwitches that connect\nphysical networks together. The value of this option is an\nattribute set. Each attribute specifies a vswitch, with the\nattribute name specifying the name of the vswitch's network\ninterface.\n", "example": {"_type": "literalExpression", "text": "{\n  vs0 = {\n    interfaces = {\n      eth0 = { };\n      lo1 = {\n        type = \"internal\";\n      };\n    };\n  };\n  vs1 = {\n    interfaces = [\n      {\n        name = \"eth2\";\n      }\n      {\n        name = \"lo2\";\n        type = \"internal\";\n      }\n    ];\n  };\n}"}, "loc": ["networking", "vswitches"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.vswitches.<name>.controllers": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specify the controller targets. For the allowed options see `man 8 ovs-vsctl`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ptcp:6653:[::1]\"\n]"}, "loc": ["networking", "vswitches", "<name>", "controllers"], "readOnly": false, "type": "list of string"}, "networking.vswitches.<name>.extraOvsctlCmds": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands to manipulate the Open vSwitch database. Every line executed with `ovs-vsctl`.\nAll commands are bundled together with the operations for adding the interfaces\ninto one atomic operation.\n", "example": {"_type": "literalExpression", "text": "''\n  set-fail-mode <switch_name> secure\n  set Bridge <switch_name> stp_enable=true\n''"}, "loc": ["networking", "vswitches", "<name>", "extraOvsctlCmds"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.vswitches.<name>.interfaces": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The physical network interfaces connected by the vSwitch.", "loc": ["networking", "vswitches", "<name>", "interfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.vswitches.<name>.interfaces.<name>.name": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "Name of the interface", "example": {"_type": "literalExpression", "text": "\"eth0\""}, "loc": ["networking", "vswitches", "<name>", "interfaces", "<name>", "name"], "readOnly": false, "type": "string"}, "networking.vswitches.<name>.interfaces.<name>.type": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Openvswitch type to assign to interface", "example": {"_type": "literalExpression", "text": "\"internal\""}, "loc": ["networking", "vswitches", "<name>", "interfaces", "<name>", "type"], "readOnly": false, "type": "null or string"}, "networking.vswitches.<name>.interfaces.<name>.vlan": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Vlan tag to apply to interface", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["networking", "vswitches", "<name>", "interfaces", "<name>", "vlan"], "readOnly": false, "type": "null or signed integer"}, "networking.vswitches.<name>.openFlowRules": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "OpenFlow rules to insert into the Open vSwitch. All `openFlowRules` are\nloaded with `ovs-ofctl` within one atomic operation.\n", "example": {"_type": "literalExpression", "text": "''\n  actions=normal\n''"}, "loc": ["networking", "vswitches", "<name>", "openFlowRules"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.vswitches.<name>.openFlowVersion": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"OpenFlow13\""}, "description": "Version of OpenFlow protocol to use when communicating with the switch internally (e.g. with `openFlowRules`).\n", "loc": ["networking", "vswitches", "<name>", "openFlowVersion"], "readOnly": false, "type": "string"}, "networking.vswitches.<name>.supportedOpenFlowVersions": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"OpenFlow13\"\n]"}, "description": "Supported versions to enable on this switch.\n", "example": {"_type": "literalExpression", "text": "[\n  \"OpenFlow10\"\n  \"OpenFlow13\"\n  \"OpenFlow14\"\n]"}, "loc": ["networking", "vswitches", "<name>", "supportedOpenFlowVersions"], "readOnly": false, "type": "list of string"}, "networking.wg-quick.interfaces": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Wireguard interfaces.", "example": {"_type": "literalExpression", "text": "{\n  wg0 = {\n    address = [\n      \"192.168.20.4/24\"\n    ];\n    peers = [\n      {\n        allowedIPs = [\n          \"192.168.20.1/32\"\n        ];\n        endpoint = \"demo.wireguard.io:12913\";\n        publicKey = \"xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=\";\n      }\n    ];\n    privateKey = \"yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=\";\n  };\n}"}, "loc": ["networking", "wg-quick", "interfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.wg-quick.interfaces.<name>.address": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The IP addresses of the interface.", "example": {"_type": "literalExpression", "text": "[\n  \"192.168.2.1/24\"\n]"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "address"], "readOnly": false, "type": "list of string"}, "networking.wg-quick.interfaces.<name>.autostart": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to bring up this interface automatically during boot.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "autostart"], "readOnly": false, "type": "boolean"}, "networking.wg-quick.interfaces.<name>.configFile": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "wg-quick .conf file, describing the interface.\nUsing this option can be a useful means of configuring WireGuard if\none has an existing .conf file.\nThis overrides any other configuration interface configuration options.\nSee wg-quick manpage for more details.\n", "example": {"_type": "literalExpression", "text": "\"/secret/wg0.conf\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "configFile"], "readOnly": false, "type": "null or string"}, "networking.wg-quick.interfaces.<name>.dns": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The IP addresses of DNS servers to configure.", "example": {"_type": "literalExpression", "text": "[\n  \"192.168.2.2\"\n]"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "dns"], "readOnly": false, "type": "list of string"}, "networking.wg-quick.interfaces.<name>.extraOptions": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra options to append to the interface section. Can be used to define AmneziaWG-specific options.\n", "example": {"_type": "literalExpression", "text": "{\n  H4 = 12345;\n  Jc = 5;\n  Jmax = 42;\n  Jmin = 10;\n  S1 = 60;\n  S2 = 90;\n}"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "extraOptions"], "readOnly": false, "type": "attribute set of (string or signed integer)"}, "networking.wg-quick.interfaces.<name>.generatePrivateKeyFile": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically generate a private key with\n{command}`wg genkey`, at the privateKeyFile location.\n", "loc": ["networking", "wg-quick", "interfaces", "<name>", "generatePrivateKeyFile"], "readOnly": false, "type": "boolean"}, "networking.wg-quick.interfaces.<name>.listenPort": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "16-bit port for listening. Optional; if not specified,\nautomatically generated based on interface name.\n", "example": {"_type": "literalExpression", "text": "51820"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "listenPort"], "readOnly": false, "type": "null or signed integer"}, "networking.wg-quick.interfaces.<name>.mtu": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If not specified, the MTU is automatically determined\nfrom the endpoint addresses or the system default route, which is usually\na sane choice. However, to manually specify an MTU to override this\nautomatic discovery, this value may be specified explicitly.\n", "example": {"_type": "literalExpression", "text": "1248"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "mtu"], "readOnly": false, "type": "null or signed integer"}, "networking.wg-quick.interfaces.<name>.peers": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Peers linked to the interface.", "loc": ["networking", "wg-quick", "interfaces", "<name>", "peers"], "readOnly": false, "type": "list of (submodule)"}, "networking.wg-quick.interfaces.<name>.peers.*.allowedIPs": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of IP (v4 or v6) addresses with CIDR masks from\nwhich this peer is allowed to send incoming traffic and to which\noutgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may\nbe specified for matching all IPv4 addresses, and ::/0 may be specified\nfor matching all IPv6 addresses.", "example": {"_type": "literalExpression", "text": "[\n  \"10.192.122.3/32\"\n  \"10.192.124.1/24\"\n]"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "peers", "*", "allowedIPs"], "readOnly": false, "type": "list of string"}, "networking.wg-quick.interfaces.<name>.peers.*.endpoint": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Endpoint IP or hostname of the peer, followed by a colon,\nand then a port number of the peer.", "example": {"_type": "literalExpression", "text": "\"demo.wireguard.io:12913\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "peers", "*", "endpoint"], "readOnly": false, "type": "null or string"}, "networking.wg-quick.interfaces.<name>.peers.*.persistentKeepalive": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This is optional and is by default off, because most\nusers will not need it. It represents, in seconds, between 1 and 65535\ninclusive, how often to send an authenticated empty packet to the peer,\nfor the purpose of keeping a stateful firewall or NAT mapping valid\npersistently. For example, if the interface very rarely sends traffic,\nbut it might at anytime receive traffic from a peer, and it is behind\nNAT, the interface might benefit from having a persistent keepalive\ninterval of 25 seconds; however, most users will not need this.", "example": {"_type": "literalExpression", "text": "25"}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "peers", "*", "persistentKeepalive"], "readOnly": false, "type": "null or signed integer"}, "networking.wg-quick.interfaces.<name>.peers.*.presharedKey": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Base64 preshared key generated by {command}`wg genpsk`.\nOptional, and may be omitted. This option adds an additional layer of\nsymmetric-key cryptography to be mixed into the already existing\npublic-key cryptography, for post-quantum resistance.\n\nWarning: Consider using presharedKeyFile instead if you do not\nwant to store the key in the world-readable Nix store.\n", "example": {"_type": "literalExpression", "text": "\"rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I=\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "peers", "*", "presharedKey"], "readOnly": false, "type": "null or string"}, "networking.wg-quick.interfaces.<name>.peers.*.presharedKeyFile": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File pointing to preshared key as generated by {command}`wg genpsk`.\nOptional, and may be omitted. This option adds an additional layer of\nsymmetric-key cryptography to be mixed into the already existing\npublic-key cryptography, for post-quantum resistance.\n", "example": {"_type": "literalExpression", "text": "\"/private/wireguard_psk\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "peers", "*", "presharedKeyFile"], "readOnly": false, "type": "null or string"}, "networking.wg-quick.interfaces.<name>.peers.*.publicKey": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "description": "The base64 public key to the peer.", "example": {"_type": "literalExpression", "text": "\"xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "peers", "*", "publicKey"], "readOnly": false, "type": "string"}, "networking.wg-quick.interfaces.<name>.postDown": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Command called after the interface is taken down.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.iproute2}/bin/ip netns del foo\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "postDown"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wg-quick.interfaces.<name>.postUp": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands called after the interface setup.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.iproute2}/bin/ip netns add foo\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "postUp"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wg-quick.interfaces.<name>.preDown": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Command called before the interface is taken down.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.iproute2}/bin/ip netns del foo\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "preDown"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wg-quick.interfaces.<name>.preUp": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands called at the start of the interface setup.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.iproute2}/bin/ip netns add foo\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "preUp"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wg-quick.interfaces.<name>.privateKey": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Base64 private key generated by {command}`wg genkey`.\n\nWarning: Consider using privateKeyFile instead if you do not\nwant to store the key in the world-readable Nix store.\n", "example": {"_type": "literalExpression", "text": "\"yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "privateKey"], "readOnly": false, "type": "null or string"}, "networking.wg-quick.interfaces.<name>.privateKeyFile": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Private key file as generated by {command}`wg genkey`.\n", "example": {"_type": "literalExpression", "text": "\"/private/wireguard_key\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "privateKeyFile"], "readOnly": false, "type": "null or string"}, "networking.wg-quick.interfaces.<name>.table": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The kernel routing table to add this interface's\nassociated routes to. Setting this is useful for e.g. policy routing\n(\"ip rule\") or virtual routing and forwarding (\"ip vrf\"). Both\nnumeric table IDs and table names (/etc/rt_tables) can be used.\nDefaults to \"main\".\n", "example": {"_type": "literalExpression", "text": "\"main\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "table"], "readOnly": false, "type": "null or string"}, "networking.wg-quick.interfaces.<name>.type": {"declarations": ["nixos/modules/services/networking/wg-quick.nix"], "default": {"_type": "literalExpression", "text": "\"wireguard\""}, "description": "The type of the interface. Currently only \"wireguard\" and \"amneziawg\" are supported.\n", "example": {"_type": "literalExpression", "text": "\"amneziawg\""}, "loc": ["networking", "wg-quick", "interfaces", "<name>", "type"], "readOnly": false, "type": "one of \"wireguard\", \"amneziawg\""}, "networking.wireguard.enable": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "config.networking.wireguard.interfaces != { }"}, "description": "Whether to enable WireGuard.\n\n::: {.note}\nBy default, this module is powered by a script-based backend. You can\nenable the networkd backend with {option}`networking.wireguard.useNetworkd`.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "wireguard", "enable"], "readOnly": false, "type": "boolean"}, "networking.wireguard.interfaces": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "WireGuard interfaces.\n", "example": {"_type": "literalExpression", "text": "{\n  wg0 = {\n    ips = [\n      \"192.168.20.4/24\"\n    ];\n    peers = [\n      {\n        allowedIPs = [\n          \"192.168.20.1/32\"\n        ];\n        endpoint = \"demo.wireguard.io:12913\";\n        publicKey = \"xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=\";\n      }\n    ];\n    privateKey = \"yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=\";\n  };\n}"}, "loc": ["networking", "wireguard", "interfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.wireguard.interfaces.<name>.allowedIPsAsRoutes": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Determines whether to add allowed IPs as routes or not.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "allowedIPsAsRoutes"], "readOnly": false, "type": "boolean"}, "networking.wireguard.interfaces.<name>.dynamicEndpointRefreshSeconds": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Periodically refresh the endpoint hostname or address for all peers.\nAllows WireGuard to notice DNS and IPv4/IPv6 connectivity changes.\nThis option can be set or overridden for individual peers.\n\nSetting this to `0` disables periodic refresh.\n", "example": {"_type": "literalExpression", "text": "300"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "dynamicEndpointRefreshSeconds"], "readOnly": false, "type": "signed integer"}, "networking.wireguard.interfaces.<name>.extraOptions": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra options to append to the interface section. Can be used to define AmneziaWG-specific options.\n", "example": {"_type": "literalExpression", "text": "{\n  H4 = 12345;\n  Jc = 5;\n  Jmax = 42;\n  Jmin = 10;\n  S1 = 60;\n  S2 = 90;\n}"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "extraOptions"], "readOnly": false, "type": "attribute set of (string or signed integer)"}, "networking.wireguard.interfaces.<name>.fwMark": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mark all wireguard packets originating from\nthis interface with the given firewall mark. The firewall mark can be\nused in firewalls or policy routing to filter the wireguard packets.\nThis can be useful for setup where all traffic goes through the\nwireguard tunnel, because the wireguard packets need to be routed\ndifferently.\n", "example": {"_type": "literalExpression", "text": "\"0x6e6978\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "fwMark"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.generatePrivateKeyFile": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically generate a private key with\n{command}`wg genkey`, at the privateKeyFile location.\n", "loc": ["networking", "wireguard", "interfaces", "<name>", "generatePrivateKeyFile"], "readOnly": false, "type": "boolean"}, "networking.wireguard.interfaces.<name>.interfaceNamespace": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The pre-existing network namespace the WireGuard\ninterface is moved to. The special value `init` means\nthe init namespace. When `null`, the interface is not\nmoved.\nSee [documentation](https://www.wireguard.com/netns/).\n", "example": {"_type": "literalExpression", "text": "\"init\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "interfaceNamespace"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.ips": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The IP addresses of the interface.", "example": {"_type": "literalExpression", "text": "[\n  \"192.168.2.1/24\"\n]"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "ips"], "readOnly": false, "type": "list of string"}, "networking.wireguard.interfaces.<name>.listenPort": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "16-bit port for listening. Optional; if not specified,\nautomatically generated based on interface name.\n", "example": {"_type": "literalExpression", "text": "51820"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "listenPort"], "readOnly": false, "type": "null or signed integer"}, "networking.wireguard.interfaces.<name>.metric": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the metric of routes related to this Wireguard interface.\n", "example": {"_type": "literalExpression", "text": "700"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "metric"], "readOnly": false, "type": "null or signed integer"}, "networking.wireguard.interfaces.<name>.mtu": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the maximum transmission unit in bytes for the wireguard\ninterface. Beware that the wireguard packets have a header that may\nadd up to 80 bytes to the mtu. By default, the MTU is (1500 - 80) =\n1420. However, if the MTU of the upstream network is lower, the MTU\nof the wireguard network has to be adjusted as well.\n", "example": {"_type": "literalExpression", "text": "1280"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "mtu"], "readOnly": false, "type": "null or signed integer"}, "networking.wireguard.interfaces.<name>.peers": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Peers linked to the interface.", "loc": ["networking", "wireguard", "interfaces", "<name>", "peers"], "readOnly": false, "type": "list of (submodule)"}, "networking.wireguard.interfaces.<name>.peers.*.allowedIPs": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of IP (v4 or v6) addresses with CIDR masks from\nwhich this peer is allowed to send incoming traffic and to which\noutgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may\nbe specified for matching all IPv4 addresses, and ::/0 may be specified\nfor matching all IPv6 addresses.", "example": {"_type": "literalExpression", "text": "[\n  \"10.192.122.3/32\"\n  \"10.192.124.1/24\"\n]"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "allowedIPs"], "readOnly": false, "type": "list of string"}, "networking.wireguard.interfaces.<name>.peers.*.dynamicEndpointRefreshRestartSeconds": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "When the dynamic endpoint refresh that is configured via\ndynamicEndpointRefreshSeconds exits (likely due to a failure),\nrestart that service after this many seconds.\n\nIf set to `null` the value of\n{option}`networking.wireguard.dynamicEndpointRefreshSeconds`\nwill be used as the default.\n", "example": {"_type": "literalExpression", "text": "5"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "dynamicEndpointRefreshRestartSeconds"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "networking.wireguard.interfaces.<name>.peers.*.dynamicEndpointRefreshSeconds": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "config.networking.wireguard.interfaces.<name>.dynamicEndpointRefreshSeconds"}, "description": "Periodically re-execute the `wg` utility every\nthis many seconds in order to let WireGuard notice DNS / hostname\nchanges.\n\nSetting this to `0` disables periodic reexecution.\n\n::: {.note}\nThis peer-level setting is not available when {option}`networking.wireguard.useNetworkd`\nis enabled. The interface-level setting may be used instead.\n:::\n", "example": {"_type": "literalExpression", "text": "5"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "dynamicEndpointRefreshSeconds"], "readOnly": false, "type": "null or signed integer"}, "networking.wireguard.interfaces.<name>.peers.*.endpoint": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Endpoint IP or hostname of the peer, followed by a colon,\nand then a port number of the peer.\n\nWarning for endpoints with changing IPs:\nThe WireGuard kernel side cannot perform DNS resolution.\nThus DNS resolution is done once by the `wg` userspace\nutility, when setting up WireGuard. Consequently, if the IP address\nbehind the name changes, WireGuard will not notice.\nThis is especially common for dynamic-DNS setups, but also applies to\nany other DNS-based setup.\nIf you do not use IP endpoints, you likely want to set\n{option}`networking.wireguard.dynamicEndpointRefreshSeconds`\nto refresh the IPs periodically.\n", "example": {"_type": "literalExpression", "text": "\"demo.wireguard.io:12913\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "endpoint"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.peers.*.name": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "publicKey"}, "description": "Name used to derive peer unit name.", "example": {"_type": "literalExpression", "text": "\"bernd\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "name"], "readOnly": false, "type": "string"}, "networking.wireguard.interfaces.<name>.peers.*.persistentKeepalive": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This is optional and is by default off, because most\nusers will not need it. It represents, in seconds, between 1 and 65535\ninclusive, how often to send an authenticated empty packet to the peer,\nfor the purpose of keeping a stateful firewall or NAT mapping valid\npersistently. For example, if the interface very rarely sends traffic,\nbut it might at anytime receive traffic from a peer, and it is behind\nNAT, the interface might benefit from having a persistent keepalive\ninterval of 25 seconds; however, most users will not need this.", "example": {"_type": "literalExpression", "text": "25"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "persistentKeepalive"], "readOnly": false, "type": "null or signed integer"}, "networking.wireguard.interfaces.<name>.peers.*.presharedKey": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Base64 preshared key generated by {command}`wg genpsk`.\nOptional, and may be omitted. This option adds an additional layer of\nsymmetric-key cryptography to be mixed into the already existing\npublic-key cryptography, for post-quantum resistance.\n\nWarning: Consider using presharedKeyFile instead if you do not\nwant to store the key in the world-readable Nix store.\n", "example": {"_type": "literalExpression", "text": "\"rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I=\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "presharedKey"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.peers.*.presharedKeyFile": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File pointing to preshared key as generated by {command}`wg genpsk`.\nOptional, and may be omitted. This option adds an additional layer of\nsymmetric-key cryptography to be mixed into the already existing\npublic-key cryptography, for post-quantum resistance.\n", "example": {"_type": "literalExpression", "text": "\"/private/wireguard_psk\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "presharedKeyFile"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.peers.*.publicKey": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "description": "The base64 public key of the peer.", "example": {"_type": "literalExpression", "text": "\"xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "peers", "*", "publicKey"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "networking.wireguard.interfaces.<name>.postSetup": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands called at the end of the interface setup.", "example": {"_type": "literalExpression", "text": "''printf \"nameserver 10.200.100.1\" | ${pkgs.openresolv}/bin/resolvconf -a wg0 -m 0''\n"}, "loc": ["networking", "wireguard", "interfaces", "<name>", "postSetup"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wireguard.interfaces.<name>.postShutdown": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands called after shutting down the interface.", "example": {"_type": "literalExpression", "text": "\"${pkgs.openresolv}/bin/resolvconf -d wg0\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "postShutdown"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wireguard.interfaces.<name>.preSetup": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands called at the start of the interface setup.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.iproute2}/bin/ip netns add foo\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "preSetup"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wireguard.interfaces.<name>.preShutdown": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands called before shutting down the interface.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.iproute2}/bin/ip netns del foo\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "preShutdown"], "readOnly": false, "type": "strings concatenated with \"\\n\" or (list of string) convertible to it"}, "networking.wireguard.interfaces.<name>.privateKey": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Base64 private key generated by {command}`wg genkey`.\n\nWarning: Consider using privateKeyFile instead if you do not\nwant to store the key in the world-readable Nix store.\n", "example": {"_type": "literalExpression", "text": "\"yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "privateKey"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.privateKeyFile": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Private key file as generated by {command}`wg genkey`.\n", "example": {"_type": "literalExpression", "text": "\"/private/wireguard_key\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "privateKeyFile"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.socketNamespace": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The pre-existing network namespace in which the\nWireGuard interface is created, and which retains the socket even if the\ninterface is moved via {option}`interfaceNamespace`. When\n`null`, the interface is created in the init namespace.\nSee [documentation](https://www.wireguard.com/netns/).\n", "example": {"_type": "literalExpression", "text": "\"container\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "socketNamespace"], "readOnly": false, "type": "null or string"}, "networking.wireguard.interfaces.<name>.table": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "\"main\""}, "description": "The kernel routing table to add this interface's\nassociated routes to. Setting this is useful for e.g. policy routing\n(\"ip rule\") or virtual routing and forwarding (\"ip vrf\"). Both\nnumeric table IDs and table names (/etc/rt_tables) can be used.\nDefaults to \"main\".\n", "loc": ["networking", "wireguard", "interfaces", "<name>", "table"], "readOnly": false, "type": "string"}, "networking.wireguard.interfaces.<name>.type": {"declarations": ["nixos/modules/services/networking/wireguard.nix"], "default": {"_type": "literalExpression", "text": "\"wireguard\""}, "description": "The type of the interface. Currently only \"wireguard\" and \"amneziawg\" are supported.\n", "example": {"_type": "literalExpression", "text": "\"amneziawg\""}, "loc": ["networking", "wireguard", "interfaces", "<name>", "type"], "readOnly": false, "type": "one of \"wireguard\", \"amneziawg\""}, "networking.wireguard.useNetworkd": {"declarations": ["nixos/modules/services/networking/wireguard-networkd.nix"], "default": {"_type": "literalExpression", "text": "config.networking.useNetworkd"}, "description": "Whether to use networkd as the network configuration backend for\nWireguard instead of the legacy script-based system.\n\n::: {.warning}\nSome options have slightly different behavior with the networkd and\nscript-based backends. Check the documentation for each Wireguard\noption you use before enabling this option.\n:::\n", "loc": ["networking", "wireguard", "useNetworkd"], "readOnly": false, "type": "boolean"}, "networking.wireless.allowAuxiliaryImperativeNetworks": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow configuring networks \"imperatively\" (e.g. via\n`wpa_supplicant_gui`) and declaratively via\n[](#opt-networking.wireless.networks).\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "wireless", "allowAuxiliaryImperativeNetworks"], "readOnly": false, "type": "boolean"}, "networking.wireless.athUserRegulatoryDomain": {"declarations": ["nixos/modules/hardware/network/ath-user-regd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, sets the ATH_USER_REGD kernel config switch to true to\ndisable the enforcement of EEPROM regulatory restrictions for ath\ndrivers. Requires at least Linux 5.8.\n", "loc": ["networking", "wireless", "athUserRegulatoryDomain"], "readOnly": false, "type": "boolean"}, "networking.wireless.autoDetectInterfaces": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable automatic detection of wireless interfaces.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "wireless", "autoDetectInterfaces"], "readOnly": false, "type": "boolean"}, "networking.wireless.dbusControlled": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "length config.networking.wireless.interfaces < 2"}, "description": "Whether to enable the DBus control interface.\nThis is only needed when using NetworkManager or connman.\n", "loc": ["networking", "wireless", "dbusControlled"], "readOnly": false, "type": "boolean"}, "networking.wireless.driver": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"nl80211,wext\""}, "description": "Force a specific wpa_supplicant driver.", "loc": ["networking", "wireless", "driver"], "readOnly": false, "type": "string"}, "networking.wireless.enable": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable wpa_supplicant.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "wireless", "enable"], "readOnly": false, "type": "boolean"}, "networking.wireless.enableHardening": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to apply security hardening measures to wpa_supplicant.\nThese include limiting access to the filesystem, devices and network\ncapabilities.\n\n::: {.note}\nDisabling this will increase the potential attack surface if the\nwpa_supplicant daemon becomes compromised, but it may be necessary\nfor more complex enterprise networks (for example requiring\naccess to mutable files, smart cards or TPM devices).\n:::\n", "loc": ["networking", "wireless", "enableHardening"], "readOnly": false, "type": "unspecified value"}, "networking.wireless.extraConfig": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines appended to the configuration file.\nSee\n{manpage}`wpa_supplicant.conf(5)`\nfor available options.\n", "example": {"_type": "literalExpression", "text": "''\n  p2p_disabled=1\n''"}, "loc": ["networking", "wireless", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "networking.wireless.extraConfigFiles": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra wpa_supplicant configuration files to load.\n", "loc": ["networking", "wireless", "extraConfigFiles"], "readOnly": false, "type": "list of absolute path"}, "networking.wireless.fallbackToWPA2": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to fall back to WPA2 authentication protocols if WPA3 failed.\nThis allows old wireless cards (that lack recent features required by\nWPA3) to connect to mixed WPA2/WPA3 access points.\n\nTo avoid possible downgrade attacks, disable this options.\n", "loc": ["networking", "wireless", "fallbackToWPA2"], "readOnly": false, "type": "boolean"}, "networking.wireless.interfaces": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The interfaces {command}`wpa_supplicant` will use. If empty and\n[](#opt-networking.wireless.autoDetectInterfaces) is true it will\nautomatically use all wireless interfaces.\n\n::: {.note}\nA separate wpa_supplicant instance will be started for each interface.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  \"wlan0\"\n  \"wlan1\"\n]"}, "loc": ["networking", "wireless", "interfaces"], "readOnly": false, "type": "list of string"}, "networking.wireless.iwd.enable": {"declarations": ["nixos/modules/services/networking/iwd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable iwd.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["networking", "wireless", "iwd", "enable"], "readOnly": false, "type": "boolean"}, "networking.wireless.iwd.package": {"declarations": ["nixos/modules/services/networking/iwd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.iwd"}, "description": "The iwd package to use.", "loc": ["networking", "wireless", "iwd", "package"], "readOnly": false, "type": "package"}, "networking.wireless.iwd.settings": {"declarations": ["nixos/modules/services/networking/iwd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options passed to iwd.\nSee {manpage}`iwd.config(5)` for supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  Network = {\n    EnableIPv6 = true;\n    RoutePriorityOffset = 300;\n  };\n  Settings = {\n    AutoConnect = true;\n  };\n}"}, "loc": ["networking", "wireless", "iwd", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "networking.wireless.networks": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The network definitions to automatically connect to when\n {command}`wpa_supplicant` is running. If this\n parameter is left empty wpa_supplicant will use\n/etc/wpa_supplicant.conf as the configuration file.\n", "example": {"_type": "literalExpression", "text": "{ echelon = {                   # SSID with no spaces or special characters\n    psk = \"abcdefgh\";           # (password will be written to /nix/store!)\n  };\n\n  echelon = {                   # safe version of the above: read PSK from the\n    pskRaw = \"ext:psk_echelon\"; # variable psk_echelon, defined in secretsFile,\n  };                            # this won't leak into /nix/store\n\n  \"echelon's AP\" = {            # SSID with spaces and/or special characters\n     psk = \"ijklmnop\";          # (password will be written to /nix/store!)\n  };\n\n  \"free.wifi\" = {};             # Public wireless network\n}\n"}, "loc": ["networking", "wireless", "networks"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.wireless.networks.<name>.auth": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Use this option to configure advanced authentication methods\nlike EAP. See {manpage}`wpa_supplicant.conf(5)` for example\nconfigurations.\n\n::: {.warning}\nBe aware that this will be written to the Nix store\nin plaintext! Use an external reference like\n`ext:secretname` for secrets.\n:::\n\n::: {.note}\nMutually exclusive with {var}`psk` and {var}`pskRaw`.\n:::\n", "example": {"_type": "literalExpression", "text": "''\n  eap=PEAP\n  identity=\"user@example.com\"\n  password=ext:example_password\n''"}, "loc": ["networking", "wireless", "networks", "<name>", "auth"], "readOnly": false, "type": "null or string"}, "networking.wireless.networks.<name>.authProtocols": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"WPA-PSK\"\n  \"WPA-EAP\"\n  \"SAE\"\n  \"FT-PSK\"\n  \"FT-EAP\"\n  \"FT-SAE\"\n]"}, "description": "The list of authentication protocols accepted by this network.\nThis corresponds to the `key_mgmt` option in wpa_supplicant.\n", "loc": ["networking", "wireless", "networks", "<name>", "authProtocols"], "readOnly": false, "type": "list of (one of \"WPA-PSK\", \"WPA-EAP\", \"IEEE8021X\", \"NONE\", \"WPA-NONE\", \"FT-PSK\", \"FT-EAP\", \"FT-EAP-SHA384\", \"WPA-PSK-SHA256\", \"WPA-EAP-SHA256\", \"SAE\", \"FT-SAE\", \"WPA-EAP-SUITE-B\", \"WPA-EAP-SUITE-B-192\", \"OSEN\", \"FILS-SHA256\", \"FILS-SHA384\", \"FT-FILS-SHA256\", \"FT-FILS-SHA384\", \"OWE\", \"DPP\")"}, "networking.wireless.networks.<name>.bssid": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, this network block is used only when associating with\nthe AP using the configured BSSID.\n", "example": {"_type": "literalExpression", "text": "\"02:00:00:00:00:01\""}, "loc": ["networking", "wireless", "networks", "<name>", "bssid"], "readOnly": false, "type": "null or string"}, "networking.wireless.networks.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration lines appended to the network block.\nSee {manpage}`wpa_supplicant.conf(5)` for available options.\n", "example": {"_type": "literalExpression", "text": "''\n  bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66\n''"}, "loc": ["networking", "wireless", "networks", "<name>", "extraConfig"], "readOnly": false, "type": "string"}, "networking.wireless.networks.<name>.hidden": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set this to `true` if the SSID of the network is hidden.\n", "example": {"_type": "literalExpression", "text": "{ echelon = {\n    hidden = true;\n    psk = \"abcdefgh\";\n  };\n}\n"}, "loc": ["networking", "wireless", "networks", "<name>", "hidden"], "readOnly": false, "type": "boolean"}, "networking.wireless.networks.<name>.priority": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default, all networks will get same priority group (0). If\nsome of the networks are more desirable, this field can be used\nto change the order in which wpa_supplicant goes through the\nnetworks when selecting a BSS. The priority groups will be\niterated in decreasing priority (i.e., the larger the priority\nvalue, the sooner the network is matched against the scan\nresults). Within each priority group, networks will be selected\nbased on security policy, signal strength, etc.\n", "loc": ["networking", "wireless", "networks", "<name>", "priority"], "readOnly": false, "type": "null or signed integer"}, "networking.wireless.networks.<name>.psk": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The network's pre-shared key in plaintext defaulting\nto being a network without any authentication.\n\n::: {.warning}\nBe aware that this will be written to the Nix store\nin plaintext! Use {var}`pskRaw` with an external\nreference to keep it safe.\n:::\n\n::: {.note}\nMutually exclusive with {var}`pskRaw`.\n:::\n", "loc": ["networking", "wireless", "networks", "<name>", "psk"], "readOnly": false, "type": "null or string matching the pattern [[:print:]]{8,63}"}, "networking.wireless.networks.<name>.pskRaw": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Either the raw pre-shared key in hexadecimal format\nor the name of the secret (as defined inside\n[](#opt-networking.wireless.secretsFile) and prefixed\nwith `ext:`) containing the network pre-shared key.\n\n::: {.warning}\nBe aware that this will be written to the Nix store\nin plaintext! Always use an external reference.\n:::\n\n::: {.note}\nThe external secret can be either the plaintext\npassphrase or the raw pre-shared key.\n:::\n\n::: {.note}\nMutually exclusive with {var}`psk` and {var}`auth`.\n:::\n", "example": {"_type": "literalExpression", "text": "\"ext:name_of_the_secret_here\""}, "loc": ["networking", "wireless", "networks", "<name>", "pskRaw"], "readOnly": false, "type": "null or string matching the pattern ([[:xdigit:]]{64})|(ext:[^=]+)"}, "networking.wireless.networks.<name>.ssid": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "You could use this field to override the network's ssid.\nThis can be useful to, for example, specify two networks\nthat share the same SSID but not the same password.\nSpecifying the BSSID of the network can make two entries of\nthe same SSID show up as different ones in wpa_cli.\n", "loc": ["networking", "wireless", "networks", "<name>", "ssid"], "readOnly": false, "type": "string"}, "networking.wireless.scanOnLowSignal": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically scan for (better) networks when the signal of\nthe current one is low. This will make roaming between access points\nfaster, but will consume more power.\n", "loc": ["networking", "wireless", "scanOnLowSignal"], "readOnly": false, "type": "boolean"}, "networking.wireless.secretsFile": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File consisting of lines of the form `varname=value`\nto define variables for the wireless configuration.\n\nSecrets (PSKs, passwords, etc.) can be provided without adding them to\nthe world-readable Nix store by defining them in the secrets file and\nreferring to them in option [](#opt-networking.wireless.networks)\nwith the syntax `ext:secretname`. Example:\n\n```\n# content of /run/secrets/wireless.conf\npsk_home=mypassword\npsk_other=6a381cea59c7a2d6b30736ba0e6f397f7564a044bcdb7a327a1d16a1ed91b327\npass_work=myworkpassword\n\n# wireless-related configuration\nnetworking.wireless.secretsFile = \"/run/secrets/wireless.conf\";\nnetworking.wireless.networks = {\n  home.pskRaw = \"ext:psk_home\";\n  other.pskRaw = \"ext:psk_other\";\n  work.auth = ''\n    eap=PEAP\n    identity=\"my-user@example.com\"\n    password=ext:pass_work\n  '';\n};\n```\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/wireless.conf\""}, "loc": ["networking", "wireless", "secretsFile"], "readOnly": false, "type": "null or absolute path"}, "networking.wireless.userControlled": {"declarations": ["nixos/modules/services/networking/wpa_supplicant.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow users of the `wpa_supplicant` group to control wpa_supplicant\nthrough wpa_gui or wpa_cli.\nThis is useful for laptop users that switch networks a lot and don't want\nto depend on a large package such as NetworkManager just to pick nearby\naccess points.\n\n::: {.note}\nWhen networks are configured declaratively, you cannot persist any settings\nvia wpa_gui or wpa_cli, unless {option}`allowAuxiliaryImperativeNetworks`\nis used.\n:::\n", "loc": ["networking", "wireless", "userControlled"], "readOnly": false, "type": "boolean or (attribute set) convertible to it"}, "networking.wlanInterfaces": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Creating multiple WLAN interfaces on top of one physical WLAN device (NIC).\n\nThe name of the WLAN interface corresponds to the name of the attribute.\nA NIC is referenced by the persistent device name of the WLAN interface that\n`udev` assigns to a NIC by default.\nIf a NIC supports multiple WLAN interfaces, then the one NIC can be used as\n`device` for multiple WLAN interfaces.\nIf a NIC is used for creating WLAN interfaces, then the default WLAN interface\nwith a persistent device name form `udev` is not created.\nA WLAN interface with the persistent name assigned from `udev`\nwould have to be created explicitly.\n", "example": {"_type": "literalExpression", "text": "{\n  wlan-station0 = {\n      device = \"wlp6s0\";\n  };\n  wlan-adhoc0 = {\n      type = \"ibss\";\n      device = \"wlp6s0\";\n      mac = \"02:00:00:00:00:01\";\n  };\n  wlan-p2p0 = {\n      device = \"wlp6s0\";\n      mac = \"02:00:00:00:00:02\";\n  };\n  wlan-ap0 = {\n      device = \"wlp6s0\";\n      mac = \"02:00:00:00:00:03\";\n  };\n}\n"}, "loc": ["networking", "wlanInterfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "networking.wlanInterfaces.<name>.device": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "description": "The name of the underlying hardware WLAN device as assigned by `udev`.", "example": {"_type": "literalExpression", "text": "\"wlp6s0\""}, "loc": ["networking", "wlanInterfaces", "<name>", "device"], "readOnly": false, "type": "string"}, "networking.wlanInterfaces.<name>.flags": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Flags for interface of type `monitor`.\n", "example": {"_type": "literalExpression", "text": "\"control\""}, "loc": ["networking", "wlanInterfaces", "<name>", "flags"], "readOnly": false, "type": "null or one of \"none\", \"fcsfail\", \"control\", \"otherbss\", \"cook\", \"active\""}, "networking.wlanInterfaces.<name>.fourAddr": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Whether to enable `4-address mode` with type `managed`.", "loc": ["networking", "wlanInterfaces", "<name>", "fourAddr"], "readOnly": false, "type": "null or boolean"}, "networking.wlanInterfaces.<name>.mac": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MAC address to use for the device. If `null`, then the MAC of the\nunderlying hardware WLAN device is used.\n\nINFO: Locally administered MAC addresses are of the form:\n- x2:xx:xx:xx:xx:xx\n- x6:xx:xx:xx:xx:xx\n- xA:xx:xx:xx:xx:xx\n- xE:xx:xx:xx:xx:xx\n", "example": {"_type": "literalExpression", "text": "\"02:00:00:00:00:01\""}, "loc": ["networking", "wlanInterfaces", "<name>", "mac"], "readOnly": false, "type": "null or string"}, "networking.wlanInterfaces.<name>.meshID": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MeshID of interface with type `mesh`.", "loc": ["networking", "wlanInterfaces", "<name>", "meshID"], "readOnly": false, "type": "null or string"}, "networking.wlanInterfaces.<name>.type": {"declarations": ["nixos/modules/tasks/network-interfaces.nix"], "default": {"_type": "literalExpression", "text": "\"managed\""}, "description": "The type of the WLAN interface.\nThe type has to be supported by the underlying hardware of the device.\n", "example": {"_type": "literalExpression", "text": "\"ibss\""}, "loc": ["networking", "wlanInterfaces", "<name>", "type"], "readOnly": false, "type": "one of \"managed\", \"ibss\", \"monitor\", \"mesh\", \"wds\""}, "nix.buildMachines": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option lists the machines to be used if distributed builds are\nenabled (see {option}`nix.distributedBuilds`).\nNix will perform derivations on those machines via SSH by copying the\ninputs to the Nix store on the remote machine, starting the build,\nthen copying the output back to the local Nix store.\n", "loc": ["nix", "buildMachines"], "readOnly": false, "type": "list of (submodule)"}, "nix.buildMachines.*.hostName": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "description": "The hostname of the build machine.\n", "example": {"_type": "literalExpression", "text": "\"nixbuilder.example.org\""}, "loc": ["nix", "buildMachines", "*", "hostName"], "readOnly": false, "type": "string"}, "nix.buildMachines.*.mandatoryFeatures": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of features mandatory for this builder. The builder will\nbe ignored for derivations that don't require all features in\nthis list. All mandatory features are automatically included in\n{var}`supportedFeatures`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"big-parallel\"\n]"}, "loc": ["nix", "buildMachines", "*", "mandatoryFeatures"], "readOnly": false, "type": "list of string"}, "nix.buildMachines.*.maxJobs": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "The number of concurrent jobs the build machine supports. The\nbuild machine will enforce its own limits, but this allows hydra\nto schedule better since there is no work-stealing between build\nmachines.\n", "loc": ["nix", "buildMachines", "*", "maxJobs"], "readOnly": false, "type": "signed integer"}, "nix.buildMachines.*.protocol": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "\"ssh\""}, "description": "The protocol used for communicating with the build machine.\nUse `ssh-ng` if your remote builder and your\nlocal Nix version support that improved protocol.\n\nUse `null` when trying to change the special localhost builder\nwithout a protocol which is for example used by hydra.\n", "example": {"_type": "literalExpression", "text": "\"ssh-ng\""}, "loc": ["nix", "buildMachines", "*", "protocol"], "readOnly": false, "type": "one of <null>, \"ssh\", \"ssh-ng\""}, "nix.buildMachines.*.publicHostKey": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The (base64-encoded) public host key of this builder. The field\nis calculated via {command}`base64 -w0 /etc/ssh/ssh_host_type_key.pub`.\nIf null, SSH will use its regular known-hosts file when connecting.\n", "loc": ["nix", "buildMachines", "*", "publicHostKey"], "readOnly": false, "type": "null or string"}, "nix.buildMachines.*.speedFactor": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "The relative speed of this builder. This is an arbitrary integer\nthat indicates the speed of this builder, relative to other\nbuilders. Higher is faster.\n", "loc": ["nix", "buildMachines", "*", "speedFactor"], "readOnly": false, "type": "signed integer"}, "nix.buildMachines.*.sshKey": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the SSH private key with which to authenticate on\nthe build machine. The private key must not have a passphrase.\nIf null, the building user (root on NixOS machines) must have an\nappropriate ssh configuration to log in non-interactively.\n\nNote that for security reasons, this path must point to a file\nin the local filesystem, *not* to the nix store.\n", "example": {"_type": "literalExpression", "text": "\"/root/.ssh/id_buildhost_builduser\""}, "loc": ["nix", "buildMachines", "*", "sshKey"], "readOnly": false, "type": "null or string"}, "nix.buildMachines.*.sshUser": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The username to log in as on the remote host. This user must be\nable to log in and run nix commands non-interactively. It must\nalso be privileged to build derivations, so must be included in\n{option}`nix.settings.trusted-users`.\n", "example": {"_type": "literalExpression", "text": "\"builder\""}, "loc": ["nix", "buildMachines", "*", "sshUser"], "readOnly": false, "type": "null or string"}, "nix.buildMachines.*.supportedFeatures": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of features supported by this builder. The builder will\nbe ignored for derivations that require features not in this\nlist.\n", "example": {"_type": "literalExpression", "text": "[\n  \"kvm\"\n  \"big-parallel\"\n]"}, "loc": ["nix", "buildMachines", "*", "supportedFeatures"], "readOnly": false, "type": "list of string"}, "nix.buildMachines.*.system": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The system type the build machine can execute derivations on.\nEither this attribute or {var}`systems` must be\npresent, where {var}`system` takes precedence if\nboth are set.\n", "example": {"_type": "literalExpression", "text": "\"x86_64-linux\""}, "loc": ["nix", "buildMachines", "*", "system"], "readOnly": false, "type": "null or string"}, "nix.buildMachines.*.systems": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The system types the build machine can execute derivations on.\nEither this attribute or {var}`system` must be\npresent, where {var}`system` takes precedence if\nboth are set.\n", "example": {"_type": "literalExpression", "text": "[\n  \"x86_64-linux\"\n  \"aarch64-linux\"\n]"}, "loc": ["nix", "buildMachines", "*", "systems"], "readOnly": false, "type": "list of string"}, "nix.channel.enable": {"declarations": ["nixos/modules/config/nix-channel.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the `nix-channel` command and state files are made available on the machine.\n\nThe following files are initialized when enabled:\n  - `/nix/var/nix/profiles/per-user/root/channels`\n  - `/root/.nix-channels`\n  - `$HOME/.nix-defexpr/channels` (on login)\n\nDisabling this option will not remove the state files from the system.\n", "loc": ["nix", "channel", "enable"], "readOnly": false, "type": "boolean"}, "nix.checkAllErrors": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, checks the nix.conf parsing for any kind of error. When disabled, checks only for unknown settings.\n", "loc": ["nix", "checkAllErrors"], "readOnly": false, "type": "boolean"}, "nix.checkConfig": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, checks that Nix can parse the generated nix.conf.\n", "loc": ["nix", "checkConfig"], "readOnly": false, "type": "boolean"}, "nix.daemonCPUSchedPolicy": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"other\""}, "description": "Nix daemon process CPU scheduling policy. This policy propagates to\nbuild processes. `other` is the default scheduling\npolicy for regular tasks. The `batch` policy is\nsimilar to `other`, but optimised for\nnon-interactive tasks. `idle` is for extremely\nlow-priority tasks that should only be run when no other task\nrequires CPU time.\n\nPlease note that while using the `idle` policy may\ngreatly improve responsiveness of a system performing expensive\nbuilds, it may also slow down and potentially starve crucial\nconfiguration updates during load.\n\n`idle` may therefore be a sensible policy for\nsystems that experience only intermittent phases of high CPU load,\nsuch as desktop or portable computers used interactively. Other\nsystems should use the `other` or\n`batch` policy instead.\n\nFor more fine-grained resource control, please refer to\n{manpage}`systemd.resource-control(5)` and adjust\n{option}`systemd.services.nix-daemon` directly.\n", "example": {"_type": "literalExpression", "text": "\"batch\""}, "loc": ["nix", "daemonCPUSchedPolicy"], "readOnly": false, "type": "one of \"other\", \"batch\", \"idle\""}, "nix.daemonGroup": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Group to use to run the Nix daemon.\n", "loc": ["nix", "daemonGroup"], "readOnly": false, "type": "string"}, "nix.daemonIOSchedClass": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"best-effort\""}, "description": "Nix daemon process I/O scheduling class. This class propagates to\nbuild processes. `best-effort` is the default\nclass for regular tasks. The `idle` class is for\nextremely low-priority tasks that should only perform I/O when no\nother task does.\n\nPlease note that while using the `idle` scheduling\nclass can improve responsiveness of a system performing expensive\nbuilds, it might also slow down or starve crucial configuration\nupdates during load.\n\n`idle` may therefore be a sensible class for\nsystems that experience only intermittent phases of high I/O load,\nsuch as desktop or portable computers used interactively. Other\nsystems should use the `best-effort` class.\n", "example": {"_type": "literalExpression", "text": "\"idle\""}, "loc": ["nix", "daemonIOSchedClass"], "readOnly": false, "type": "one of \"best-effort\", \"idle\""}, "nix.daemonIOSchedPriority": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "Nix daemon process I/O scheduling priority. This priority propagates\nto build processes. The supported priorities depend on the\nscheduling policy: With idle, priorities are not used in scheduling\ndecisions. best-effort supports values in the range 0 (high) to 7\n(low).\n", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["nix", "daemonIOSchedPriority"], "readOnly": false, "type": "signed integer"}, "nix.daemonUser": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "User to use to run the Nix daemon.\nIf this is not \"root\" then the Nix daemon will set several settings to preserve functionality.\nWhen setting this option, you must also set `nix.daemonGroup`.\n", "loc": ["nix", "daemonUser"], "readOnly": false, "type": "string"}, "nix.distributedBuilds": {"declarations": ["nixos/modules/config/nix-remote-build.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to distribute builds to the machines listed in\n{option}`nix.buildMachines`.\n", "loc": ["nix", "distributedBuilds"], "readOnly": false, "type": "boolean"}, "nix.enable": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Nix.\nDisabling Nix makes the system hard to modify and the Nix programs and configuration will not be made available by NixOS itself.\n", "loc": ["nix", "enable"], "readOnly": false, "type": "boolean"}, "nix.extraOptions": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional text appended to {file}`nix.conf`.", "example": {"_type": "literalExpression", "text": "''\n  keep-outputs = true\n  keep-derivations = true\n''"}, "loc": ["nix", "extraOptions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "nix.firewall.allowLoopback": {"declarations": ["nixos/modules/services/system/nix-daemon-firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow traffic on the loopback interface. Traffic is still subject to protocol/port rules", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["nix", "firewall", "allowLoopback"], "readOnly": false, "type": "unspecified value"}, "nix.firewall.allowNonTCPUDP": {"declarations": ["nixos/modules/services/system/nix-daemon-firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow traffic that is neither TCP nor UDP", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["nix", "firewall", "allowNonTCPUDP"], "readOnly": false, "type": "boolean"}, "nix.firewall.allowPrivateNetworks": {"declarations": ["nixos/modules/services/system/nix-daemon-firewall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to allow traffic to local networks. Traffic is still subject to protocol/port rules. Note that this option may break DNS resolution when the DNS resolver is in a local network", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["nix", "firewall", "allowPrivateNetworks"], "readOnly": false, "type": "unspecified value"}, "nix.firewall.allowedTCPPorts": {"declarations": ["nixos/modules/services/system/nix-daemon-firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "TCP ports to which traffic is allowed. Specifying no ports will allow all TCP traffic", "example": {"_type": "literalExpression", "text": "[\n  \"http\"\n  443\n  \"30000-31000\"\n]"}, "loc": ["nix", "firewall", "allowedTCPPorts"], "readOnly": false, "type": "list of ((optionally newline-terminated) single-line string or 16 bit unsigned integer; between 0 and 65535 (both inclusive))"}, "nix.firewall.allowedUDPPorts": {"declarations": ["nixos/modules/services/system/nix-daemon-firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "UDP ports to which traffic is allowed. Specifying no ports will allow all UDP traffic", "example": {"_type": "literalExpression", "text": "[\n  53\n]"}, "loc": ["nix", "firewall", "allowedUDPPorts"], "readOnly": false, "type": "list of ((optionally newline-terminated) single-line string or 16 bit unsigned integer; between 0 and 65535 (both inclusive))"}, "nix.firewall.enable": {"declarations": ["nixos/modules/services/system/nix-daemon-firewall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable firewalling for outgoing traffic of the nix daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["nix", "firewall", "enable"], "readOnly": false, "type": "boolean"}, "nix.firewall.extraNftablesRules": {"declarations": ["nixos/modules/services/system/nix-daemon-firewall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra nftables rules to prepend to the generated ones", "example": {"_type": "literalExpression", "text": "[\n  \"ip daddr 1.1.1.1 udp dport accept\"\n]"}, "loc": ["nix", "firewall", "extraNftablesRules"], "readOnly": false, "type": "list of (optionally newline-terminated) single-line string"}, "nix.gc.automatic": {"declarations": ["nixos/modules/services/misc/nix-gc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically run the garbage collector at a specific time.", "loc": ["nix", "gc", "automatic"], "readOnly": false, "type": "boolean"}, "nix.gc.dates": {"declarations": ["nixos/modules/services/misc/nix-gc.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"03:15\"\n]"}, "description": "How often or when garbage collection is performed. For most desktop and server systems\na sufficient garbage collection is once a week.\n\nThis value must be a calendar event in the format specified by\n{manpage}`systemd.time(7)`.\n", "example": {"_type": "literalExpression", "text": "\"weekly\""}, "loc": ["nix", "gc", "dates"], "readOnly": false, "type": "(optionally newline-terminated) single-line string or list of string"}, "nix.gc.options": {"declarations": ["nixos/modules/services/misc/nix-gc.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Options given to [`nix-collect-garbage`](https://nixos.org/manual/nix/stable/command-ref/nix-collect-garbage) when the garbage collector is run automatically.\n", "example": {"_type": "literalExpression", "text": "\"--max-freed $((64 * 1024**3))\""}, "loc": ["nix", "gc", "options"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "nix.gc.persistent": {"declarations": ["nixos/modules/services/misc/nix-gc.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Takes a boolean argument. If true, the time when the service\nunit was last triggered is stored on disk. When the timer is\nactivated, the service unit is triggered immediately if it\nwould have been triggered at least once during the time when\nthe timer was inactive. Such triggering is nonetheless\nsubject to the delay imposed by RandomizedDelaySec=. This is\nuseful to catch up on missed runs of the service when the\nsystem was powered down.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["nix", "gc", "persistent"], "readOnly": false, "type": "boolean"}, "nix.gc.randomizedDelaySec": {"declarations": ["nixos/modules/services/misc/nix-gc.nix"], "default": {"_type": "literalExpression", "text": "\"0\""}, "description": "Add a randomized delay before each garbage collection.\nThe delay will be chosen between zero and this value.\nThis value must be a time span in the format specified by\n{manpage}`systemd.time(7)`\n", "example": {"_type": "literalExpression", "text": "\"45min\""}, "loc": ["nix", "gc", "randomizedDelaySec"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "nix.nixPath": {"declarations": ["nixos/modules/config/nix-channel.nix"], "default": {"_type": "literalExpression", "text": "''\n  if nix.channel.enable\n  then [\n    \"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos\"\n    \"nixos-config=/etc/nixos/configuration.nix\"\n    \"/nix/var/nix/profiles/per-user/root/channels\"\n  ]\n  else [];\n''"}, "description": "The default Nix expression search path, used by the Nix\nevaluator to look up paths enclosed in angle brackets\n(e.g. `<nixpkgs>`).\n", "loc": ["nix", "nixPath"], "readOnly": false, "type": "list of string"}, "nix.nrBuildUsers": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "description": "Number of `nixbld` user accounts created to\nperform secure concurrent builds.  If you receive an error\nmessage saying that \u201call build users are currently in use\u201d,\nyou should increase this value.\n", "loc": ["nix", "nrBuildUsers"], "readOnly": false, "type": "signed integer"}, "nix.optimise.automatic": {"declarations": ["nixos/modules/services/misc/nix-optimise.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically run the nix store optimiser at a specific time.", "loc": ["nix", "optimise", "automatic"], "readOnly": false, "type": "boolean"}, "nix.optimise.dates": {"declarations": ["nixos/modules/services/misc/nix-optimise.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"03:45\"\n]"}, "description": "Specification (in the format described by\n{manpage}`systemd.time(7)`) of the time at\nwhich the optimiser will run.\n", "loc": ["nix", "optimise", "dates"], "readOnly": false, "type": "(optionally newline-terminated) single-line string or list of string"}, "nix.optimise.persistent": {"declarations": ["nixos/modules/services/misc/nix-optimise.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Takes a boolean argument. If true, the time when the service\nunit was last triggered is stored on disk. When the timer is\nactivated, the service unit is triggered immediately if it\nwould have been triggered at least once during the time when\nthe timer was inactive. Such triggering is nonetheless\nsubject to the delay imposed by RandomizedDelaySec=. This is\nuseful to catch up on missed runs of the service when the\nsystem was powered down.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["nix", "optimise", "persistent"], "readOnly": false, "type": "boolean"}, "nix.optimise.randomizedDelaySec": {"declarations": ["nixos/modules/services/misc/nix-optimise.nix"], "default": {"_type": "literalExpression", "text": "\"1800\""}, "description": "Add a randomized delay before the optimizer will run.\nThe delay will be chosen between zero and this value.\nThis value must be a time span in the format specified by\n{manpage}`systemd.time(7)`\n", "example": {"_type": "literalExpression", "text": "\"45min\""}, "loc": ["nix", "optimise", "randomizedDelaySec"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "nix.package": {"declarations": ["nixos/modules/services/system/nix-daemon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nix"}, "description": "This option specifies the Nix package instance to use throughout the system.\n", "loc": ["nix", "package"], "readOnly": false, "type": "package"}, "nix.registry": {"declarations": ["nixos/modules/config/nix-flakes.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A system-wide flake registry.\n\nSee {manpage}`nix3-registry(1)` for more information.\n", "loc": ["nix", "registry"], "readOnly": false, "type": "attribute set of (submodule)"}, "nix.registry.<name>.exact": {"declarations": ["nixos/modules/config/nix-flakes.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the {option}`from` reference needs to match exactly. If set,\na {option}`from` reference like `nixpkgs` does not\nmatch with a reference like `nixpkgs/nixos-20.03`.\n", "loc": ["nix", "registry", "<name>", "exact"], "readOnly": false, "type": "boolean"}, "nix.registry.<name>.flake": {"declarations": ["nixos/modules/config/nix-flakes.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The flake input {option}`from` is rewritten to.\n", "example": {"_type": "literalExpression", "text": "nixpkgs"}, "loc": ["nix", "registry", "<name>", "flake"], "readOnly": false, "type": "null or (attribute set)"}, "nix.registry.<name>.from": {"declarations": ["nixos/modules/config/nix-flakes.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The flake reference to be rewritten.\n\nThe format of flake references is described in {manpage}`nix3-flake(1)`.\n\n", "example": {"_type": "literalExpression", "text": "{\n  id = \"nixpkgs\";\n  type = \"indirect\";\n}"}, "loc": ["nix", "registry", "<name>", "from"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean or absolute path or package)"}, "nix.registry.<name>.to": {"declarations": ["nixos/modules/config/nix-flakes.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The flake reference {option}`from` is rewritten to.\n\nThe format of flake references is described in {manpage}`nix3-flake(1)`.\n\n", "example": {"_type": "literalExpression", "text": "{\n  owner = \"my-org\";\n  repo = \"my-nixpkgs\";\n  type = \"github\";\n}"}, "loc": ["nix", "registry", "<name>", "to"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean or absolute path or package)"}, "nix.settings": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Nix, see\n<https://nixos.org/manual/nix/stable/command-ref/conf-file.html> or\n{manpage}`nix.conf(5)` for available options.\nThe value declared here will be translated directly to the key-value pairs Nix expects.\n\nYou can use {command}`nix-instantiate --eval --strict '<nixpkgs/nixos>' -A config.nix.settings`\nto view the current value. By default it is empty.\n\nNix configurations defined under {option}`nix.*` will be translated and applied to this\noption. In addition, configuration specified in {option}`nix.extraOptions` will be appended\nverbatim to the resulting config file.\n", "example": {"_type": "literalExpression", "text": "{\n  use-sandbox = true;\n  show-trace = true;\n\n  sandbox-paths = [ \"/bin/sh=${pkgs.busybox-sandbox-shell.out}/bin/busybox\" ];\n}\n"}, "loc": ["nix", "settings"], "readOnly": false, "type": "open submodule of attribute set of (Nix config atom (null, bool, int, float, str, path or package) or list of (Nix config atom (null, bool, int, float, str, path or package)))"}, "nix.settings.allowed-users": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "A list of names of users (separated by whitespace) that are\nallowed to connect to the Nix daemon. As with\n{option}`nix.settings.trusted-users`, you can specify groups by\nprefixing them with `@`. Also, you can\nallow all users by specifying `*`. The\ndefault is `*`. Note that trusted users are\nalways allowed to connect.\n", "example": {"_type": "literalExpression", "text": "[\n  \"@wheel\"\n  \"@builders\"\n  \"alice\"\n  \"bob\"\n]"}, "loc": ["nix", "settings", "allowed-users"], "readOnly": false, "type": "list of string"}, "nix.settings.auto-optimise-store": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set to true, Nix automatically detects files in the store that have\nidentical contents, and replaces them with hard links to a single copy.\nThis saves disk space. If set to false (the default), you can still run\nnix-store --optimise to get rid of duplicate files.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["nix", "settings", "auto-optimise-store"], "readOnly": false, "type": "boolean"}, "nix.settings.cores": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "This option defines the maximum number of concurrent tasks during\none build. It affects, e.g., -j option for make.\nThe special value 0 means that the builder should use all\navailable CPU cores in the system. Some builds may become\nnon-deterministic with this option; use with care! Packages will\nonly be affected if enableParallelBuilding is set for them.\n", "example": {"_type": "literalExpression", "text": "64"}, "loc": ["nix", "settings", "cores"], "readOnly": false, "type": "signed integer"}, "nix.settings.extra-sandbox-paths": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Directories from the host filesystem to be included\nin the sandbox.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev\"\n  \"/proc\"\n]"}, "loc": ["nix", "settings", "extra-sandbox-paths"], "readOnly": false, "type": "list of string"}, "nix.settings.max-jobs": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "This option defines the maximum number of jobs that Nix will try to\nbuild in parallel. The default is auto, which means it will use all\navailable logical cores. It is recommend to set it to the total\nnumber of logical cores in your system (e.g., 16 for two CPUs with 4\ncores each and hyper-threading).\n", "example": {"_type": "literalExpression", "text": "64"}, "loc": ["nix", "settings", "max-jobs"], "readOnly": false, "type": "signed integer or value \"auto\" (singular enum)"}, "nix.settings.require-sigs": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled (the default), Nix will only download binaries from binary caches if\nthey are cryptographically signed with any of the keys listed in\n{option}`nix.settings.trusted-public-keys`. If disabled, signatures are neither\nrequired nor checked, so it's strongly recommended that you use only\ntrustworthy caches and https to prevent man-in-the-middle attacks.\n", "loc": ["nix", "settings", "require-sigs"], "readOnly": false, "type": "boolean"}, "nix.settings.sandbox": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If set, Nix will perform builds in a sandboxed environment that it\nwill set up automatically for each build. This prevents impurities\nin builds by disallowing access to dependencies outside of the Nix\nstore by using network and mount namespaces in a chroot environment.\n\nThis is enabled by default even though it has a possible performance\nimpact due to the initial setup time of a sandbox for each build. It\ndoesn't affect derivation hashes, so changing this option will not\ntrigger a rebuild of packages.\n\nWhen set to \"relaxed\", this option permits derivations that set\n`__noChroot = true;` to run outside of the sandboxed environment.\nExercise caution when using this mode of operation! It is intended to\nbe a quick hack when building with packages that are not easily setup\nto be built reproducibly.\n", "loc": ["nix", "settings", "sandbox"], "readOnly": false, "type": "boolean or value \"relaxed\" (singular enum)"}, "nix.settings.substituters": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of binary cache URLs used to obtain pre-built binaries\nof Nix packages.\n\nBy default https://cache.nixos.org/ is added.\n", "loc": ["nix", "settings", "substituters"], "readOnly": false, "type": "list of string"}, "nix.settings.system-features": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "[ \"nixos-test\" \"benchmark\" \"big-parallel\" \"kvm\" \"gccarch-<arch>\" ]"}, "description": "The set of features supported by the machine. Derivations\ncan express dependencies on system features through the\n`requiredSystemFeatures` attribute.\n", "loc": ["nix", "settings", "system-features"], "readOnly": false, "type": "list of string"}, "nix.settings.trusted-public-keys": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of public keys used to sign binary caches. If\n{option}`nix.settings.trusted-public-keys` is enabled,\nthen Nix will use a binary from a binary cache if and only\nif it is signed by *any* of the keys\nlisted here. By default, only the key for\n`cache.nixos.org` is included.\n", "example": {"_type": "literalExpression", "text": "[\n  \"hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=\"\n]"}, "loc": ["nix", "settings", "trusted-public-keys"], "readOnly": false, "type": "list of string"}, "nix.settings.trusted-substituters": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of binary cache URLs that non-root users can use (in\naddition to those specified using\n{option}`nix.settings.substituters`) by passing\n`--option binary-caches` to Nix commands.\n", "example": {"_type": "literalExpression", "text": "[\n  \"https://hydra.nixos.org/\"\n]"}, "loc": ["nix", "settings", "trusted-substituters"], "readOnly": false, "type": "list of string"}, "nix.settings.trusted-users": {"declarations": ["nixos/modules/config/nix.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of names of users that have additional rights when\nconnecting to the Nix daemon, such as the ability to specify\nadditional binary caches, or to import unsigned NARs. You\ncan also specify groups by prefixing them with\n`@`; for instance,\n`@wheel` means all users in the wheel\ngroup.\n", "example": {"_type": "literalExpression", "text": "[\n  \"root\"\n  \"alice\"\n  \"@wheel\"\n]"}, "loc": ["nix", "settings", "trusted-users"], "readOnly": false, "type": "list of string"}, "nix.sshServe.enable": {"declarations": ["nixos/modules/services/misc/nix-ssh-serve.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable serving the Nix store as a remote store via SSH.", "loc": ["nix", "sshServe", "enable"], "readOnly": false, "type": "boolean"}, "nix.sshServe.keys": {"declarations": ["nixos/modules/services/misc/nix-ssh-serve.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of SSH public keys allowed to access the binary cache via SSH.", "example": {"_type": "literalExpression", "text": "[\n  \"ssh-dss AAAAB3NzaC1k... alice@example.org\"\n]"}, "loc": ["nix", "sshServe", "keys"], "readOnly": false, "type": "list of string"}, "nix.sshServe.protocol": {"declarations": ["nixos/modules/services/misc/nix-ssh-serve.nix"], "default": {"_type": "literalExpression", "text": "\"ssh\""}, "description": "The specific Nix-over-SSH protocol to use.", "loc": ["nix", "sshServe", "protocol"], "readOnly": false, "type": "one of \"ssh\", \"ssh-ng\""}, "nix.sshServe.trusted": {"declarations": ["nixos/modules/services/misc/nix-ssh-serve.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add nix-ssh to the nix.settings.trusted-users", "loc": ["nix", "sshServe", "trusted"], "readOnly": false, "type": "boolean"}, "nix.sshServe.write": {"declarations": ["nixos/modules/services/misc/nix-ssh-serve.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable writing to the Nix store as a remote store via SSH. Note: by default, the sshServe user is named nix-ssh and is not a trusted-user. nix-ssh should be added to the {option}`nix.sshServe.trusted` option in most use cases, such as allowing remote building of derivations to anonymous people based on ssh key", "loc": ["nix", "sshServe", "write"], "readOnly": false, "type": "boolean"}, "nixops.enableDeprecatedAutoLuks": {"declarations": ["nixos/modules/misc/nixops-autoluks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the deprecated NixOps AutoLuks module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["nixops", "enableDeprecatedAutoLuks"], "readOnly": false, "type": "boolean"}, "nixpkgs.flake.setFlakeRegistry": {"declarations": ["nixos/modules/misc/nixpkgs-flake.nix"], "default": {"_type": "literalExpression", "text": "\"config.nixpkgs.flake.source != null\""}, "description": "Whether to pin nixpkgs in the system-wide flake registry (`/etc/nix/registry.json`) to the\nstore path of the sources of nixpkgs used to build the NixOS system.\n\nThis is on by default for NixOS configurations built with flakes.\n\nThis option makes {command}`nix run nixpkgs#hello` reuse dependencies from the system, avoid\nrefetching nixpkgs, and have a consistent result every time.\n\nNote that this option makes the NixOS closure depend on the nixpkgs sources, which may add\nundesired closure size if the system will not have any nix commands run on it.\n", "loc": ["nixpkgs", "flake", "setFlakeRegistry"], "readOnly": false, "type": "boolean"}, "nixpkgs.flake.setNixPath": {"declarations": ["nixos/modules/misc/nixpkgs-flake.nix"], "default": {"_type": "literalExpression", "text": "\"config.nixpkgs.flake.source != null\""}, "description": "Whether to set {env}`NIX_PATH` to include `nixpkgs=flake:nixpkgs` such that `<nixpkgs>`\nlookups receive the version of nixpkgs that the system was built with, in concert with\n{option}`nixpkgs.flake.setFlakeRegistry`.\n\nThis is on by default for NixOS configurations built with flakes.\n\nThis makes {command}`nix-build '<nixpkgs>' -A hello` work out of the box on flake systems.\n\nNote that this option makes the NixOS closure depend on the nixpkgs sources, which may add\nundesired closure size if the system will not have any nix commands run on it.\n", "loc": ["nixpkgs", "flake", "setNixPath"], "readOnly": false, "type": "boolean"}, "nixpkgs.flake.source": {"declarations": ["nixos/modules/misc/nixpkgs-flake.nix"], "default": {"_type": "literalExpression", "text": "\"if (using nixpkgsFlake.lib.nixosSystem) then self.outPath else null\""}, "description": "The path to the nixpkgs sources used to build the system. This is automatically set up to be\nthe store path of the nixpkgs flake used to build the system if using\n`nixpkgs.lib.nixosSystem`, and is otherwise null by default.\n\nThis can also be optionally set if the NixOS system is not built with a flake but still uses\npinned sources: set this to the store path for the nixpkgs sources used to build the system,\nas may be obtained by `fetchTarball`, for example.\n\nNote: the name of the store path must be \"source\" due to\n<https://github.com/NixOS/nix/issues/7075>.\n", "example": {"_type": "literalExpression", "text": "\"fetchTarball { name = \\\"source\\\"; sha256 = \\\"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\\\"; url = \\\"https://github.com/nixos/nixpkgs/archive/somecommit.tar.gz\\\"; }\""}, "loc": ["nixpkgs", "flake", "source"], "readOnly": false, "type": "null or string or absolute path"}, "openstack.zfs.datasets": {"declarations": ["nixos/modules/virtualisation/openstack-options.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Datasets to create under the `tank` and `boot` zpools.\n\n**NOTE:** This option is used only at image creation time, and\ndoes not attempt to declaratively create or manage datasets\non an existing system.\n", "loc": ["openstack", "zfs", "datasets"], "readOnly": false, "type": "attribute set of (submodule)"}, "openstack.zfs.datasets.<name>.mount": {"declarations": ["nixos/modules/virtualisation/openstack-options.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Where to mount this dataset.", "loc": ["openstack", "zfs", "datasets", "<name>", "mount"], "readOnly": false, "type": "null or string"}, "openstack.zfs.datasets.<name>.properties": {"declarations": ["nixos/modules/virtualisation/openstack-options.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Properties to set on this dataset.", "loc": ["openstack", "zfs", "datasets", "<name>", "properties"], "readOnly": false, "type": "attribute set of string"}, "power.ups.enable": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for Power Devices, such as Uninterruptible Power\nSupplies, Power Distribution Units and Solar Controllers\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["power", "ups", "enable"], "readOnly": false, "type": "boolean"}, "power.ups.maxStartDelay": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "45"}, "description": "This can be set as a global variable above your first UPS\ndefinition and it can also be set in a UPS section.  This value\ncontrols how long upsdrvctl will wait for the driver to finish\nstarting.  This keeps your system from getting stuck due to a\nbroken driver or UPS.\n", "loc": ["power", "ups", "maxStartDelay"], "readOnly": false, "type": "signed integer"}, "power.ups.mode": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"standalone\""}, "description": "The MODE determines which part of the NUT is to be started, and\nwhich configuration files must be modified.\n\nThe values of MODE can be:\n\n- none: NUT is not configured, or use the Integrated Power\n  Management, or use some external system to startup NUT\n  components. So nothing is to be started.\n\n- standalone: This mode address a local only configuration, with 1\n  UPS protecting the local system. This implies to start the 3 NUT\n  layers (driver, upsd and upsmon) and the matching configuration\n  files. This mode can also address UPS redundancy.\n\n- netserver: same as for the standalone configuration, but also\n  need some more ACLs and possibly a specific LISTEN directive in\n  upsd.conf.  Since this MODE is opened to the network, a special\n  care should be applied to security concerns.\n\n- netclient: this mode only requires upsmon.\n", "loc": ["power", "ups", "mode"], "readOnly": false, "type": "one of \"none\", \"standalone\", \"netserver\", \"netclient\""}, "power.ups.openFirewall": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for `upsd`.\n", "loc": ["power", "ups", "openFirewall"], "readOnly": false, "type": "boolean"}, "power.ups.package": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nut"}, "description": "The nut package to use.", "loc": ["power", "ups", "package"], "readOnly": false, "type": "package"}, "power.ups.schedulerRules": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "description": "File which contains the rules to handle UPS events.\n", "example": {"_type": "literalExpression", "text": "\"/etc/nixos/upssched.conf\""}, "loc": ["power", "ups", "schedulerRules"], "readOnly": false, "type": "string"}, "power.ups.ups": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This is where you configure all the UPSes that this system will be\nmonitoring directly.  These are usually attached to serial ports,\nbut USB devices are also supported.\n", "loc": ["power", "ups", "ups"], "readOnly": false, "type": "attribute set of (submodule)"}, "power.ups.ups.<name>.description": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Description of the UPS.\n", "loc": ["power", "ups", "ups", "<name>", "description"], "readOnly": false, "type": "string"}, "power.ups.ups.<name>.directives": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of configuration directives for this UPS.\n", "loc": ["power", "ups", "ups", "<name>", "directives"], "readOnly": false, "type": "list of string"}, "power.ups.ups.<name>.driver": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "description": "Specify the program to run to talk to this UPS.  apcsmart,\nbestups, and sec are some examples.\n", "loc": ["power", "ups", "ups", "<name>", "driver"], "readOnly": false, "type": "string"}, "power.ups.ups.<name>.maxStartDelay": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This can be set as a global variable above your first UPS\ndefinition and it can also be set in a UPS section.  This value\ncontrols how long upsdrvctl will wait for the driver to finish\nstarting.  This keeps your system from getting stuck due to a\nbroken driver or UPS.\n", "loc": ["power", "ups", "ups", "<name>", "maxStartDelay"], "readOnly": false, "type": "null or signed integer"}, "power.ups.ups.<name>.port": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "description": "The serial port to which your UPS is connected.  /dev/ttyS0 is\nusually the first port on Linux boxes, for example.\n", "loc": ["power", "ups", "ups", "<name>", "port"], "readOnly": false, "type": "string"}, "power.ups.ups.<name>.shutdownOrder": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "When you have multiple UPSes on your system, you usually need to\nturn them off in a certain order.  upsdrvctl shuts down all the\n0s, then the 1s, 2s, and so on.  To exclude a UPS from the\nshutdown sequence, set this to -1.\n", "loc": ["power", "ups", "ups", "<name>", "shutdownOrder"], "readOnly": false, "type": "signed integer"}, "power.ups.ups.<name>.summary": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Lines which would be added inside ups.conf for handling this UPS.\n", "loc": ["power", "ups", "ups", "<name>", "summary"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "power.ups.upsd": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for the `upsd.conf` configuration file.\n", "loc": ["power", "ups", "upsd"], "readOnly": false, "type": "submodule"}, "power.ups.upsd.enable": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalMD", "text": "`true` if `mode` is one of `standalone`, `netserver`"}, "description": "Whether to enable `upsd`.", "loc": ["power", "ups", "upsd", "enable"], "readOnly": false, "type": "boolean"}, "power.ups.upsd.extraConfig": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional lines to add to `upsd.conf`.\n", "loc": ["power", "ups", "upsd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "power.ups.upsd.listen": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Address of the interface for `upsd` to listen on.\nSee `man upsd` for details`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    address = \"192.168.50.1\";\n  }\n  {\n    address = \"::1\";\n    port = 5923;\n  }\n]"}, "loc": ["power", "ups", "upsd", "listen"], "readOnly": false, "type": "list of (submodule)"}, "power.ups.upsd.listen.*.address": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "description": "Address of the interface for `upsd` to listen on.\nSee `man upsd.conf` for details.\n", "loc": ["power", "ups", "upsd", "listen", "*", "address"], "readOnly": false, "type": "string"}, "power.ups.upsd.listen.*.port": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "3493"}, "description": "TCP port for `upsd` to listen on.\nSee `man upsd.conf` for details.\n", "loc": ["power", "ups", "upsd", "listen", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "power.ups.upsmon": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for the `upsmon.conf` configuration file.\n", "loc": ["power", "ups", "upsmon"], "readOnly": false, "type": "submodule"}, "power.ups.upsmon.enable": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalMD", "text": "`true` if `mode` is one of `standalone`, `netserver`, `netclient`"}, "description": "Whether to enable `upsmon`.", "loc": ["power", "ups", "upsmon", "enable"], "readOnly": false, "type": "boolean"}, "power.ups.upsmon.group": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"nutmon\""}, "description": "Group for the default `nutmon` user. If the default user is created\nand this is not specified, a default group will be created.\n", "loc": ["power", "ups", "upsmon", "group"], "readOnly": false, "type": "string"}, "power.ups.upsmon.monitor": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of UPS to monitor. See `man upsmon.conf` for details.\n", "loc": ["power", "ups", "upsmon", "monitor"], "readOnly": false, "type": "attribute set of (submodule)"}, "power.ups.upsmon.monitor.<name>.passwordFile": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalMD", "text": "power.ups.users.${user}.passwordFile"}, "description": "The full path to a file containing the password from\n`upsd.users` for accessing this UPS. The password file\nis read on service start.\nSee `upsmon.conf` for details.\n", "loc": ["power", "ups", "upsmon", "monitor", "<name>", "passwordFile"], "readOnly": false, "type": "string"}, "power.ups.upsmon.monitor.<name>.powerValue": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Number of power supplies that the UPS feeds on this system.\nSee `upsmon.conf` for details.\n", "loc": ["power", "ups", "upsmon", "monitor", "<name>", "powerValue"], "readOnly": false, "type": "signed integer"}, "power.ups.upsmon.monitor.<name>.system": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Identifier of the UPS to monitor, in this form: `<upsname>[@<hostname>[:<port>]]`\nSee `upsmon.conf` for details.\n", "loc": ["power", "ups", "upsmon", "monitor", "<name>", "system"], "readOnly": false, "type": "string"}, "power.ups.upsmon.monitor.<name>.type": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"master\""}, "description": "The relationship with `upsd`.\nSee `upsmon.conf` for details.\n", "loc": ["power", "ups", "upsmon", "monitor", "<name>", "type"], "readOnly": false, "type": "string"}, "power.ups.upsmon.monitor.<name>.user": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "description": "Username from `upsd.users` for accessing this UPS.\nSee `upsmon.conf` for details.\n", "loc": ["power", "ups", "upsmon", "monitor", "<name>", "user"], "readOnly": false, "type": "string"}, "power.ups.upsmon.settings": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalMD", "text": "{\n  MINSUPPLIES = 1;\n  MONITOR = <generated from config.power.ups.upsmon.monitor>\n  NOTIFYCMD = \"${cfg.package}/bin/upssched\";\n  POWERDOWNFLAG = \"/run/killpower\";\n  SHUTDOWNCMD = \"${pkgs.systemd}/bin/shutdown now\";\n}\n"}, "description": "Additional settings to add to `upsmon.conf`.", "example": {"_type": "literalMD", "text": "{\n  MINSUPPLIES = 2;\n  NOTIFYFLAG = [\n    [ \"ONLINE\" \"SYSLOG+EXEC\" ]\n    [ \"ONBATT\" \"SYSLOG+EXEC\" ]\n  ];\n}\n"}, "loc": ["power", "ups", "upsmon", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string) or list of non-empty (list of (atom (null, bool, int, float or string))))"}, "power.ups.upsmon.user": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "\"nutmon\""}, "description": "User to run `upsmon` as. `upsmon.conf` will have its owner set to this\nuser. If not specified, a default user will be created.\n", "loc": ["power", "ups", "upsmon", "user"], "readOnly": false, "type": "string"}, "power.ups.users": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Users that can access upsd. See `man upsd.users`.\n", "loc": ["power", "ups", "users"], "readOnly": false, "type": "attribute set of (submodule)"}, "power.ups.users.<name>.actions": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Allow the user to do certain things with upsd.\nSee `man upsd.users` for details.\n", "loc": ["power", "ups", "users", "<name>", "actions"], "readOnly": false, "type": "list of string"}, "power.ups.users.<name>.instcmds": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Let the user initiate specific instant commands. Use \"ALL\" to grant all commands automatically. For the full list of what your UPS supports, use \"upscmd -l\".\nSee `man upsd.users` for details.\n", "loc": ["power", "ups", "users", "<name>", "instcmds"], "readOnly": false, "type": "list of string"}, "power.ups.users.<name>.passwordFile": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "description": "The full path to a file that contains the user's (clear text)\npassword. The password file is read on service start.\n", "loc": ["power", "ups", "users", "<name>", "passwordFile"], "readOnly": false, "type": "string"}, "power.ups.users.<name>.upsmon": {"declarations": ["nixos/modules/services/monitoring/ups.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Add the necessary actions for a upsmon process to work.\nSee `man upsd.users` for details.\n", "loc": ["power", "ups", "users", "<name>", "upsmon"], "readOnly": false, "type": "null or one of \"primary\", \"secondary\""}, "powerManagement.bootCommands": {"declarations": ["nixos/modules/config/power-management.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands executed only once after initial boot.\nThese commands are executed before `powerUpCommands`.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.networkmanager}/bin/nmcli radio wifi on\"\n"}, "loc": ["powerManagement", "bootCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "powerManagement.cpuFreqGovernor": {"declarations": ["nixos/modules/tasks/cpu-freq.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configure the governor used to regulate the frequency of the\navailable CPUs. By default, the kernel configures the\nperformance governor, although this may be overwritten in your\nhardware-configuration.nix file.\n\nOften used values: \"ondemand\", \"powersave\", \"performance\"\n", "example": {"_type": "literalExpression", "text": "\"ondemand\""}, "loc": ["powerManagement", "cpuFreqGovernor"], "readOnly": false, "type": "null or string"}, "powerManagement.cpufreq.max": {"declarations": ["nixos/modules/tasks/cpu-freq.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum frequency the CPU will use.  Defaults to the maximum possible.\n", "example": {"_type": "literalExpression", "text": "2200000"}, "loc": ["powerManagement", "cpufreq", "max"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "powerManagement.cpufreq.min": {"declarations": ["nixos/modules/tasks/cpu-freq.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The minimum frequency the CPU will use.\n", "example": {"_type": "literalExpression", "text": "800000"}, "loc": ["powerManagement", "cpufreq", "min"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "powerManagement.enable": {"declarations": ["nixos/modules/config/power-management.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable power management.  This includes support\nfor suspend-to-RAM and powersave features on laptops.\n", "loc": ["powerManagement", "enable"], "readOnly": false, "type": "boolean"}, "powerManagement.powerDownCommands": {"declarations": ["nixos/modules/config/power-management.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands executed when the machine powers down.  That is,\nthey're executed both when the system shuts down and when\nit goes to suspend or hibernation.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda\"\n"}, "loc": ["powerManagement", "powerDownCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "powerManagement.powerUpCommands": {"declarations": ["nixos/modules/config/power-management.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands executed when the machine powers up.  That is,\nthey're executed both when the system first boots and when\nit resumes from suspend or hibernation.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.powertop}/bin/powertop --auto-tune\"\n"}, "loc": ["powerManagement", "powerUpCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "powerManagement.powertop.enable": {"declarations": ["nixos/modules/tasks/powertop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable powertop auto tuning on startup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["powerManagement", "powertop", "enable"], "readOnly": false, "type": "boolean"}, "powerManagement.powertop.postStart": {"declarations": ["nixos/modules/tasks/powertop.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands executed after `powertop` is started.\n\nThis can be used to workaround problematic configurations. For example,\nyou can retrigger an `udev` rule to disable power saving on unsupported\nUSB devices:\n```\nservices.udev.extraRules = '''\n  # disable USB auto suspend for Logitech, Inc. G PRO Gaming Mouse\n  ACTION==\"bind\", SUBSYSTEM==\"usb\", ATTR{idVendor}==\"046d\", ATTR{idProduct}==\"c08c\", TEST==\"power/control\", ATTR{power/control}=\"on\"\n''';\n```\n", "example": {"_type": "literalExpression", "text": "''\n  ''${lib.getExe' config.systemd.package \"udevadm\"} trigger -c bind -s usb -a idVendor=046d -a idProduct=c08c\n''"}, "loc": ["powerManagement", "powertop", "postStart"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "powerManagement.powertop.preStart": {"declarations": ["nixos/modules/tasks/powertop.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands executed before `powertop` is started.\n", "loc": ["powerManagement", "powertop", "preStart"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "powerManagement.resumeCommands": {"declarations": ["nixos/modules/config/power-management.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands executed after the system resumes from suspend-to-RAM.", "example": {"_type": "literalExpression", "text": "\"${pkgs.util-linux}/bin/rfkill unblock all\"\n"}, "loc": ["powerManagement", "resumeCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "powerManagement.scsiLinkPolicy": {"declarations": ["nixos/modules/tasks/scsi-link-power-management.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SCSI link power management policy. The kernel default is\n\"max_performance\".\n\n\"med_power_with_dipm\" is supported by kernel versions\n4.15 and newer.\n", "loc": ["powerManagement", "scsiLinkPolicy"], "readOnly": false, "type": "null or one of \"min_power\", \"max_performance\", \"medium_power\", \"med_power_with_dipm\""}, "programs._1password-gui.enable": {"declarations": ["nixos/modules/programs/_1password-gui.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the 1Password GUI application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "_1password-gui", "enable"], "readOnly": false, "type": "boolean"}, "programs._1password-gui.package": {"declarations": ["nixos/modules/programs/_1password-gui.nix"], "default": {"_type": "literalExpression", "text": "pkgs._1password-gui"}, "description": "The 1Password GUI package to use.", "loc": ["programs", "_1password-gui", "package"], "readOnly": false, "type": "package"}, "programs._1password-gui.polkitPolicyOwners": {"declarations": ["nixos/modules/programs/_1password-gui.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms.\n", "example": {"_type": "literalExpression", "text": "[\"user1\" \"user2\" \"user3\"]"}, "loc": ["programs", "_1password-gui", "polkitPolicyOwners"], "readOnly": false, "type": "list of string"}, "programs._1password.enable": {"declarations": ["nixos/modules/programs/_1password.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the 1Password CLI tool.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "_1password", "enable"], "readOnly": false, "type": "boolean"}, "programs._1password.package": {"declarations": ["nixos/modules/programs/_1password.nix"], "default": {"_type": "literalExpression", "text": "pkgs._1password-cli"}, "description": "The 1Password CLI package to use.", "loc": ["programs", "_1password", "package"], "readOnly": false, "type": "package"}, "programs.alvr.enable": {"declarations": ["nixos/modules/programs/alvr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ALVR, the VR desktop streamer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "alvr", "enable"], "readOnly": false, "type": "boolean"}, "programs.alvr.openFirewall": {"declarations": ["nixos/modules/programs/alvr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the default ports in the firewall for the ALVR server.\n", "loc": ["programs", "alvr", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.alvr.package": {"declarations": ["nixos/modules/programs/alvr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.alvr"}, "description": "The alvr package to use.", "loc": ["programs", "alvr", "package"], "readOnly": false, "type": "package"}, "programs.amnezia-vpn.enable": {"declarations": ["nixos/modules/programs/amnezia-vpn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable The AmneziaVPN client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "amnezia-vpn", "enable"], "readOnly": false, "type": "boolean"}, "programs.amnezia-vpn.package": {"declarations": ["nixos/modules/programs/amnezia-vpn.nix"], "default": {"_type": "literalExpression", "text": "pkgs.amnezia-vpn"}, "description": "The amnezia-vpn package to use.", "loc": ["programs", "amnezia-vpn", "package"], "readOnly": false, "type": "package"}, "programs.appgate-sdp.enable": {"declarations": ["nixos/modules/programs/appgate-sdp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the AppGate SDP VPN client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "appgate-sdp", "enable"], "readOnly": false, "type": "boolean"}, "programs.appimage.binfmt": {"declarations": ["nixos/modules/programs/appimage.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable binfmt registration to run appimages via appimage-run seamlessly.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "appimage", "binfmt"], "readOnly": false, "type": "boolean"}, "programs.appimage.enable": {"declarations": ["nixos/modules/programs/appimage.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable appimage-run wrapper script for executing appimages on NixOS.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "appimage", "enable"], "readOnly": false, "type": "boolean"}, "programs.appimage.package": {"declarations": ["nixos/modules/programs/appimage.nix"], "default": {"_type": "literalExpression", "text": "pkgs.appimage-run"}, "description": "The appimage-run package to use.", "example": {"_type": "literalExpression", "text": "pkgs.appimage-run.override {\n  extraPkgs = pkgs: [ pkgs.ffmpeg pkgs.imagemagick ];\n}\n"}, "loc": ["programs", "appimage", "package"], "readOnly": false, "type": "package"}, "programs.arp-scan.enable": {"declarations": ["nixos/modules/programs/arp-scan.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure a setcap wrapper for arp-scan.\n", "loc": ["programs", "arp-scan", "enable"], "readOnly": false, "type": "boolean"}, "programs.atop.atopRotateTimer.enable": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the atop-rotate timer, which restarts the atop service\ndaily to make sure the data files are rotate.\n", "loc": ["programs", "atop", "atopRotateTimer", "enable"], "readOnly": false, "type": "boolean"}, "programs.atop.atopService.enable": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the atop service responsible for storing statistics for\nlong-term analysis.\n", "loc": ["programs", "atop", "atopService", "enable"], "readOnly": false, "type": "boolean"}, "programs.atop.atopacctService.enable": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the atopacct service which manages process accounting.\nThis allows Atop to gather data about processes that disappeared in between\ntwo refresh intervals.\n", "loc": ["programs", "atop", "atopacctService", "enable"], "readOnly": false, "type": "boolean"}, "programs.atop.atopgpu.enable": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install and enable the atopgpud daemon to get information about\nNVIDIA gpus.\n", "loc": ["programs", "atop", "atopgpu", "enable"], "readOnly": false, "type": "boolean"}, "programs.atop.enable": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Atop, a tool for monitoring system resources.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "atop", "enable"], "readOnly": false, "type": "boolean"}, "programs.atop.netatop.enable": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install and enable the netatop kernel module.\nNote: this sets the kernel taint flag \"O\" for loading out-of-tree modules.\n", "loc": ["programs", "atop", "netatop", "enable"], "readOnly": false, "type": "boolean"}, "programs.atop.netatop.package": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "config.boot.kernelPackages.netatop"}, "description": "Which package to use for netatop.\n", "loc": ["programs", "atop", "netatop", "package"], "readOnly": false, "type": "package"}, "programs.atop.package": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "pkgs.atop"}, "description": "The atop package to use.", "loc": ["programs", "atop", "package"], "readOnly": false, "type": "package"}, "programs.atop.settings": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Parameters to be written to {file}`/etc/atoprc`.\n", "example": {"_type": "literalExpression", "text": "{\n  flags = \"a1f\";\n  interval = 5;\n}"}, "loc": ["programs", "atop", "settings"], "readOnly": false, "type": "attribute set"}, "programs.atop.setuidWrapper.enable": {"declarations": ["nixos/modules/programs/atop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install a setuid wrapper for Atop. This is required to use some of\nthe features as non-root user (e.g.: ipc information, netatop, atopgpu).\nAtop tries to drop the root privileges shortly after starting.\n", "loc": ["programs", "atop", "setuidWrapper", "enable"], "readOnly": false, "type": "boolean"}, "programs.atuin.daemon.enable": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "pkgs.stdenv.hostPlatform.isLinux"}, "description": "Whether to enable the Atuin daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "atuin", "daemon", "enable"], "readOnly": false, "type": "boolean"}, "programs.atuin.daemon.logLevel": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Log level for the Atuin daemon.\n", "loc": ["programs", "atuin", "daemon", "logLevel"], "readOnly": false, "type": "one of \"trace\", \"debug\", \"info\", \"warn\", \"error\""}, "programs.atuin.enable": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable atuin.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "atuin", "enable"], "readOnly": false, "type": "boolean"}, "programs.atuin.enableBashIntegration": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "config.programs.bash.enable"}, "description": "Whether to enable Bash integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "atuin", "enableBashIntegration"], "readOnly": false, "type": "boolean"}, "programs.atuin.enableFishIntegration": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "config.programs.fish.enable"}, "description": "Whether to enable Fish integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "atuin", "enableFishIntegration"], "readOnly": false, "type": "boolean"}, "programs.atuin.enableZshIntegration": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "config.programs.zsh.enable"}, "description": "Whether to enable Zsh integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "atuin", "enableZshIntegration"], "readOnly": false, "type": "boolean"}, "programs.atuin.flags": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Flags to append to the shell hook.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--disable-up-arrow\"\n  \"--disable-ctrl-r\"\n]"}, "loc": ["programs", "atuin", "flags"], "readOnly": false, "type": "list of string"}, "programs.atuin.package": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "pkgs.atuin"}, "description": "The atuin package to use.", "loc": ["programs", "atuin", "package"], "readOnly": false, "type": "package"}, "programs.atuin.settings": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration written to {file}`/etc/atuin/config.toml`.\n\nSee <https://docs.atuin.sh/configuration/config/> for the full list\nof options.\n", "example": {"_type": "literalExpression", "text": "{\n  auto_sync = true;\n  sync_frequency = \"5m\";\n  sync_address = \"https://api.atuin.sh\";\n  search_mode = \"prefix\";\n}\n"}, "loc": ["programs", "atuin", "settings"], "readOnly": false, "type": "TOML value"}, "programs.atuin.themes": {"declarations": ["nixos/modules/programs/atuin.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Each theme is written to\n{file}`/etc/atuin/themes/theme-name.toml`\nwhere the name of each attribute is the theme-name\n\nSee <https://docs.atuin.sh/guide/theming/> for the full list\nof options.\n", "example": {"_type": "literalExpression", "text": "{\n  \"my-theme\" = {\n    theme.name = \"My Theme\";\n    colors = {\n      Base = \"#000000\";\n      Title = \"#FFFFFF\";\n    };\n  };\n}\n"}, "loc": ["programs", "atuin", "themes"], "readOnly": false, "type": "attribute set of (TOML value or absolute path or strings concatenated with \"\\n\")"}, "programs.ausweisapp.enable": {"declarations": ["nixos/modules/programs/ausweisapp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable AusweisApp.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ausweisapp", "enable"], "readOnly": false, "type": "boolean"}, "programs.ausweisapp.openFirewall": {"declarations": ["nixos/modules/programs/ausweisapp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the required firewall ports for the Smartphone as Card Reader (SaC) functionality of AusweisApp.\n", "loc": ["programs", "ausweisapp", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.autoenv.enable": {"declarations": ["nixos/modules/programs/autoenv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable autoenv.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "autoenv", "enable"], "readOnly": false, "type": "boolean"}, "programs.autoenv.package": {"declarations": ["nixos/modules/programs/autoenv.nix"], "default": {"_type": "literalExpression", "text": "pkgs.autoenv"}, "description": "The autoenv package to use.", "loc": ["programs", "autoenv", "package"], "readOnly": false, "type": "package"}, "programs.autojump.enable": {"declarations": ["nixos/modules/programs/autojump.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable autojump.\n", "loc": ["programs", "autojump", "enable"], "readOnly": false, "type": "boolean"}, "programs.bandwhich.enable": {"declarations": ["nixos/modules/programs/bandwhich.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add bandwhich to the global environment and configure a\nsetcap wrapper for it.\n", "loc": ["programs", "bandwhich", "enable"], "readOnly": false, "type": "boolean"}, "programs.bash-my-aws.enable": {"declarations": ["nixos/modules/programs/bash-my-aws.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bash-my-aws.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bash-my-aws", "enable"], "readOnly": false, "type": "boolean"}, "programs.bash.blesh.enable": {"declarations": ["nixos/modules/programs/bash/blesh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable blesh, a full-featured line editor written in pure Bash.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bash", "blesh", "enable"], "readOnly": false, "type": "boolean"}, "programs.bash.completion.enable": {"declarations": ["nixos/modules/programs/bash/bash-completion.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Bash completion for all interactive bash shells.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bash", "completion", "enable"], "readOnly": false, "type": "boolean"}, "programs.bash.completion.package": {"declarations": ["nixos/modules/programs/bash/bash-completion.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bash-completion"}, "description": "The bash-completion package to use.", "loc": ["programs", "bash", "completion", "package"], "readOnly": false, "type": "package"}, "programs.bash.enable": {"declarations": ["nixos/modules/programs/bash/bash.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whenever to configure Bash as an interactive shell.\nNote that this tries to make Bash the default\n{option}`users.defaultUserShell`,\nwhich in turn means that you might need to explicitly\nset this variable if you have another shell configured\nwith NixOS.\n", "loc": ["programs", "bash", "enable"], "readOnly": false, "type": "boolean"}, "programs.bash.enableLsColors": {"declarations": ["nixos/modules/programs/bash/ls-colors.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable extra colors in directory listings.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bash", "enableLsColors"], "readOnly": false, "type": "boolean"}, "programs.bash.interactiveShellInit": {"declarations": ["nixos/modules/programs/bash/bash.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during interactive bash shell initialisation.\n", "loc": ["programs", "bash", "interactiveShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.bash.loginShellInit": {"declarations": ["nixos/modules/programs/bash/bash.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during login bash shell initialisation.\n", "loc": ["programs", "bash", "loginShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.bash.logout": {"declarations": ["nixos/modules/programs/bash/bash.nix"], "default": {"_type": "literalExpression", "text": "''\n  printf '\\e]0;\\a'\n''"}, "description": "Shell script code called during login bash shell logout.\n", "loc": ["programs", "bash", "logout"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.bash.lsColorsFile": {"declarations": ["nixos/modules/programs/bash/ls-colors.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alternative colorscheme for ls colors", "example": {"_type": "literalExpression", "text": "${pkgs.dircolors-solarized}/ansi-dark"}, "loc": ["programs", "bash", "lsColorsFile"], "readOnly": false, "type": "null or absolute path"}, "programs.bash.promptInit": {"declarations": ["nixos/modules/programs/bash/bash.nix"], "default": {"_type": "literalExpression", "text": "''\n  # Provide a nice prompt if the terminal supports it.\n  if [ \"$TERM\" != \"dumb\" ] || [ -n \"$INSIDE_EMACS\" ]; then\n    PROMPT_COLOR=\"1;31m\"\n    ((UID)) && PROMPT_COLOR=\"1;32m\"\n    if [ -n \"$INSIDE_EMACS\" ]; then\n      # Emacs term mode doesn't support xterm title escape sequence (\\e]0;)\n      PS1=\"\\n\\[\\033[$PROMPT_COLOR\\][\\u@\\h:\\w]\\\\$\\[\\033[0m\\] \"\n    else\n      PS1=\"\\n\\[\\033[$PROMPT_COLOR\\][\\[\\e]0;\\u@\\h: \\w\\a\\]\\u@\\h:\\w]\\\\$\\[\\033[0m\\] \"\n    fi\n    if test \"$TERM\" = \"xterm\"; then\n      PS1=\"\\[\\033]2;\\h:\\u:\\w\\007\\]$PS1\"\n    fi\n  fi\n''"}, "description": "Shell script code used to initialise the bash prompt.\n", "loc": ["programs", "bash", "promptInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.bash.shellAliases": {"declarations": ["nixos/modules/programs/bash/bash.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of aliases for bash shell, which overrides {option}`environment.shellAliases`.\nSee {option}`environment.shellAliases` for an option format description.\n", "loc": ["programs", "bash", "shellAliases"], "readOnly": false, "type": "attribute set of (null or string or absolute path)"}, "programs.bash.shellInit": {"declarations": ["nixos/modules/programs/bash/bash.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during bash shell initialisation.\n", "loc": ["programs", "bash", "shellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.bash.undistractMe.enable": {"declarations": ["nixos/modules/programs/bash/undistract-me.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable notifications when long-running terminal commands complete.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bash", "undistractMe", "enable"], "readOnly": false, "type": "boolean"}, "programs.bash.undistractMe.playSound": {"declarations": ["nixos/modules/programs/bash/undistract-me.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable notification sounds when long-running terminal commands complete.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bash", "undistractMe", "playSound"], "readOnly": false, "type": "boolean"}, "programs.bash.undistractMe.timeout": {"declarations": ["nixos/modules/programs/bash/undistract-me.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Number of seconds it would take for a command to be considered long-running.\n", "loc": ["programs", "bash", "undistractMe", "timeout"], "readOnly": false, "type": "signed integer"}, "programs.bash.vteIntegration": {"declarations": ["nixos/modules/config/vte.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bash integration for VTE terminals.\nThis allows it to preserve the current directory of the shell\nacross terminals.\n", "loc": ["programs", "bash", "vteIntegration"], "readOnly": false, "type": "boolean"}, "programs.bat.enable": {"declarations": ["nixos/modules/programs/bat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable `bat`, a {manpage}`cat(1)` clone with wings.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bat", "enable"], "readOnly": false, "type": "boolean"}, "programs.bat.extraPackages": {"declarations": ["nixos/modules/programs/bat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra `bat` scripts to be added to the system configuration.\n", "example": {"_type": "literalExpression", "text": "with pkgs.bat-extras; [\n  batdiff\n  batman\n  prettybat\n];\n"}, "loc": ["programs", "bat", "extraPackages"], "readOnly": false, "type": "list of package"}, "programs.bat.package": {"declarations": ["nixos/modules/programs/bat.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bat"}, "description": "The bat package to use.", "loc": ["programs", "bat", "package"], "readOnly": false, "type": "package"}, "programs.bat.settings": {"declarations": ["nixos/modules/programs/bat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Parameters to be written to the system-wide `bat` configuration file.\n", "example": {"_type": "literalExpression", "text": "{\n  italic-text = \"always\";\n  map-syntax = [\n    \"*.ino:C++\"\n    \".ignore:Git Ignore\"\n  ];\n  pager = \"less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse\";\n  paging = \"never\";\n  theme = \"TwoDark\";\n}"}, "loc": ["programs", "bat", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "programs.bazecor.enable": {"declarations": ["nixos/modules/programs/bazecor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bazecor, the graphical configurator for Dygma Products.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bazecor", "enable"], "readOnly": false, "type": "boolean"}, "programs.bazecor.package": {"declarations": ["nixos/modules/programs/bazecor.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bazecor"}, "description": "The bazecor package to use.", "loc": ["programs", "bazecor", "package"], "readOnly": false, "type": "package"}, "programs.bcc.enable": {"declarations": ["nixos/modules/programs/bcc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bcc, tools for BPF-based Linux IO analysis, networking, monitoring, and more.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "bcc", "enable"], "readOnly": false, "type": "boolean"}, "programs.benchexec.enable": {"declarations": ["nixos/modules/programs/benchexec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable BenchExec.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "benchexec", "enable"], "readOnly": false, "type": "boolean"}, "programs.benchexec.package": {"declarations": ["nixos/modules/programs/benchexec.nix"], "default": {"_type": "literalExpression", "text": "pkgs.benchexec"}, "description": "The benchexec package to use.", "loc": ["programs", "benchexec", "package"], "readOnly": false, "type": "package"}, "programs.benchexec.users": {"declarations": ["nixos/modules/programs/benchexec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Users that intend to use BenchExec.\nProvide usernames of users that are configured via {option}`users.users` as string,\nand UIDs of \"mutable users\" as integers.\nControl group delegation will be configured via systemd.\nFor more information, see <https://github.com/sosy-lab/benchexec/blob/3.18/doc/INSTALL.md#setting-up-cgroups>.\n", "example": {"_type": "literalExpression", "text": "[\n  \"alice\" # username of a user configured via users.users\n  1007    # UID of a mutable user\n]\n"}, "loc": ["programs", "benchexec", "users"], "readOnly": false, "type": "list of (string or signed integer)"}, "programs.browserpass.enable": {"declarations": ["nixos/modules/programs/browserpass.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Browserpass native messaging host.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "browserpass", "enable"], "readOnly": false, "type": "boolean"}, "programs.calls.enable": {"declarations": ["nixos/modules/programs/calls.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME calls: a phone dialer and call handler\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "calls", "enable"], "readOnly": false, "type": "boolean"}, "programs.captive-browser.bindInterface": {"declarations": ["nixos/modules/programs/captive-browser.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Binds `captive-browser` to the network interface declared in\n`cfg.interface`. This can be used to avoid collisions\nwith private subnets.\n", "loc": ["programs", "captive-browser", "bindInterface"], "readOnly": false, "type": "boolean"}, "programs.captive-browser.browser": {"declarations": ["nixos/modules/programs/captive-browser.nix"], "default": {"_type": "literalExpression", "text": "env XDG_CONFIG_HOME=\"$PREV_CONFIG_HOME\" ${pkgs.chromium}/bin/chromium --user-data-dir=${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive --proxy-server=\"socks5://$PROXY\" --host-resolver-rules=\"MAP * ~NOTFOUND , EXCLUDE localhost\" --no-first-run --new-window --incognito -no-default-browser-check http://cache.nixos.org/"}, "description": "The shell (/bin/sh) command executed once the proxy starts.\nWhen browser exits, the proxy exits. An extra env var PROXY is available.\n\nHere, we use a separate Chrome instance in Incognito mode, so that\nit can run (and be waited for) alongside the default one, and that\nit maintains no state across runs. To configure this browser open a\nnormal window in it, settings will be preserved.\n\n@volth: chromium is to open a plain HTTP (not HTTPS nor redirect to HTTPS!) website.\n        upstream uses http://example.com but I have seen captive portals whose DNS server resolves \"example.com\" to 127.0.0.1\n", "loc": ["programs", "captive-browser", "browser"], "readOnly": false, "type": "string"}, "programs.captive-browser.dhcp-dns": {"declarations": ["nixos/modules/programs/captive-browser.nix"], "description": "The shell (/bin/sh) command executed to obtain the DHCP\nDNS server address. The first match of an IPv4 regex is used.\nIPv4 only, because let's be real, it's a captive portal.\n", "loc": ["programs", "captive-browser", "dhcp-dns"], "readOnly": false, "type": "string"}, "programs.captive-browser.enable": {"declarations": ["nixos/modules/programs/captive-browser.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable captive browser, a dedicated Chrome instance to log into captive portals without messing with DNS settings.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "captive-browser", "enable"], "readOnly": false, "type": "boolean"}, "programs.captive-browser.interface": {"declarations": ["nixos/modules/programs/captive-browser.nix"], "description": "your public network interface (wlp3s0, wlan0, eth0, ...)", "loc": ["programs", "captive-browser", "interface"], "readOnly": false, "type": "string"}, "programs.captive-browser.package": {"declarations": ["nixos/modules/programs/captive-browser.nix"], "default": {"_type": "literalExpression", "text": "pkgs.captive-browser"}, "description": "The captive-browser package to use.", "loc": ["programs", "captive-browser", "package"], "readOnly": false, "type": "package"}, "programs.captive-browser.socks5-addr": {"declarations": ["nixos/modules/programs/captive-browser.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:1666\""}, "description": "the listen address for the SOCKS5 proxy server", "loc": ["programs", "captive-browser", "socks5-addr"], "readOnly": false, "type": "string"}, "programs.ccache.cacheDir": {"declarations": ["nixos/modules/programs/ccache.nix"], "default": {"_type": "literalExpression", "text": "\"/var/cache/ccache\""}, "description": "CCache directory", "loc": ["programs", "ccache", "cacheDir"], "readOnly": false, "type": "absolute path"}, "programs.ccache.enable": {"declarations": ["nixos/modules/programs/ccache.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CCache, a compiler cache for fast recompilation of C/C++ code.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ccache", "enable"], "readOnly": false, "type": "boolean"}, "programs.ccache.group": {"declarations": ["nixos/modules/programs/ccache.nix"], "default": {"_type": "literalExpression", "text": "\"nixbld\""}, "description": "Group owner of CCache directory", "loc": ["programs", "ccache", "group"], "readOnly": false, "type": "string"}, "programs.ccache.owner": {"declarations": ["nixos/modules/programs/ccache.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Owner of CCache directory", "loc": ["programs", "ccache", "owner"], "readOnly": false, "type": "string"}, "programs.ccache.packageNames": {"declarations": ["nixos/modules/programs/ccache.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Nix top-level packages to be compiled using CCache", "example": {"_type": "literalExpression", "text": "[\n  \"wxwidgets_3_2\"\n  \"ffmpeg\"\n  \"libav_all\"\n]"}, "loc": ["programs", "ccache", "packageNames"], "readOnly": false, "type": "list of string"}, "programs.ccache.trace": {"declarations": ["nixos/modules/programs/ccache.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Trace ccache usage to see which derivations use ccache", "loc": ["programs", "ccache", "trace"], "readOnly": false, "type": "boolean"}, "programs.cdemu.enable": {"declarations": ["nixos/modules/programs/cdemu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "{command}`cdemu` for members of\n{option}`programs.cdemu.group`.\n", "loc": ["programs", "cdemu", "enable"], "readOnly": false, "type": "boolean"}, "programs.cdemu.group": {"declarations": ["nixos/modules/programs/cdemu.nix"], "default": {"_type": "literalExpression", "text": "\"cdrom\""}, "description": "Group that users must be in to use {command}`cdemu`.\n", "loc": ["programs", "cdemu", "group"], "readOnly": false, "type": "string"}, "programs.cdemu.gui": {"declarations": ["nixos/modules/programs/cdemu.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install the {command}`cdemu` GUI (gCDEmu).\n", "loc": ["programs", "cdemu", "gui"], "readOnly": false, "type": "boolean"}, "programs.cdemu.image-analyzer": {"declarations": ["nixos/modules/programs/cdemu.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install the image analyzer.\n", "loc": ["programs", "cdemu", "image-analyzer"], "readOnly": false, "type": "boolean"}, "programs.cfs-zen-tweaks.enable": {"declarations": ["nixos/modules/programs/cfs-zen-tweaks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CFS Zen Tweaks.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "cfs-zen-tweaks", "enable"], "readOnly": false, "type": "boolean"}, "programs.chromium.defaultSearchProviderEnabled": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable the default search provider.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "chromium", "defaultSearchProviderEnabled"], "readOnly": false, "type": "null or boolean"}, "programs.chromium.defaultSearchProviderSearchURL": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Chromium default search provider url.", "example": {"_type": "literalExpression", "text": "\"https://encrypted.google.com/search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}ie={inputEncoding}\""}, "loc": ["programs", "chromium", "defaultSearchProviderSearchURL"], "readOnly": false, "type": "null or string"}, "programs.chromium.defaultSearchProviderSuggestURL": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Chromium default search provider url for suggestions.", "example": {"_type": "literalExpression", "text": "\"https://encrypted.google.com/complete/search?output=chrome&q={searchTerms}\""}, "loc": ["programs", "chromium", "defaultSearchProviderSuggestURL"], "readOnly": false, "type": "null or string"}, "programs.chromium.enable": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable policies for chromium based browsers like Chromium, Google Chrome or Brave.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "chromium", "enable"], "readOnly": false, "type": "boolean"}, "programs.chromium.enablePlasmaBrowserIntegration": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Native Messaging Host for Plasma Browser Integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "chromium", "enablePlasmaBrowserIntegration"], "readOnly": false, "type": "boolean"}, "programs.chromium.extensions": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of chromium extensions to install.\nFor list of plugins ids see id in url of extensions on\n[chrome web store](https://chrome.google.com/webstore/category/extensions)\npage. To install a chromium extension not included in the chrome web\nstore, append to the extension id a semicolon \";\" followed by a URL\npointing to an Update Manifest XML file. See\n[ExtensionInstallForcelist](https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallForcelist)\nfor additional details.\n", "example": {"_type": "literalExpression", "text": "[\n  \"chlffgpmiacpedhhbkiomidkjlcfhogd\" # pushbullet\n  \"mbniclmhobmnbdlbpiphghaielnnpgdp\" # lightshot\n  \"gcbommkclmclpchllfjekcdonpmejbdp\" # https everywhere\n  \"cjpalhdlnbpafiamejdnhcphjbkeiagm\" # ublock origin\n]\n"}, "loc": ["programs", "chromium", "extensions"], "readOnly": false, "type": "null or (list of string)"}, "programs.chromium.extraOpts": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra chromium policy options. A list of available policies\ncan be found in the Chrome Enterprise documentation:\n<https://cloud.google.com/docs/chrome-enterprise/policies/>\nMake sure the selected policy is supported on Linux and your browser version.\n", "example": {"_type": "literalExpression", "text": "{\n  \"BrowserSignin\" = 0;\n  \"SyncDisabled\" = true;\n  \"PasswordManagerEnabled\" = false;\n  \"SpellcheckEnabled\" = true;\n  \"SpellcheckLanguage\" = [\n    \"de\"\n    \"en-US\"\n  ];\n}\n"}, "loc": ["programs", "chromium", "extraOpts"], "readOnly": false, "type": "attribute set"}, "programs.chromium.homepageLocation": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Chromium default homepage", "example": {"_type": "literalExpression", "text": "\"https://nixos.org\""}, "loc": ["programs", "chromium", "homepageLocation"], "readOnly": false, "type": "null or string"}, "programs.chromium.initialPrefs": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Initial preferences are used to configure the browser for the first run.\nUnlike {option}`programs.chromium.extraOpts`, initialPrefs can be changed by users in the browser settings.\nMore information can be found in the Chromium documentation:\n<https://www.chromium.org/administrators/configuring-other-preferences/>\n", "example": {"_type": "literalExpression", "text": "{\n  \"first_run_tabs\" = [\n    \"https://nixos.org/\"\n  ];\n}\n"}, "loc": ["programs", "chromium", "initialPrefs"], "readOnly": false, "type": "attribute set"}, "programs.chromium.plasmaBrowserIntegrationPackage": {"declarations": ["nixos/modules/programs/chromium.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kdePackages.plasma-browser-integration"}, "description": "The plasma-browser-integration package to use.", "loc": ["programs", "chromium", "plasmaBrowserIntegrationPackage"], "readOnly": false, "type": "package"}, "programs.chrysalis.enable": {"declarations": ["nixos/modules/programs/chrysalis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Chrysalis.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "chrysalis", "enable"], "readOnly": false, "type": "boolean"}, "programs.chrysalis.package": {"declarations": ["nixos/modules/programs/chrysalis.nix"], "default": {"_type": "literalExpression", "text": "pkgs.chrysalis"}, "description": "The Chrysalis package to use.", "loc": ["programs", "chrysalis", "package"], "readOnly": false, "type": "package"}, "programs.clash-verge.autoStart": {"declarations": ["nixos/modules/programs/clash-verge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Clash Verge auto launch.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "clash-verge", "autoStart"], "readOnly": false, "type": "boolean"}, "programs.clash-verge.enable": {"declarations": ["nixos/modules/programs/clash-verge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Clash Verge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "clash-verge", "enable"], "readOnly": false, "type": "boolean"}, "programs.clash-verge.group": {"declarations": ["nixos/modules/programs/clash-verge.nix"], "default": {"_type": "literalExpression", "text": "\"users\""}, "description": "The group to grant access to clash-verge-rev's service socket.\n\nFor better security, you should set a group that only contains\nusers who need to access clash-verge-rev's service socket.\n", "example": {"_type": "literalExpression", "text": "\"wheel\""}, "loc": ["programs", "clash-verge", "group"], "readOnly": false, "type": "string"}, "programs.clash-verge.package": {"declarations": ["nixos/modules/programs/clash-verge.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clash-verge-rev"}, "description": "The clash-verge package to use. Available options are\nclash-verge-rev and clash-nyanpasu, both are forks of\nthe original clash-verge project.\n", "loc": ["programs", "clash-verge", "package"], "readOnly": false, "type": "package"}, "programs.clash-verge.serviceMode": {"declarations": ["nixos/modules/programs/clash-verge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Service Mode.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "clash-verge", "serviceMode"], "readOnly": false, "type": "boolean"}, "programs.clash-verge.tunMode": {"declarations": ["nixos/modules/programs/clash-verge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Setcap for TUN Mode. DNS settings won't work on this way.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "clash-verge", "tunMode"], "readOnly": false, "type": "boolean"}, "programs.cnping.enable": {"declarations": ["nixos/modules/programs/cnping.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a setcap wrapper for cnping.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "cnping", "enable"], "readOnly": false, "type": "boolean"}, "programs.command-not-found.dbPath": {"declarations": ["nixos/modules/programs/command-not-found/command-not-found.nix"], "default": {"_type": "literalExpression", "text": "pkgs.path + \"/programs.sqlite\"\n"}, "description": "Absolute path to `programs.sqlite`, which contains mappings from binary names to package names.\n\nIf a nixpkgs tarball from https://channels.nixos.org is used as the source of nixpkgs, this file will be provided and this option be set by default.\n\nTo use the stateful `programs.sqlite` database, set this option to\n`/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite`.\nIf you do so, you can update it with `sudo nix-channels --update`.\n", "loc": ["programs", "command-not-found", "dbPath"], "readOnly": false, "type": "absolute path"}, "programs.command-not-found.enable": {"declarations": ["nixos/modules/programs/command-not-found/command-not-found.nix"], "default": {"_type": "literalExpression", "text": "builtins.pathExists config.programs.command-not-found.dbPath\n"}, "description": "Whether interactive shells should show which Nix package (if\nany) provides a missing command.\n\nSee also nix-index and nix-index-database as an alternative for flakes-based systems.\n\nAdditionally, having the env var NIX_AUTO_RUN set will automatically run the matching package, and with NIX_AUTO_RUN_INTERACTIVE it will confirm the package before running.\n", "loc": ["programs", "command-not-found", "enable"], "readOnly": false, "type": "boolean"}, "programs.coolercontrol.enable": {"declarations": ["nixos/modules/programs/coolercontrol.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CoolerControl GUI & its background services.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "coolercontrol", "enable"], "readOnly": false, "type": "boolean"}, "programs.corectrl.enable": {"declarations": ["nixos/modules/hardware/corectrl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CoreCtrl, a tool to overclock amd graphics cards and processors.\nAdd your user to the corectrl group to run corectrl without needing to enter your password\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "corectrl", "enable"], "readOnly": false, "type": "boolean"}, "programs.corectrl.package": {"declarations": ["nixos/modules/hardware/corectrl.nix"], "default": {"_type": "literalExpression", "text": "pkgs.corectrl"}, "description": "The corectrl package to use. Useful for overriding the configuration options used for the package.", "loc": ["programs", "corectrl", "package"], "readOnly": false, "type": "package"}, "programs.corefreq.enable": {"declarations": ["nixos/modules/programs/corefreq.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Whether to enable the corefreq daemon and kernel module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "corefreq", "enable"], "readOnly": false, "type": "boolean"}, "programs.corefreq.package": {"declarations": ["nixos/modules/programs/corefreq.nix"], "default": {"_type": "literalExpression", "text": "config.boot.kernelPackages.corefreq"}, "description": "The corefreq package to use.\n", "loc": ["programs", "corefreq", "package"], "readOnly": false, "type": "package"}, "programs.cpu-energy-meter.enable": {"declarations": ["nixos/modules/programs/cpu-energy-meter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CPU Energy Meter.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "cpu-energy-meter", "enable"], "readOnly": false, "type": "boolean"}, "programs.cpu-energy-meter.package": {"declarations": ["nixos/modules/programs/cpu-energy-meter.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cpu-energy-meter"}, "description": "The cpu-energy-meter package to use.", "loc": ["programs", "cpu-energy-meter", "package"], "readOnly": false, "type": "package"}, "programs.criu.enable": {"declarations": ["nixos/modules/programs/criu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Install {command}`criu` along with necessary kernel options.\n", "loc": ["programs", "criu", "enable"], "readOnly": false, "type": "boolean"}, "programs.dconf.enable": {"declarations": ["nixos/modules/programs/dconf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dconf.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "dconf", "enable"], "readOnly": false, "type": "boolean"}, "programs.dconf.packages": {"declarations": ["nixos/modules/programs/dconf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of packages which provide dconf profiles and databases in {file}`/etc/dconf`.", "loc": ["programs", "dconf", "packages"], "readOnly": false, "type": "list of package"}, "programs.dconf.profiles": {"declarations": ["nixos/modules/programs/dconf.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attrset of dconf profiles. By default the `user` profile is used which\nends up in `/etc/dconf/profile/user`.\n", "example": {"_type": "literalExpression", "text": "{\n  # A \"user\" profile with a database\n  user.databases = [\n    {\n      settings = { };\n    }\n  ];\n  # A \"bar\" profile from a package\n  bar = pkgs.bar-dconf-profile;\n  # A \"foo\" profile from a path\n  foo = ${./foo}\n};\n"}, "loc": ["programs", "dconf", "profiles"], "readOnly": false, "type": "attribute set of (absolute path or package or (submodule))"}, "programs.digitalbitbox.enable": {"declarations": ["nixos/modules/programs/digitalbitbox/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Installs the Digital Bitbox application and enables the complementary hardware module.\n", "loc": ["programs", "digitalbitbox", "enable"], "readOnly": false, "type": "boolean"}, "programs.digitalbitbox.package": {"declarations": ["nixos/modules/programs/digitalbitbox/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.digitalbitbox"}, "description": "The digitalbitbox package to use. This can be used to install a package with udev rules that differ from the defaults.\n", "loc": ["programs", "digitalbitbox", "package"], "readOnly": false, "type": "package"}, "programs.direnv.angrr.autoUse": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to automatically use angrr before loading .envrc.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "angrr", "autoUse"], "readOnly": false, "type": "boolean"}, "programs.direnv.angrr.enable": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable angrr direnv integration.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "angrr", "enable"], "readOnly": false, "type": "boolean"}, "programs.direnv.direnvrcExtra": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to append to the sourced direnvrc\n", "example": {"_type": "literalExpression", "text": "''\n  export FOO=\"foo\"\n  echo \"loaded direnv!\"\n''"}, "loc": ["programs", "direnv", "direnvrcExtra"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.direnv.enable": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable direnv integration. Takes care of both installation and\nsetting up the sourcing of the shell. Additionally enables nix-direnv\nintegration. Note that you need to logout and login for this change to apply\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "direnv", "enable"], "readOnly": false, "type": "boolean"}, "programs.direnv.enableBashIntegration": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Bash integration\n.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "enableBashIntegration"], "readOnly": false, "type": "boolean"}, "programs.direnv.enableFishIntegration": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Fish integration\n.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "enableFishIntegration"], "readOnly": false, "type": "boolean"}, "programs.direnv.enableXonshIntegration": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Xonsh integration\n.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "enableXonshIntegration"], "readOnly": false, "type": "boolean"}, "programs.direnv.enableZshIntegration": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Zsh integration\n.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "enableZshIntegration"], "readOnly": false, "type": "boolean"}, "programs.direnv.loadInNixShell": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable loading direnv in `nix-shell` `nix shell` or `nix develop`\n.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "loadInNixShell"], "readOnly": false, "type": "boolean"}, "programs.direnv.nix-direnv.enable": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable a faster, persistent implementation of use_nix and use_flake, to replace the builtin one\n.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "direnv", "nix-direnv", "enable"], "readOnly": false, "type": "boolean"}, "programs.direnv.nix-direnv.package": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "\"pkgs.nix-direnv\""}, "description": "The nix-direnv package to use\n", "loc": ["programs", "direnv", "nix-direnv", "package"], "readOnly": false, "type": "package"}, "programs.direnv.package": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "pkgs.direnv"}, "description": "The direnv package to use.", "loc": ["programs", "direnv", "package"], "readOnly": false, "type": "package"}, "programs.direnv.settings": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Direnv configuration. Refer to {manpage}`direnv.toml(1)`.\n", "example": {"_type": "literalExpression", "text": "{\n  global = {\n    log_format = \"-\";\n    log_filter = \"^$\";\n  };\n}\n"}, "loc": ["programs", "direnv", "settings"], "readOnly": false, "type": "TOML value"}, "programs.direnv.silent": {"declarations": ["nixos/modules/programs/direnv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the hiding of direnv logging\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "direnv", "silent"], "readOnly": false, "type": "boolean"}, "programs.dmrconfig.enable": {"declarations": ["nixos/modules/programs/dmrconfig.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure system to enable use of dmrconfig. This\nenables the required udev rules and installs the program.\n", "loc": ["programs", "dmrconfig", "enable"], "readOnly": false, "relatedPackages": "- [`pkgs.dmrconfig`](\n    https://search.nixos.org/packages?show=dmrconfig&sort=relevance&query=dmrconfig\n  )\n", "type": "boolean"}, "programs.dmrconfig.package": {"declarations": ["nixos/modules/programs/dmrconfig.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dmrconfig"}, "description": "The dmrconfig package to use.", "loc": ["programs", "dmrconfig", "package"], "readOnly": false, "type": "package"}, "programs.dms-shell.enable": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DankMaterialShell, a complete desktop shell for Wayland compositors.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "dms-shell", "enable"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.enableAudioWavelength": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install dependencies required for audio wavelength visualization.\nThis enables audio spectrum and waveform visualizer widgets.\n\nRequires: cava\n", "loc": ["programs", "dms-shell", "enableAudioWavelength"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.enableCalendarEvents": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install dependencies required for calendar events support.\nThis enables calendar widgets that display events and reminders via khal.\n\nRequires: khal\n", "loc": ["programs", "dms-shell", "enableCalendarEvents"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.enableClipboardPaste": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install dependencies required for pasting directly from the clipboard history support.\nThis enables pressing Shift+Return for pasting entries from the clipboard history.\n\nRequires: wtype\n", "loc": ["programs", "dms-shell", "enableClipboardPaste"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.enableDynamicTheming": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install dependencies required for dynamic theming support.\nThis enables automatic theme generation based on wallpapers and other sources.\n\nRequires: matugen\n", "loc": ["programs", "dms-shell", "enableDynamicTheming"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.enableSystemMonitoring": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install dependencies required for system monitoring widgets.\nThis includes process list viewers and system resource monitors.\n\nRequires: dgop\n", "loc": ["programs", "dms-shell", "enableSystemMonitoring"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.enableVPN": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install dependencies required for VPN widgets.\nThis enables VPN status monitoring and management through NetworkManager.\n\nRequires: glib, networkmanager\n", "loc": ["programs", "dms-shell", "enableVPN"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.package": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dms-shell"}, "description": "The dms-shell package to use.", "loc": ["programs", "dms-shell", "package"], "readOnly": false, "type": "package"}, "programs.dms-shell.plugins": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "DMS Plugins to install and enable", "example": {"_type": "literalExpression", "text": "{\n  DockerManager = {\n    src = pkgs.fetchFromGitHub {\n      owner = \"LuckShiba\";\n      repo = \"DmsDockerManager\";\n      rev = \"v1.2.0\";\n      sha256 = \"sha256-VoJCaygWnKpv0s0pqTOmzZnPM922qPDMHk4EPcgVnaU=\";\n    };\n  };\n  AnotherPlugin = {\n    enable = true;\n    src = pkgs.another-plugin;\n  };\n}\n"}, "loc": ["programs", "dms-shell", "plugins"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.dms-shell.plugins.<name>.enable": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this plugin", "loc": ["programs", "dms-shell", "plugins", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.plugins.<name>.src": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "description": "Source of the plugin package or path", "loc": ["programs", "dms-shell", "plugins", "<name>", "src"], "readOnly": false, "type": "package or absolute path"}, "programs.dms-shell.quickshell.package": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "pkgs.quickshell"}, "description": "The quickshell package to use.", "loc": ["programs", "dms-shell", "quickshell", "package"], "readOnly": false, "type": "package"}, "programs.dms-shell.systemd.enable": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable DankMaterialShell systemd startup service.\n", "loc": ["programs", "dms-shell", "systemd", "enable"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.systemd.restartIfChanged": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to restart the dms.service when the DankMaterialShell package or\nconfiguration changes. This ensures the latest version is always running\nafter a system rebuild.\n", "loc": ["programs", "dms-shell", "systemd", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "programs.dms-shell.systemd.target": {"declarations": ["nixos/modules/programs/wayland/dms-shell.nix"], "default": {"_type": "literalExpression", "text": "\"graphical-session.target\""}, "description": "The systemd target that will automatically start the DankMaterialShell service.\n\nCommon targets include:\n- `graphical-session.target` for most desktop environments\n- `wayland-session.target` for Wayland-specific sessions\n", "loc": ["programs", "dms-shell", "systemd", "target"], "readOnly": false, "type": "string"}, "programs.droidcam.enable": {"declarations": ["nixos/modules/programs/droidcam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DroidCam client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "droidcam", "enable"], "readOnly": false, "type": "boolean"}, "programs.dsearch.enable": {"declarations": ["nixos/modules/programs/dsearch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dsearch, a fast filesystem search service with fuzzy matching.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "dsearch", "enable"], "readOnly": false, "type": "boolean"}, "programs.dsearch.package": {"declarations": ["nixos/modules/programs/dsearch.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dsearch"}, "description": "The dsearch package to use.", "loc": ["programs", "dsearch", "package"], "readOnly": false, "type": "package"}, "programs.dsearch.systemd.enable": {"declarations": ["nixos/modules/programs/dsearch.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable systemd user service for dsearch.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "dsearch", "systemd", "enable"], "readOnly": false, "type": "boolean"}, "programs.dsearch.systemd.target": {"declarations": ["nixos/modules/programs/dsearch.nix"], "default": {"_type": "literalExpression", "text": "\"default.target\""}, "description": "The systemd target that will automatically start the dsearch service.\n\nBy default, dsearch starts with the user session (`default.target`).\nYou can change this to `graphical-session.target` if you only want\nit to run in graphical sessions.\n", "loc": ["programs", "dsearch", "systemd", "target"], "readOnly": false, "type": "string"}, "programs.dublin-traceroute.enable": {"declarations": ["nixos/modules/programs/dublin-traceroute.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dublin-traceroute (including setcap wrapper).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "dublin-traceroute", "enable"], "readOnly": false, "type": "boolean"}, "programs.dublin-traceroute.package": {"declarations": ["nixos/modules/programs/dublin-traceroute.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dublin-traceroute"}, "description": "The dublin-traceroute package to use.", "loc": ["programs", "dublin-traceroute", "package"], "readOnly": false, "type": "package"}, "programs.dwl.enable": {"declarations": ["nixos/modules/programs/wayland/dwl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dwl is a compact, hackable compositor for Wayland based on wlroots.\nYou can manually launch Dwl by executing \"exec dwl\" on a TTY.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "dwl", "enable"], "readOnly": false, "type": "boolean"}, "programs.dwl.extraSessionCommands": {"declarations": ["nixos/modules/programs/wayland/dwl.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands executed just before dwl is started.\n", "loc": ["programs", "dwl", "extraSessionCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.dwl.package": {"declarations": ["nixos/modules/programs/wayland/dwl.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dwl"}, "description": "The dwl package to use.", "example": {"_type": "literalExpression", "text": "# Lets apply bar patch from:\n# https://codeberg.org/dwl/dwl-patches/src/branch/main/patches/bar\n(pkgs.dwl.override {\n  configH = ./dwl-config.h;\n}).overrideAttrs (oldAttrs: {\n  buildInputs =\n    oldAttrs.buildInputs or []\n    ++ [\n      pkgs.libdrm\n      pkgs.fcft\n    ];\n  patches = oldAttrs.patches or [] ++ [\n    ./bar-0.7.patch\n  ];\n});\n"}, "loc": ["programs", "dwl", "package"], "readOnly": false, "type": "package"}, "programs.ente-auth.enable": {"declarations": ["nixos/modules/programs/ente-auth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ente Auth.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ente-auth", "enable"], "readOnly": false, "type": "boolean"}, "programs.ente-auth.package": {"declarations": ["nixos/modules/programs/ente-auth.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ente-auth"}, "description": "The ente-auth package to use.", "loc": ["programs", "ente-auth", "package"], "readOnly": false, "type": "package"}, "programs.envision.enable": {"declarations": ["nixos/modules/programs/envision.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable envision.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "envision", "enable"], "readOnly": false, "type": "boolean"}, "programs.envision.openFirewall": {"declarations": ["nixos/modules/programs/envision.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the default ports in the firewall for the WiVRn server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "envision", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.envision.package": {"declarations": ["nixos/modules/programs/envision.nix"], "default": {"_type": "literalExpression", "text": "pkgs.envision"}, "description": "The envision package to use.", "loc": ["programs", "envision", "package"], "readOnly": false, "type": "package"}, "programs.evince.enable": {"declarations": ["nixos/modules/programs/evince.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Evince, the GNOME document viewer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "evince", "enable"], "readOnly": false, "type": "boolean"}, "programs.evince.package": {"declarations": ["nixos/modules/programs/evince.nix"], "default": {"_type": "literalExpression", "text": "pkgs.evince"}, "description": "The evince package to use.", "loc": ["programs", "evince", "package"], "readOnly": false, "type": "package"}, "programs.evolution.enable": {"declarations": ["nixos/modules/services/desktops/gnome/evolution-data-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "evolution", "enable"], "readOnly": false, "type": "boolean"}, "programs.evolution.plugins": {"declarations": ["nixos/modules/services/desktops/gnome/evolution-data-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Plugins for Evolution.", "example": {"_type": "literalExpression", "text": "[ pkgs.evolution-ews ]"}, "loc": ["programs", "evolution", "plugins"], "readOnly": false, "type": "list of package"}, "programs.extra-container.enable": {"declarations": ["nixos/modules/programs/extra-container.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable extra-container, a tool for running declarative NixOS containers\nwithout host system rebuilds\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "extra-container", "enable"], "readOnly": false, "type": "boolean"}, "programs.fcast-receiver.enable": {"declarations": ["nixos/modules/programs/fcast-receiver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FCast Receiver.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "fcast-receiver", "enable"], "readOnly": false, "type": "boolean"}, "programs.fcast-receiver.openFirewall": {"declarations": ["nixos/modules/programs/fcast-receiver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports needed for the functionality of the program.\n", "loc": ["programs", "fcast-receiver", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.fcast-receiver.package": {"declarations": ["nixos/modules/programs/fcast-receiver.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fcast-receiver"}, "description": "The fcast-receiver package to use.", "loc": ["programs", "fcast-receiver", "package"], "readOnly": false, "type": "package"}, "programs.feedbackd.enable": {"declarations": ["nixos/modules/programs/feedbackd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the feedbackd D-BUS service and udev rules.\n\nYour user needs to be in the `feedbackd` group to trigger effects\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "feedbackd", "enable"], "readOnly": false, "type": "boolean"}, "programs.feedbackd.package": {"declarations": ["nixos/modules/programs/feedbackd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.feedbackd"}, "description": "The feedbackd package to use.", "loc": ["programs", "feedbackd", "package"], "readOnly": false, "type": "package"}, "programs.feedbackd.theme-package": {"declarations": ["nixos/modules/programs/feedbackd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.feedbackd-device-themes"}, "description": "The feedbackd-device-themes package to use.", "loc": ["programs", "feedbackd", "theme-package"], "readOnly": false, "type": "null or package"}, "programs.firefox.autoConfig": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "AutoConfig files can be used to set and lock preferences that are not covered\nby the policies.json for Mac and Linux. This method can be used to automatically\nchange user preferences or prevent the end user from modifying specific\npreferences by locking them. More info can be found in <https://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfig>.\n", "loc": ["programs", "firefox", "autoConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.firefox.autoConfigFiles": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "AutoConfig files can be used to set and lock preferences that are not covered\nby the policies.json for Mac and Linux. This method can be used to automatically\nchange user preferences or prevent the end user from modifying specific\npreferences by locking them. More info can be found in <https://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfig>.\n\nFiles are concatenated and autoConfig is appended.\n", "loc": ["programs", "firefox", "autoConfigFiles"], "readOnly": false, "type": "list of absolute path"}, "programs.firefox.enable": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Firefox web browser.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "firefox", "enable"], "readOnly": false, "type": "boolean"}, "programs.firefox.languagePacks": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The language packs to install.\n", "loc": ["programs", "firefox", "languagePacks"], "readOnly": false, "type": "list of (one of \"ach\", \"af\", \"an\", \"ar\", \"ast\", \"az\", \"be\", \"bg\", \"bn\", \"br\", \"bs\", \"ca-valencia\", \"ca\", \"cak\", \"cs\", \"cy\", \"da\", \"de\", \"dsb\", \"el\", \"en-CA\", \"en-GB\", \"en-US\", \"eo\", \"es-AR\", \"es-CL\", \"es-ES\", \"es-MX\", \"et\", \"eu\", \"fa\", \"ff\", \"fi\", \"fr\", \"fur\", \"fy-NL\", \"ga-IE\", \"gd\", \"gl\", \"gn\", \"gu-IN\", \"he\", \"hi-IN\", \"hr\", \"hsb\", \"hu\", \"hy-AM\", \"ia\", \"id\", \"is\", \"it\", \"ja\", \"ka\", \"kab\", \"kk\", \"km\", \"kn\", \"ko\", \"lij\", \"lt\", \"lv\", \"mk\", \"mr\", \"ms\", \"my\", \"nb-NO\", \"ne-NP\", \"nl\", \"nn-NO\", \"oc\", \"pa-IN\", \"pl\", \"pt-BR\", \"pt-PT\", \"rm\", \"ro\", \"ru\", \"sat\", \"sc\", \"sco\", \"si\", \"sk\", \"skr\", \"sl\", \"son\", \"sq\", \"sr\", \"sv-SE\", \"szl\", \"ta\", \"te\", \"tg\", \"th\", \"tl\", \"tr\", \"trs\", \"uk\", \"ur\", \"uz\", \"vi\", \"xh\", \"zh-CN\", \"zh-TW\")"}, "programs.firefox.nativeMessagingHosts.packages": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages containing native messaging hosts that should be made available to Firefox extensions.\n", "loc": ["programs", "firefox", "nativeMessagingHosts", "packages"], "readOnly": false, "type": "list of package"}, "programs.firefox.package": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firefox"}, "description": "Firefox package to use.", "loc": ["programs", "firefox", "package"], "readOnly": false, "relatedPackages": "- [`pkgs.firefox`](\n    https://search.nixos.org/packages?show=firefox&sort=relevance&query=firefox\n  )\n- [`pkgs.firefox-bin`](\n    https://search.nixos.org/packages?show=firefox-bin&sort=relevance&query=firefox-bin\n  )\n- [`pkgs.firefox-esr`](\n    https://search.nixos.org/packages?show=firefox-esr&sort=relevance&query=firefox-esr\n  )\n", "type": "package"}, "programs.firefox.policies": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Group policies to install.\n\nSee [Mozilla's documentation](https://mozilla.github.io/policy-templates/)\nfor a list of available options.\n\nThis can be used to install extensions declaratively! Check out the\ndocumentation of the `ExtensionSettings` policy for details.\n\nWhen this option is in use, Firefox will inform you that \"your browser\nis managed by your organisation\". That message appears because NixOS\ninstalls what you have declared here such that it cannot be overridden\nthrough the user interface. It does not mean that someone else has been\ngiven control of your browser, unless of course they also control your\nNixOS configuration.\n\n", "loc": ["programs", "firefox", "policies"], "readOnly": false, "type": "JSON value"}, "programs.firefox.preferences": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Preferences to set from `about:config`.\n\nSome of these might be able to be configured more ergonomically\nusing policies.\n\nSee [here](https://mozilla.github.io/policy-templates/#preferences) for allowed preferences.\n\nWhen this option is in use, Firefox will inform you that \"your browser\nis managed by your organisation\". That message appears because NixOS\ninstalls what you have declared here such that it cannot be overridden\nthrough the user interface. It does not mean that someone else has been\ngiven control of your browser, unless of course they also control your\nNixOS configuration.\n\n", "example": {"_type": "literalExpression", "text": "{\n  \"browser.tabs.tabmanager.enabled\" = false;\n}\n"}, "loc": ["programs", "firefox", "preferences"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string)"}, "programs.firefox.preferencesStatus": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "\"locked\""}, "description": "The status of `firefox.preferences`.\n\n`status` can assume the following values:\n- `\"default\"`: Preferences appear as default.\n- `\"locked\"`: Preferences appear as default and can't be changed.\n- `\"user\"`: Preferences appear as changed.\n- `\"clear\"`: Value has no effect. Resets to factory defaults on each startup.\n", "loc": ["programs", "firefox", "preferencesStatus"], "readOnly": false, "type": "one of \"default\", \"locked\", \"user\", \"clear\""}, "programs.firefox.wrapperConfig": {"declarations": ["nixos/modules/programs/firefox.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Arguments to pass to Firefox wrapper", "loc": ["programs", "firefox", "wrapperConfig"], "readOnly": false, "type": "attribute set"}, "programs.firejail.enable": {"declarations": ["nixos/modules/programs/firejail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable firejail, a sandboxing tool for Linux.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "firejail", "enable"], "readOnly": false, "type": "boolean"}, "programs.firejail.wrappedBinaries": {"declarations": ["nixos/modules/programs/firejail.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Wrap the binaries in firejail and place them in the global path.\n", "example": {"_type": "literalExpression", "text": "{\n  firefox = {\n    executable = \"${lib.getBin pkgs.firefox}/bin/firefox\";\n    profile = \"${pkgs.firejail}/etc/firejail/firefox.profile\";\n  };\n  mpv = {\n    executable = \"${lib.getBin pkgs.mpv}/bin/mpv\";\n    profile = \"${pkgs.firejail}/etc/firejail/mpv.profile\";\n  };\n}\n"}, "loc": ["programs", "firejail", "wrappedBinaries"], "readOnly": false, "type": "attribute set of (absolute path or (submodule))"}, "programs.fish.enable": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure fish as an interactive shell.\n", "loc": ["programs", "fish", "enable"], "readOnly": false, "type": "boolean"}, "programs.fish.extraCompletionPackages": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to generate completions from, if {option}`programs.fish.generateCompletions` is enabled.\n", "example": {"_type": "literalExpression", "text": "config.users.users.alice.packages"}, "loc": ["programs", "fish", "extraCompletionPackages"], "readOnly": false, "type": "list of package"}, "programs.fish.generateCompletions": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable generating completion files from man pages.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "fish", "generateCompletions"], "readOnly": false, "type": "boolean"}, "programs.fish.interactiveShellInit": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during interactive fish shell initialisation.\n", "loc": ["programs", "fish", "interactiveShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.fish.loginShellInit": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during fish login shell initialisation.\n", "loc": ["programs", "fish", "loginShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.fish.package": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fish"}, "description": "The fish package to use.", "loc": ["programs", "fish", "package"], "readOnly": false, "type": "package"}, "programs.fish.promptInit": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code used to initialise fish prompt.\n", "loc": ["programs", "fish", "promptInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.fish.shellAbbrs": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of fish abbreviations.\n", "example": {"_type": "literalExpression", "text": "{\n  gco = \"git checkout\";\n  npu = \"nix-prefetch-url\";\n}"}, "loc": ["programs", "fish", "shellAbbrs"], "readOnly": false, "type": "attribute set of string"}, "programs.fish.shellAliases": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of aliases for fish shell, which overrides {option}`environment.shellAliases`.\nSee {option}`environment.shellAliases` for an option format description.\n", "loc": ["programs", "fish", "shellAliases"], "readOnly": false, "type": "attribute set of (null or string or absolute path)"}, "programs.fish.shellInit": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during fish shell initialisation.\n", "loc": ["programs", "fish", "shellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.fish.useBabelfish": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, the configured environment will be translated to native fish using [babelfish](https://github.com/bouk/babelfish).\nOtherwise, [foreign-env](https://github.com/oh-my-fish/plugin-foreign-env) will be used.\n", "loc": ["programs", "fish", "useBabelfish"], "readOnly": false, "type": "boolean"}, "programs.fish.vendor.completions.enable": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether fish should use completion files provided by other packages.\n", "loc": ["programs", "fish", "vendor", "completions", "enable"], "readOnly": false, "type": "boolean"}, "programs.fish.vendor.config.enable": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether fish should source configuration snippets provided by other packages.\n", "loc": ["programs", "fish", "vendor", "config", "enable"], "readOnly": false, "type": "boolean"}, "programs.fish.vendor.functions.enable": {"declarations": ["nixos/modules/programs/fish.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether fish should autoload fish functions provided by other packages.\n", "loc": ["programs", "fish", "vendor", "functions", "enable"], "readOnly": false, "type": "boolean"}, "programs.flashprog.enable": {"declarations": ["nixos/modules/programs/flashprog.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable configuring flashprog udev rules and\ninstalling flashprog as system package\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "flashprog", "enable"], "readOnly": false, "type": "boolean"}, "programs.flashprog.package": {"declarations": ["nixos/modules/programs/flashprog.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flashprog"}, "description": "The flashprog package to use.", "loc": ["programs", "flashprog", "package"], "readOnly": false, "type": "package"}, "programs.flashrom.enable": {"declarations": ["nixos/modules/programs/flashrom.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Installs flashrom and configures udev rules for programmers\nused by flashrom. Grants access to users in the \"flashrom\"\ngroup.\n", "loc": ["programs", "flashrom", "enable"], "readOnly": false, "type": "boolean"}, "programs.flashrom.package": {"declarations": ["nixos/modules/programs/flashrom.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flashrom"}, "description": "The flashrom package to use.", "loc": ["programs", "flashrom", "package"], "readOnly": false, "type": "package"}, "programs.flexoptix-app.enable": {"declarations": ["nixos/modules/programs/flexoptix-app.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FLEXOPTIX app + udev rules.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "flexoptix-app", "enable"], "readOnly": false, "type": "boolean"}, "programs.flexoptix-app.package": {"declarations": ["nixos/modules/programs/flexoptix-app.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flexoptix-app"}, "description": "The flexoptix-app package to use.", "loc": ["programs", "flexoptix-app", "package"], "readOnly": false, "type": "package"}, "programs.foot.enable": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable foot terminal emulator.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "foot", "enable"], "readOnly": false, "type": "boolean"}, "programs.foot.enableBashIntegration": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable foot bash integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "foot", "enableBashIntegration"], "readOnly": false, "type": "boolean"}, "programs.foot.enableFishIntegration": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable foot fish integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "foot", "enableFishIntegration"], "readOnly": false, "type": "boolean"}, "programs.foot.enableZshIntegration": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable foot zsh integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "foot", "enableZshIntegration"], "readOnly": false, "type": "boolean"}, "programs.foot.package": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "pkgs.foot"}, "description": "The foot package to use.", "loc": ["programs", "foot", "package"], "readOnly": false, "type": "package"}, "programs.foot.settings": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for foot terminal emulator. Further information can be found in {command}`man 5 foot.ini`.\n\nGlobal configuration has to be written under the [main] section.\n", "example": {"_type": "literalExpression", "text": "{\n  main = {\n    font = \"FreeMono:size=12\";\n  };\n  scrollback = {\n    lines = 100000;\n  };\n}"}, "loc": ["programs", "foot", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "programs.foot.theme": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Theme name. Check <https://codeberg.org/dnkl/foot/src/branch/master/themes> for available themes.\n", "example": {"_type": "literalExpression", "text": "\"aeroroot\""}, "loc": ["programs", "foot", "theme"], "readOnly": false, "type": "null or string"}, "programs.foot.xdg.serverAutostart": {"declarations": ["nixos/modules/programs/foot"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable starting the foot server via xdg-autostart.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "foot", "xdg", "serverAutostart"], "readOnly": false, "type": "boolean"}, "programs.fuse.enable": {"declarations": ["nixos/modules/programs/fuse.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable fuse.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "fuse", "enable"], "readOnly": false, "type": "boolean"}, "programs.fuse.mountMax": {"declarations": ["nixos/modules/programs/fuse.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Set the maximum number of FUSE mounts allowed to non-root users.\n", "loc": ["programs", "fuse", "mountMax"], "readOnly": false, "type": "integer between 0 and 32767 (both inclusive)"}, "programs.fuse.userAllowOther": {"declarations": ["nixos/modules/programs/fuse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow non-root users to specify the allow_other or allow_root mount\noptions, see mount.fuse3(8).\n", "loc": ["programs", "fuse", "userAllowOther"], "readOnly": false, "type": "boolean"}, "programs.fzf.fuzzyCompletion": {"declarations": ["nixos/modules/programs/fzf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fuzzy completion with fzf.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "fzf", "fuzzyCompletion"], "readOnly": false, "type": "boolean"}, "programs.fzf.keybindings": {"declarations": ["nixos/modules/programs/fzf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fzf keybindings.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "fzf", "keybindings"], "readOnly": false, "type": "boolean"}, "programs.gamemode.enable": {"declarations": ["nixos/modules/programs/gamemode.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GameMode to optimise system performance on demand.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "gamemode", "enable"], "readOnly": false, "type": "boolean"}, "programs.gamemode.enableRenice": {"declarations": ["nixos/modules/programs/gamemode.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable CAP_SYS_NICE on gamemoded to support lowering process niceness.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "gamemode", "enableRenice"], "readOnly": false, "type": "boolean"}, "programs.gamemode.settings": {"declarations": ["nixos/modules/programs/gamemode.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "System-wide configuration for GameMode (/etc/gamemode.ini).\nSee {manpage}`gamemoded(8)` man page for available settings.\n", "example": {"_type": "literalExpression", "text": "{\n  general = {\n    renice = 10;\n  };\n\n  # Warning: GPU optimisations have the potential to damage hardware\n  gpu = {\n    apply_gpu_optimisations = \"accept-responsibility\";\n    gpu_device = 0;\n    amd_performance_level = \"high\";\n  };\n\n  custom = {\n    start = \"${pkgs.libnotify}/bin/notify-send 'GameMode started'\";\n    end = \"${pkgs.libnotify}/bin/notify-send 'GameMode ended'\";\n  };\n}\n"}, "loc": ["programs", "gamemode", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "programs.gamescope.args": {"declarations": ["nixos/modules/programs/gamescope.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Arguments passed to GameScope on startup.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--rt\"\n  \"--prefer-vk-device 8086:9bc4\"\n]"}, "loc": ["programs", "gamescope", "args"], "readOnly": false, "type": "list of string"}, "programs.gamescope.capSysNice": {"declarations": ["nixos/modules/programs/gamescope.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add cap_sys_nice capability to the GameScope\nbinary so that it may renice itself.\n", "loc": ["programs", "gamescope", "capSysNice"], "readOnly": false, "type": "boolean"}, "programs.gamescope.enable": {"declarations": ["nixos/modules/programs/gamescope.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gamescope, the SteamOS session compositing window manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "gamescope", "enable"], "readOnly": false, "type": "boolean"}, "programs.gamescope.env": {"declarations": ["nixos/modules/programs/gamescope.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Default environment variables available to the GameScope process, overridable at runtime.\n", "example": {"_type": "literalExpression", "text": "# for Prime render offload on Nvidia laptops.\n# Also requires `hardware.nvidia.prime.offload.enable`.\n{\n  __NV_PRIME_RENDER_OFFLOAD = \"1\";\n  __VK_LAYER_NV_optimus = \"NVIDIA_only\";\n  __GLX_VENDOR_LIBRARY_NAME = \"nvidia\";\n}\n"}, "loc": ["programs", "gamescope", "env"], "readOnly": false, "type": "attribute set of string"}, "programs.gamescope.package": {"declarations": ["nixos/modules/programs/gamescope.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gamescope"}, "description": "The gamescope package to use.", "loc": ["programs", "gamescope", "package"], "readOnly": false, "type": "package"}, "programs.gdk-pixbuf.modulePackages": {"declarations": ["nixos/modules/programs/gdk-pixbuf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Packages providing GDK-Pixbuf modules, for cache generation.", "loc": ["programs", "gdk-pixbuf", "modulePackages"], "readOnly": false, "type": "list of package"}, "programs.geary.enable": {"declarations": ["nixos/modules/programs/geary.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Geary, a Mail client for GNOME.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "geary", "enable"], "readOnly": false, "type": "boolean"}, "programs.ghidra.enable": {"declarations": ["nixos/modules/programs/ghidra.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ghidra, a software reverse engineering (SRE) suite of tools.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ghidra", "enable"], "readOnly": false, "type": "boolean"}, "programs.ghidra.gdb": {"declarations": ["nixos/modules/programs/ghidra.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add to gdbinit the python modules required to make Ghidra's debugger work.\n", "loc": ["programs", "ghidra", "gdb"], "readOnly": false, "type": "boolean"}, "programs.ghidra.package": {"declarations": ["nixos/modules/programs/ghidra.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ghidra"}, "description": "The ghidra package to use.", "example": {"_type": "literalExpression", "text": "ghidra-bin"}, "loc": ["programs", "ghidra", "package"], "readOnly": false, "type": "package"}, "programs.git-worktree-switcher.enable": {"declarations": ["nixos/modules/programs/git-worktree-switcher.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable git-worktree-switcher, switch between git worktrees with speed..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "git-worktree-switcher", "enable"], "readOnly": false, "type": "boolean"}, "programs.git-worktree-switcher.package": {"declarations": ["nixos/modules/programs/git-worktree-switcher.nix"], "default": {"_type": "literalExpression", "text": "pkgs.git-worktree-switcher"}, "description": "The git-worktree-switcher package to use.", "loc": ["programs", "git-worktree-switcher", "package"], "readOnly": false, "type": "package"}, "programs.git.attributes": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Assign git attributes to files (one pattern per line):\n\n    PATTERN1 ATTR1 ATTR2 ...\n\nBlank lines and lines beginning with # are ignored. See\n{manpage}`gitattributes(5)` for more information.\n", "example": {"_type": "literalExpression", "text": "\"*.pdf diff=pdf\""}, "loc": ["programs", "git", "attributes"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.git.config": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Configuration to write to /etc/gitconfig. A list can also be\nspecified to keep the configuration in order. For example, setting\n`config` to `[ { foo.x = 42; } { bar.y = 42; }]` will put the `foo`\nsection before the `bar` section unlike the default alphabetical\norder, which can be helpful for sections such as `include` and\n`includeIf`. See the CONFIGURATION FILE section of {manpage}`git-config(1)` for\nmore information.\n", "example": {"_type": "literalExpression", "text": "{\n  init = {\n    defaultBranch = \"main\";\n  };\n  url = {\n    \"https://github.com/\" = {\n      insteadOf = [\n        \"gh:\"\n        \"github:\"\n      ];\n    };\n  };\n}"}, "loc": ["programs", "git", "config"], "readOnly": false, "type": "(attribute set of attribute set of anything) or list of attribute set of attribute set of anything"}, "programs.git.enable": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable git, a distributed version control system.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "git", "enable"], "readOnly": false, "type": "boolean"}, "programs.git.lfs.enable": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable git-lfs (Large File Storage).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "git", "lfs", "enable"], "readOnly": false, "type": "boolean"}, "programs.git.lfs.enablePureSSHTransfer": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Enable pure SSH transfer in server side by adding git-lfs-transfer to environment.systemPackages.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "git", "lfs", "enablePureSSHTransfer"], "readOnly": false, "type": "boolean"}, "programs.git.lfs.package": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "pkgs.git-lfs"}, "description": "The git-lfs package to use.", "loc": ["programs", "git", "lfs", "package"], "readOnly": false, "type": "package"}, "programs.git.package": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "pkgs.git"}, "description": "The git package to use.", "example": {"_type": "literalExpression", "text": "gitFull"}, "loc": ["programs", "git", "package"], "readOnly": false, "type": "package"}, "programs.git.prompt.enable": {"declarations": ["nixos/modules/programs/git.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatically sourcing git-prompt.sh. This does not change $PS1; it simply provides relevant utility functions.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "git", "prompt", "enable"], "readOnly": false, "type": "boolean"}, "programs.gnome-disks.enable": {"declarations": ["nixos/modules/programs/gnome-disks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Disks daemon, a program designed to\nbe a UDisks2 graphical front-end.\n", "loc": ["programs", "gnome-disks", "enable"], "readOnly": false, "type": "boolean"}, "programs.gnome-terminal.enable": {"declarations": ["nixos/modules/programs/gnome-terminal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Terminal.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "gnome-terminal", "enable"], "readOnly": false, "type": "boolean"}, "programs.gnupg.agent.enable": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables GnuPG agent with socket-activation for every user session.\n", "loc": ["programs", "gnupg", "agent", "enable"], "readOnly": false, "type": "boolean"}, "programs.gnupg.agent.enableBrowserSocket": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable browser socket for GnuPG agent.\n", "loc": ["programs", "gnupg", "agent", "enableBrowserSocket"], "readOnly": false, "type": "boolean"}, "programs.gnupg.agent.enableExtraSocket": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable extra socket for GnuPG agent.\n", "loc": ["programs", "gnupg", "agent", "enableExtraSocket"], "readOnly": false, "type": "boolean"}, "programs.gnupg.agent.enableSSHSupport": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSH agent support in GnuPG agent. Also sets SSH_AUTH_SOCK\nenvironment variable correctly. This will disable socket-activation\nand thus always start a GnuPG agent per user session.\n", "loc": ["programs", "gnupg", "agent", "enableSSHSupport"], "readOnly": false, "type": "boolean"}, "programs.gnupg.agent.pinentryPackage": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalMD", "text": "matching the configured desktop environment or `pkgs.pinentry-curses`"}, "description": "Which pinentry package to use. The path to the mainProgram as defined in\nthe package's meta attributes will be set in /etc/gnupg/gpg-agent.conf.\nIf not set by the user, it'll pick an appropriate flavor depending on the\nsystem configuration (qt flavor for lxqt and plasma, gtk2 for xfce,\ngnome3 on all other systems with X enabled, curses otherwise).\n", "example": {"_type": "literalMD", "text": "pkgs.pinentry-gnome3"}, "loc": ["programs", "gnupg", "agent", "pinentryPackage"], "readOnly": false, "type": "null or package"}, "programs.gnupg.agent.settings": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for /etc/gnupg/gpg-agent.conf.\nSee {manpage}`gpg-agent(1)` for supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  default-cache-ttl = 600;\n}"}, "loc": ["programs", "gnupg", "agent", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string))"}, "programs.gnupg.dirmngr.enable": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables GnuPG network certificate management daemon with socket-activation for every user session.\n", "loc": ["programs", "gnupg", "dirmngr", "enable"], "readOnly": false, "type": "boolean"}, "programs.gnupg.package": {"declarations": ["nixos/modules/programs/gnupg.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gnupg"}, "description": "The gnupg package to use.", "loc": ["programs", "gnupg", "package"], "readOnly": false, "type": "package"}, "programs.gpaste.enable": {"declarations": ["nixos/modules/programs/gpaste.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GPaste, a clipboard manager.\n", "loc": ["programs", "gpaste", "enable"], "readOnly": false, "type": "boolean"}, "programs.gphoto2.enable": {"declarations": ["nixos/modules/programs/gphoto2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure system to use gphoto2.\nTo grant digital camera access to a user, the user must\nbe part of the camera group:\n`users.users.alice.extraGroups = [\"camera\"];`\n", "loc": ["programs", "gphoto2", "enable"], "readOnly": false, "type": "boolean"}, "programs.gpu-screen-recorder.enable": {"declarations": ["nixos/modules/programs/gpu-screen-recorder.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install gpu-screen-recorder and generate setcap\nwrappers for promptless recording.\n", "loc": ["programs", "gpu-screen-recorder", "enable"], "readOnly": false, "type": "boolean"}, "programs.gpu-screen-recorder.package": {"declarations": ["nixos/modules/programs/gpu-screen-recorder.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gpu-screen-recorder"}, "description": "The gpu-screen-recorder package to use.", "loc": ["programs", "gpu-screen-recorder", "package"], "readOnly": false, "type": "package"}, "programs.gtklock.config": {"declarations": ["nixos/modules/programs/wayland/gtklock.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for gtklock.\nSee [`gtklock(1)`](https://github.com/jovanlanik/gtklock/blob/master/man/gtklock.1.scd) man page for details.\n", "example": {"_type": "literalExpression", "text": "{\n  main = {\n    idle-hide = true;\n    idle-timeout = 10;\n  };\n}"}, "loc": ["programs", "gtklock", "config"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non-empty list of them)"}, "programs.gtklock.enable": {"declarations": ["nixos/modules/programs/wayland/gtklock.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gtklock, a GTK-based lockscreen for Wayland.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "gtklock", "enable"], "readOnly": false, "type": "boolean"}, "programs.gtklock.modules": {"declarations": ["nixos/modules/programs/wayland/gtklock.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "gtklock modules to load.", "example": {"_type": "literalExpression", "text": "with pkgs; [\n  gtklock-playerctl-module\n  gtklock-powerbar-module\n  gtklock-userinfo-module\n]"}, "loc": ["programs", "gtklock", "modules"], "readOnly": false, "type": "list of package"}, "programs.gtklock.package": {"declarations": ["nixos/modules/programs/wayland/gtklock.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gtklock"}, "description": "The gtklock package to use.", "loc": ["programs", "gtklock", "package"], "readOnly": false, "type": "package"}, "programs.gtklock.style": {"declarations": ["nixos/modules/programs/wayland/gtklock.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "CSS Stylesheet for gtklock.\nSee [gtklock's wiki](https://github.com/jovanlanik/gtklock/wiki#Styling) for details.\n", "loc": ["programs", "gtklock", "style"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "programs.haguichi.enable": {"declarations": ["nixos/modules/programs/haguichi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "haguichi", "enable"], "readOnly": false, "type": "boolean"}, "programs.hamster.enable": {"declarations": ["nixos/modules/programs/hamster.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hamster, a time tracking program.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "hamster", "enable"], "readOnly": false, "type": "boolean"}, "programs.htop.enable": {"declarations": ["nixos/modules/programs/htop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable htop process monitor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "htop", "enable"], "readOnly": false, "type": "boolean"}, "programs.htop.package": {"declarations": ["nixos/modules/programs/htop.nix"], "default": {"_type": "literalExpression", "text": "pkgs.htop"}, "description": "The htop package to use.", "loc": ["programs", "htop", "package"], "readOnly": false, "type": "package"}, "programs.htop.settings": {"declarations": ["nixos/modules/programs/htop.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra global default configuration for htop\nwhich is read on first startup only.\nHtop subsequently uses ~/.config/htop/htoprc\nas configuration source.\n", "example": {"_type": "literalExpression", "text": "{\n  hide_kernel_threads = true;\n  hide_userland_threads = true;\n}"}, "loc": ["programs", "htop", "settings"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean or list of (string or signed integer or boolean))"}, "programs.hyprland.enable": {"declarations": ["nixos/modules/programs/wayland/hyprland.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Hyprland, the dynamic tiling Wayland compositor that doesn't sacrifice on its looks.\nYou can manually launch Hyprland by executing {command}`start-hyprland` on a TTY.\nA configuration file will be generated in {file}`~/.config/hypr/hyprland.conf`.\nSee <https://wiki.hyprland.org> for more information.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "hyprland", "enable"], "readOnly": false, "type": "boolean"}, "programs.hyprland.package": {"declarations": ["nixos/modules/programs/wayland/hyprland.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hyprland"}, "description": "The hyprland package to use. If the package is not overridable with `enableXWayland`, then the module option\n{option}`xwayland` will have no effect.\n", "loc": ["programs", "hyprland", "package"], "readOnly": false, "type": "package"}, "programs.hyprland.portalPackage": {"declarations": ["nixos/modules/programs/wayland/hyprland.nix"], "default": {"_type": "literalExpression", "text": "pkgs.xdg-desktop-portal-hyprland"}, "description": "The xdg-desktop-portal-hyprland package to use. If the package is not overridable with `hyprland`, then the Hyprland package\nused by the portal may differ from the one set in the module option {option}`package`.\n", "loc": ["programs", "hyprland", "portalPackage"], "readOnly": false, "type": "package"}, "programs.hyprland.systemd.setPath.enable": {"declarations": ["nixos/modules/programs/wayland/hyprland.nix"], "default": {"_type": "literalExpression", "text": "lib.versionOlder cfg.package.version \"0.41.2\""}, "description": "Set environment path of systemd to include the current system's bin directory.\nThis is needed in Hyprland setups, where opening links in applications do not work.\nEnabled by default for Hyprland versions older than 0.41.2.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "hyprland", "systemd", "setPath", "enable"], "readOnly": false, "type": "boolean"}, "programs.hyprland.withUWSM": {"declarations": ["nixos/modules/programs/wayland/hyprland.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Launch Hyprland with the UWSM (Universal Wayland Session Manager) session manager.\nThis has improved systemd support and is recommended for most users.\nThis automatically starts appropriate targets like `graphical-session.target`,\nand `wayland-session@Hyprland.target`.\n\n::: {.note}\nSome changes may need to be made to Hyprland configs depending on your setup, see\n[Hyprland wiki](https://wiki.hyprland.org/Useful-Utilities/Systemd-start/#uwsm).\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "hyprland", "withUWSM"], "readOnly": false, "type": "boolean"}, "programs.hyprland.xwayland.enable": {"declarations": ["nixos/modules/programs/wayland/hyprland.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable XWayland.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "hyprland", "xwayland", "enable"], "readOnly": false, "type": "boolean"}, "programs.hyprlock.enable": {"declarations": ["nixos/modules/programs/wayland/hyprlock.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hyprlock, Hyprland's GPU-accelerated screen locking utility.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "hyprlock", "enable"], "readOnly": false, "type": "boolean"}, "programs.hyprlock.package": {"declarations": ["nixos/modules/programs/wayland/hyprlock.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hyprlock"}, "description": "The hyprlock package to use.", "loc": ["programs", "hyprlock", "package"], "readOnly": false, "type": "package"}, "programs.i3lock.enable": {"declarations": ["nixos/modules/programs/i3lock.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable i3lock.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "i3lock", "enable"], "readOnly": false, "type": "boolean"}, "programs.i3lock.package": {"declarations": ["nixos/modules/programs/i3lock.nix"], "default": {"_type": "literalExpression", "text": "pkgs.i3lock"}, "description": "The i3lock package to use. ::: {.note}\nThe i3lock package must include a i3lock file or link in its out directory in order for the u2fSupport option to work correctly.\n:::\n", "example": {"_type": "literalExpression", "text": "i3lock-color"}, "loc": ["programs", "i3lock", "package"], "readOnly": false, "type": "package"}, "programs.i3lock.u2fSupport": {"declarations": ["nixos/modules/programs/i3lock.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable U2F support in the i3lock program.\nU2F enables authentication using a hardware device, such as a security key.\nWhen U2F support is enabled, the i3lock program will set the setuid bit on the i3lock binary and enable the pam u2f service,\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "i3lock", "u2fSupport"], "readOnly": false, "type": "boolean"}, "programs.iay.enable": {"declarations": ["nixos/modules/programs/iay.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable iay, a minimalistic shell prompt.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "iay", "enable"], "readOnly": false, "type": "boolean"}, "programs.iay.minimalPrompt": {"declarations": ["nixos/modules/programs/iay.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use minimal one-liner prompt.", "loc": ["programs", "iay", "minimalPrompt"], "readOnly": false, "type": "boolean"}, "programs.iay.package": {"declarations": ["nixos/modules/programs/iay.nix"], "default": {"_type": "literalExpression", "text": "pkgs.iay"}, "description": "The iay package to use.", "loc": ["programs", "iay", "package"], "readOnly": false, "type": "package"}, "programs.idescriptor.enable": {"declarations": ["nixos/modules/programs/idescriptor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable iDescriptor, a cross-platform iDevice management tool.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "idescriptor", "enable"], "readOnly": false, "type": "boolean"}, "programs.idescriptor.package": {"declarations": ["nixos/modules/programs/idescriptor.nix"], "default": {"_type": "literalExpression", "text": "pkgs.idescriptor"}, "description": "The idescriptor package to use.", "loc": ["programs", "idescriptor", "package"], "readOnly": false, "type": "package"}, "programs.idescriptor.users": {"declarations": ["nixos/modules/programs/idescriptor.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Users to be added to the idevice group.", "loc": ["programs", "idescriptor", "users"], "readOnly": false, "type": "list of string"}, "programs.iftop.enable": {"declarations": ["nixos/modules/programs/iftop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable iftop and setcap wrapper for it.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "iftop", "enable"], "readOnly": false, "type": "boolean"}, "programs.iio-hyprland.enable": {"declarations": ["nixos/modules/programs/iio-hyprland.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable iio-hyprland and iio-sensor-proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "iio-hyprland", "enable"], "readOnly": false, "type": "boolean"}, "programs.iio-hyprland.package": {"declarations": ["nixos/modules/programs/iio-hyprland.nix"], "default": {"_type": "literalExpression", "text": "pkgs.iio-hyprland"}, "description": "The iio-hyprland package to use.", "loc": ["programs", "iio-hyprland", "package"], "readOnly": false, "type": "package"}, "programs.immersed.enable": {"declarations": ["nixos/modules/programs/immersed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable immersed.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "immersed", "enable"], "readOnly": false, "type": "boolean"}, "programs.immersed.package": {"declarations": ["nixos/modules/programs/immersed.nix"], "default": {"_type": "literalExpression", "text": "pkgs.immersed"}, "description": "The immersed package to use.", "loc": ["programs", "immersed", "package"], "readOnly": false, "type": "package"}, "programs.iotop.enable": {"declarations": ["nixos/modules/programs/iotop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable iotop + setcap wrapper.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "iotop", "enable"], "readOnly": false, "type": "boolean"}, "programs.iotop.package": {"declarations": ["nixos/modules/programs/iotop.nix"], "default": {"_type": "literalExpression", "text": "pkgs.iotop"}, "description": "The iotop package to use.", "example": {"_type": "literalExpression", "text": "iotop-c"}, "loc": ["programs", "iotop", "package"], "readOnly": false, "type": "package"}, "programs.java.binfmt": {"declarations": ["nixos/modules/programs/java.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable binfmt to execute java jar's and classes.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "java", "binfmt"], "readOnly": false, "type": "boolean"}, "programs.java.enable": {"declarations": ["nixos/modules/programs/java.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Install and setup the Java development kit.\n\n::: {.note}\nThis adds JAVA_HOME to the global environment, by sourcing the\njdk's setup-hook on shell init. It is equivalent to starting a shell\nthrough 'nix-shell -p jdk', or roughly the following system-wide\nconfiguration:\n\n    environment.variables.JAVA_HOME = ${pkgs.jdk.home}/lib/openjdk;\n    environment.systemPackages = [ pkgs.jdk ];\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "java", "enable"], "readOnly": false, "type": "boolean"}, "programs.java.package": {"declarations": ["nixos/modules/programs/java.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk"}, "description": "The jdk package to use.", "example": {"_type": "literalExpression", "text": "jre"}, "loc": ["programs", "java", "package"], "readOnly": false, "type": "package"}, "programs.joycond-cemuhook.enable": {"declarations": ["nixos/modules/programs/joycond-cemuhook.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable joycond-cemuhook, a program to enable support for cemuhook's UDP protocol for joycond devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "joycond-cemuhook", "enable"], "readOnly": false, "type": "boolean"}, "programs.k3b.enable": {"declarations": ["nixos/modules/programs/k3b.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable k3b, the KDE disk burning application.\n\nAdditionally to installing `k3b` enabling this will\nadd `setuid` wrappers in `/run/wrappers/bin`\nfor both `cdrdao` and `cdrecord`. On first\nrun you must manually configure the path of `cdrdae` and\n`cdrecord` to correspond to the appropriate paths under\n`/run/wrappers/bin` in the \"Setup External Programs\" menu.\n", "loc": ["programs", "k3b", "enable"], "readOnly": false, "type": "boolean"}, "programs.k40-whisperer.enable": {"declarations": ["nixos/modules/programs/k40-whisperer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable K40-Whisperer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "k40-whisperer", "enable"], "readOnly": false, "type": "boolean"}, "programs.k40-whisperer.group": {"declarations": ["nixos/modules/programs/k40-whisperer.nix"], "default": {"_type": "literalExpression", "text": "\"k40\""}, "description": "Group assigned to the device when connected.\n", "loc": ["programs", "k40-whisperer", "group"], "readOnly": false, "type": "string"}, "programs.k40-whisperer.package": {"declarations": ["nixos/modules/programs/k40-whisperer.nix"], "default": {"_type": "literalExpression", "text": "pkgs.k40-whisperer"}, "description": "The k40-whisperer package to use.", "loc": ["programs", "k40-whisperer", "package"], "readOnly": false, "type": "package"}, "programs.kbdlight.enable": {"declarations": ["nixos/modules/programs/kbdlight.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kbdlight.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kbdlight", "enable"], "readOnly": false, "type": "boolean"}, "programs.kclock.enable": {"declarations": ["nixos/modules/programs/kclock.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable KClock.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kclock", "enable"], "readOnly": false, "type": "boolean"}, "programs.kde-pim.enable": {"declarations": ["nixos/modules/programs/kde-pim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable KDE PIM base packages.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kde-pim", "enable"], "readOnly": false, "type": "boolean"}, "programs.kde-pim.kmail": {"declarations": ["nixos/modules/programs/kde-pim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable KMail.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kde-pim", "kmail"], "readOnly": false, "type": "boolean"}, "programs.kde-pim.kontact": {"declarations": ["nixos/modules/programs/kde-pim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Kontact.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kde-pim", "kontact"], "readOnly": false, "type": "boolean"}, "programs.kde-pim.merkuro": {"declarations": ["nixos/modules/programs/kde-pim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Merkuro.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kde-pim", "merkuro"], "readOnly": false, "type": "boolean"}, "programs.kdeconnect.enable": {"declarations": ["nixos/modules/programs/kdeconnect.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kdeconnect.\n\nNote that it will open the TCP and UDP port from\n1714 to 1764 as they are needed for it to function properly.\nYou can use the {option}`package` to use\n`gnomeExtensions.gsconnect` as an alternative\nimplementation if you use Gnome\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kdeconnect", "enable"], "readOnly": false, "type": "boolean"}, "programs.kdeconnect.package": {"declarations": ["nixos/modules/programs/kdeconnect.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kdePackages.kdeconnect-kde"}, "description": "The kdeconnect-kde package to use.", "example": {"_type": "literalExpression", "text": "gnomeExtensions.gsconnect"}, "loc": ["programs", "kdeconnect", "package"], "readOnly": false, "type": "null or package"}, "programs.kubeswitch.commandName": {"declarations": ["nixos/modules/programs/kubeswitch.nix"], "default": {"_type": "literalExpression", "text": "\"kswitch\""}, "description": "The name of the command to use", "loc": ["programs", "kubeswitch", "commandName"], "readOnly": false, "type": "string"}, "programs.kubeswitch.enable": {"declarations": ["nixos/modules/programs/kubeswitch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kubeswitch.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "kubeswitch", "enable"], "readOnly": false, "type": "boolean"}, "programs.kubeswitch.package": {"declarations": ["nixos/modules/programs/kubeswitch.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kubeswitch"}, "description": "The kubeswitch package to use.", "loc": ["programs", "kubeswitch", "package"], "readOnly": false, "type": "package"}, "programs.labwc.enable": {"declarations": ["nixos/modules/programs/wayland/labwc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable labwc.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "labwc", "enable"], "readOnly": false, "type": "boolean"}, "programs.labwc.package": {"declarations": ["nixos/modules/programs/wayland/labwc.nix"], "default": {"_type": "literalExpression", "text": "pkgs.labwc"}, "description": "The labwc package to use.", "loc": ["programs", "labwc", "package"], "readOnly": false, "type": "package"}, "programs.ladybird.enable": {"declarations": ["nixos/modules/programs/ladybird.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Ladybird web browser.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ladybird", "enable"], "readOnly": false, "type": "boolean"}, "programs.lazygit.enable": {"declarations": ["nixos/modules/programs/lazygit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lazygit, a simple terminal UI for git commands.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "lazygit", "enable"], "readOnly": false, "type": "boolean"}, "programs.lazygit.package": {"declarations": ["nixos/modules/programs/lazygit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lazygit"}, "description": "The lazygit package to use.", "loc": ["programs", "lazygit", "package"], "readOnly": false, "type": "package"}, "programs.lazygit.settings": {"declarations": ["nixos/modules/programs/lazygit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Lazygit configuration.\n\nSee <https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md> for documentation.\n", "loc": ["programs", "lazygit", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "programs.less.clearDefaultCommands": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Clear all default commands.\nYou should remember to set the quit key.\nOtherwise you will not be able to leave less without killing it.\n", "loc": ["programs", "less", "clearDefaultCommands"], "readOnly": false, "type": "boolean"}, "programs.less.commands": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Defines new command keys.", "example": {"_type": "literalExpression", "text": "{\n  h = \"noaction 5\\\\e(\";\n  l = \"noaction 5\\\\e)\";\n}"}, "loc": ["programs", "less", "commands"], "readOnly": false, "type": "attribute set of string"}, "programs.less.configFile": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to lesskey configuration file.\n\n{option}`configFile` takes precedence over {option}`commands`,\n{option}`clearDefaultCommands`, {option}`lineEditingKeys`, and\n{option}`envVariables`.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.my-configs}/lesskey\""}, "loc": ["programs", "less", "configFile"], "readOnly": false, "type": "null or absolute path"}, "programs.less.enable": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable less, a file pager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "less", "enable"], "readOnly": false, "type": "boolean"}, "programs.less.envVariables": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "{\n  LESS = \"-R\";\n}"}, "description": "Defines environment variables.", "example": {"_type": "literalExpression", "text": "{\n  LESS = \"--quit-if-one-screen\";\n}"}, "loc": ["programs", "less", "envVariables"], "readOnly": false, "type": "attribute set of string"}, "programs.less.lessclose": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "When less closes a file opened in such a way, it will call another program, called the input postprocessor,\nwhich may perform any desired clean-up action (such as deleting the replacement file created by LESSOPEN).\n", "loc": ["programs", "less", "lessclose"], "readOnly": false, "type": "null or string"}, "programs.less.lessopen": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed.\n", "example": {"_type": "literalExpression", "text": "\"|${pkgs.lesspipe}/bin/lesspipe.sh %s\""}, "loc": ["programs", "less", "lessopen"], "readOnly": false, "type": "null or string"}, "programs.less.lineEditingKeys": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Defines new line-editing keys.", "example": {"_type": "literalExpression", "text": "{\n  e = \"abort\";\n}"}, "loc": ["programs", "less", "lineEditingKeys"], "readOnly": false, "type": "attribute set of string"}, "programs.less.package": {"declarations": ["nixos/modules/programs/less.nix"], "default": {"_type": "literalExpression", "text": "pkgs.less"}, "description": "The less package to use.", "loc": ["programs", "less", "package"], "readOnly": false, "type": "package"}, "programs.liboping.enable": {"declarations": ["nixos/modules/programs/liboping.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable liboping.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "liboping", "enable"], "readOnly": false, "type": "boolean"}, "programs.librepods.enable": {"declarations": ["nixos/modules/programs/librepods.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure system to enable librepods.\nTo grant access to a user, it must be part of librepods group:\n`users.users.alice.extraGroups = [\"librepods\"];`\n", "loc": ["programs", "librepods", "enable"], "readOnly": false, "type": "boolean"}, "programs.localsend.enable": {"declarations": ["nixos/modules/programs/localsend.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable localsend, an open source cross-platform alternative to AirDrop.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "localsend", "enable"], "readOnly": false, "type": "boolean"}, "programs.localsend.openFirewall": {"declarations": ["nixos/modules/programs/localsend.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable opening the firewall port 53317 for receiving files.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "localsend", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.localsend.package": {"declarations": ["nixos/modules/programs/localsend.nix"], "default": {"_type": "literalExpression", "text": "pkgs.localsend"}, "description": "The localsend package to use.", "loc": ["programs", "localsend", "package"], "readOnly": false, "type": "package"}, "programs.mangowc.enable": {"declarations": ["nixos/modules/programs/wayland/mangowc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MangoWC, a Wayland compositor based on dwl and scenefx.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mangowc", "enable"], "readOnly": false, "type": "boolean"}, "programs.mangowc.package": {"declarations": ["nixos/modules/programs/wayland/mangowc.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mangowc"}, "description": "The mangowc package to use.", "example": {"_type": "literalExpression", "text": "pkgs.mangowc.override { enableXWayland = false; }"}, "loc": ["programs", "mangowc", "package"], "readOnly": false, "type": "package"}, "programs.mdevctl.enable": {"declarations": ["nixos/modules/programs/mdevctl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mediated Device Management.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mdevctl", "enable"], "readOnly": false, "type": "boolean"}, "programs.mepo.enable": {"declarations": ["nixos/modules/programs/mepo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mepo, a fast, simple and hackable OSM map viewer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mepo", "enable"], "readOnly": false, "type": "boolean"}, "programs.mepo.locationBackends.geoclue": {"declarations": ["nixos/modules/programs/mepo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable location detection via geoclue", "loc": ["programs", "mepo", "locationBackends", "geoclue"], "readOnly": false, "type": "boolean"}, "programs.mepo.locationBackends.gpsd": {"declarations": ["nixos/modules/programs/mepo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable location detection via gpsd.\nThis may require additional configuration of gpsd, see [here](#opt-services.gpsd.enable)\n", "loc": ["programs", "mepo", "locationBackends", "gpsd"], "readOnly": false, "type": "boolean"}, "programs.mininet.enable": {"declarations": ["nixos/modules/programs/mininet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mininet, an emulator for rapid prototyping of Software Defined Networks.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mininet", "enable"], "readOnly": false, "type": "boolean"}, "programs.minipro.enable": {"declarations": ["nixos/modules/programs/minipro.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable minipro and its udev rules.\nUsers of the `plugdev` group can interact with connected MiniPRO chip programmers.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "minipro", "enable"], "readOnly": false, "type": "boolean"}, "programs.minipro.package": {"declarations": ["nixos/modules/programs/minipro.nix"], "default": {"_type": "literalExpression", "text": "pkgs.minipro"}, "description": "The minipro package to use.", "loc": ["programs", "minipro", "package"], "readOnly": false, "type": "package"}, "programs.miriway.config": {"declarations": ["nixos/modules/programs/miriway.nix"], "default": {"_type": "literalExpression", "text": "''\n  x11-window-title=Miriway (Mir-on-X)\n  idle-timeout=600\n  ctrl-alt=t:miriway-terminal # Default \"terminal emulator finder\"\n  \n  shell-component=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY\n  \n  meta=Left:@dock-left\n  meta=Right:@dock-right\n  meta=Space:@toggle-maximized\n  meta=Home:@workspace-begin\n  meta=End:@workspace-end\n  meta=Page_Up:@workspace-up\n  meta=Page_Down:@workspace-down\n  ctrl-alt=BackSpace:@exit\n''"}, "description": "Miriway's config. This will be installed system-wide.\nThe default will install the miriway package's barebones example config.\n", "example": {"_type": "literalExpression", "text": "''\n  idle-timeout=300\n  ctrl-alt=t:weston-terminal\n  add-wayland-extensions=all\n  \n  shell-components=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY\n  \n  shell-component=waybar\n  shell-component=wbg Pictures/wallpaper\n  \n  shell-meta=a:synapse\n  \n  meta=Left:@dock-left\n  meta=Right:@dock-right\n  meta=Space:@toggle-maximized\n  meta=Home:@workspace-begin\n  meta=End:@workspace-end\n  meta=Page_Up:@workspace-up\n  meta=Page_Down:@workspace-down\n  ctrl-alt=BackSpace:@exit\n''"}, "loc": ["programs", "miriway", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.miriway.enable": {"declarations": ["nixos/modules/programs/miriway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Miriway, a Mir based Wayland compositor. You can manually launch Miriway by\nexecuting \"exec miriway\" on a TTY, or launch it from a display manager. Copy\n/etc/xdg/xdg-miriway/miriway-shell.config to ~/.config/miriway-shell.config\nto modify the system-wide configuration on a per-user basis. See <https://github.com/Miriway/Miriway>,\nand \"miriway --help\" for more information.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "miriway", "enable"], "readOnly": false, "type": "boolean"}, "programs.mosh.enable": {"declarations": ["nixos/modules/programs/mosh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable mosh.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mosh", "enable"], "readOnly": false, "type": "boolean"}, "programs.mosh.openFirewall": {"declarations": ["nixos/modules/programs/mosh.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to automatically open the necessary ports in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mosh", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.mosh.package": {"declarations": ["nixos/modules/programs/mosh.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mosh"}, "description": "The mosh package to use.", "loc": ["programs", "mosh", "package"], "readOnly": false, "type": "package"}, "programs.mosh.withUtempter": {"declarations": ["nixos/modules/programs/mosh.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable libutempter for mosh.\n\nThis is required so that mosh can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).\nNote, this will add a guid wrapper for the group utmp!\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mosh", "withUtempter"], "readOnly": false, "type": "boolean"}, "programs.mouse-actions.autorun": {"declarations": ["nixos/modules/programs/mouse-actions.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to start a user service to run mouse-actions on startup.\n", "loc": ["programs", "mouse-actions", "autorun"], "readOnly": false, "type": "boolean"}, "programs.mouse-actions.enable": {"declarations": ["nixos/modules/programs/mouse-actions.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install and set up mouse-actions and it's udev rules.\n\nNote that only users in the \"uinput\" group will be able to use the package\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "mouse-actions", "enable"], "readOnly": false, "type": "boolean"}, "programs.mouse-actions.package": {"declarations": ["nixos/modules/programs/mouse-actions.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mouse-actions"}, "description": "The mouse-actions package to use.", "example": {"_type": "literalExpression", "text": "mouse-actions-gui"}, "loc": ["programs", "mouse-actions", "package"], "readOnly": false, "type": "package"}, "programs.msmtp.accounts": {"declarations": ["nixos/modules/programs/msmtp.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Named accounts and their respective configurations.\nThe special name \"default\" allows a default account to be defined.\nSee {manpage}`msmtp(1)` for the available options.\n\nUse `programs.msmtp.extraConfig` instead of this attribute set-based\noption if ordered account inheritance is needed.\n\nIt is advised to use the `passwordeval` setting to read the password\nfrom a secret file to avoid having it written in the world-readable\nnix store. The password file must end with a newline (`\\n`).\n", "example": {"_type": "literalExpression", "text": "{\n  default = {\n    auth = true;\n    host = \"smtp.example\";\n    passwordeval = \"cat /secrets/password.txt\";\n    user = \"someone\";\n  };\n}"}, "loc": ["programs", "msmtp", "accounts"], "readOnly": false, "type": "attribute set of (attribute set)"}, "programs.msmtp.defaults": {"declarations": ["nixos/modules/programs/msmtp.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Default values applied to all accounts.\nSee {manpage}`msmtp(1)` for the available options.\n", "example": {"_type": "literalExpression", "text": "{\n  aliases = \"/etc/aliases\";\n  port = 587;\n  tls = true;\n}"}, "loc": ["programs", "msmtp", "defaults"], "readOnly": false, "type": "attribute set"}, "programs.msmtp.enable": {"declarations": ["nixos/modules/programs/msmtp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable msmtp - an SMTP client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "msmtp", "enable"], "readOnly": false, "type": "boolean"}, "programs.msmtp.extraConfig": {"declarations": ["nixos/modules/programs/msmtp.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to add to the msmtp configuration verbatim.\nSee {manpage}`msmtp(1)` for the syntax and available options.\n", "loc": ["programs", "msmtp", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.msmtp.package": {"declarations": ["nixos/modules/programs/msmtp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.msmtp"}, "description": "The msmtp package to use.", "loc": ["programs", "msmtp", "package"], "readOnly": false, "type": "package"}, "programs.msmtp.setSendmail": {"declarations": ["nixos/modules/programs/msmtp.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to set the system sendmail to msmtp's.\n", "loc": ["programs", "msmtp", "setSendmail"], "readOnly": false, "type": "boolean"}, "programs.mtr.enable": {"declarations": ["nixos/modules/programs/mtr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add mtr to the global environment and configure a\nsetcap wrapper for it.\n", "loc": ["programs", "mtr", "enable"], "readOnly": false, "type": "boolean"}, "programs.mtr.package": {"declarations": ["nixos/modules/programs/mtr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mtr"}, "description": "The mtr package to use.", "loc": ["programs", "mtr", "package"], "readOnly": false, "type": "package"}, "programs.nano.enable": {"declarations": ["nixos/modules/programs/nano.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable nano, a small user-friendly console text editor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nano", "enable"], "readOnly": false, "type": "boolean"}, "programs.nano.nanorc": {"declarations": ["nixos/modules/programs/nano.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The system-wide nano configuration.\nSee {manpage}`nanorc(5)`.\n", "example": {"_type": "literalExpression", "text": "''\n  set nowrap\n  set tabstospaces\n  set tabsize 2\n''"}, "loc": ["programs", "nano", "nanorc"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.nano.package": {"declarations": ["nixos/modules/programs/nano.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nano"}, "description": "The nano package to use.", "loc": ["programs", "nano", "package"], "readOnly": false, "type": "package"}, "programs.nano.syntaxHighlight": {"declarations": ["nixos/modules/programs/nano.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable syntax highlight for various languages.", "loc": ["programs", "nano", "syntaxHighlight"], "readOnly": false, "type": "boolean"}, "programs.nautilus-open-any-terminal.enable": {"declarations": ["nixos/modules/programs/nautilus-open-any-terminal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nautilus-open-any-terminal.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nautilus-open-any-terminal", "enable"], "readOnly": false, "type": "boolean"}, "programs.nautilus-open-any-terminal.terminal": {"declarations": ["nixos/modules/programs/nautilus-open-any-terminal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The terminal emulator to add to context-entry of nautilus. Supported terminal\nemulators are listed in <https://github.com/Stunkymonkey/nautilus-open-any-terminal#supported-terminal-emulators>.\n", "loc": ["programs", "nautilus-open-any-terminal", "terminal"], "readOnly": false, "type": "null or string"}, "programs.nbd.enable": {"declarations": ["nixos/modules/programs/nbd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Network Block Device (nbd) support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nbd", "enable"], "readOnly": false, "type": "boolean"}, "programs.neovim.configure": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Generate your init file from your list of plugins and custom commands.\nNeovim will then be wrapped to load {command}`nvim -u /nix/store/\u00abhash\u00bb-vimrc`\n", "example": {"_type": "literalExpression", "text": "{\n  customRC = ''\n    \" here your custom VimScript configuration goes!\n  '';\n  customLuaRC = ''\n    -- here your custom Lua configuration goes!\n  '';\n  packages.myVimPackage = with pkgs.vimPlugins; {\n    # loaded on launch\n    start = [ fugitive ];\n    # manually loadable by calling `:packadd $plugin-name`\n    opt = [ ];\n  };\n}\n"}, "loc": ["programs", "neovim", "configure"], "readOnly": false, "type": "attribute set"}, "programs.neovim.defaultEditor": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When enabled, installs neovim and configures neovim to be the default editor\nusing the EDITOR environment variable.\n", "loc": ["programs", "neovim", "defaultEditor"], "readOnly": false, "type": "boolean"}, "programs.neovim.enable": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Neovim.\n\nWhen enabled through this option, Neovim is wrapped to use a\nconfiguration managed by this module. The configuration file in the\nuser's home directory at {file}`~/.config/nvim/init.vim` is no longer\nloaded by default.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "neovim", "enable"], "readOnly": false, "type": "boolean"}, "programs.neovim.package": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "pkgs.neovim-unwrapped"}, "description": "The neovim-unwrapped package to use.", "loc": ["programs", "neovim", "package"], "readOnly": false, "type": "package"}, "programs.neovim.runtime": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of files that have to be linked in {file}`runtime`.\n", "example": {"_type": "literalExpression", "text": "{ \"ftplugin/c.vim\".text = \"setlocal omnifunc=v:lua.vim.lsp.omnifunc\"; }\n"}, "loc": ["programs", "neovim", "runtime"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.neovim.runtime.<name>.enable": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether this runtime directory should be generated.  This\noption allows specific runtime files to be disabled.\n", "loc": ["programs", "neovim", "runtime", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "programs.neovim.runtime.<name>.source": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the source file.", "loc": ["programs", "neovim", "runtime", "<name>", "source"], "readOnly": false, "type": "null or absolute path"}, "programs.neovim.runtime.<name>.target": {"declarations": ["nixos/modules/programs/neovim.nix"], "description": "Name of symlink.  Defaults to the attribute\nname.\n", "loc": ["programs", "neovim", "runtime", "<name>", "target"], "readOnly": false, "type": "string"}, "programs.neovim.runtime.<name>.text": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["programs", "neovim", "runtime", "<name>", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "programs.neovim.viAlias": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Symlink {command}`vi` to {command}`nvim` binary.\n", "loc": ["programs", "neovim", "viAlias"], "readOnly": false, "type": "boolean"}, "programs.neovim.vimAlias": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Symlink {command}`vim` to {command}`nvim` binary.\n", "loc": ["programs", "neovim", "vimAlias"], "readOnly": false, "type": "boolean"}, "programs.neovim.withNodeJs": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Node provider.", "loc": ["programs", "neovim", "withNodeJs"], "readOnly": false, "type": "boolean"}, "programs.neovim.withPython3": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Python 3 provider.", "loc": ["programs", "neovim", "withPython3"], "readOnly": false, "type": "boolean"}, "programs.neovim.withRuby": {"declarations": ["nixos/modules/programs/neovim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Ruby provider.", "loc": ["programs", "neovim", "withRuby"], "readOnly": false, "type": "boolean"}, "programs.nethoscope.enable": {"declarations": ["nixos/modules/programs/nethoscope.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add nethoscope to the global environment and configure a\nsetcap wrapper for it.\n", "loc": ["programs", "nethoscope", "enable"], "readOnly": false, "type": "boolean"}, "programs.nexttrace.enable": {"declarations": ["nixos/modules/programs/nexttrace.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Nexttrace to the global environment and configure a setcap wrapper for it.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nexttrace", "enable"], "readOnly": false, "type": "boolean"}, "programs.nexttrace.package": {"declarations": ["nixos/modules/programs/nexttrace.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nexttrace"}, "description": "The nexttrace package to use.", "loc": ["programs", "nexttrace", "package"], "readOnly": false, "type": "package"}, "programs.nh.clean.dates": {"declarations": ["nixos/modules/programs/nh.nix"], "default": {"_type": "literalExpression", "text": "\"weekly\""}, "description": "How often cleanup is performed. Passed to systemd.time\n\nThe format is described in\n{manpage}`systemd.time(7)`.\n", "loc": ["programs", "nh", "clean", "dates"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "programs.nh.clean.enable": {"declarations": ["nixos/modules/programs/nh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable periodic garbage collection with nh clean all.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nh", "clean", "enable"], "readOnly": false, "type": "boolean"}, "programs.nh.clean.extraArgs": {"declarations": ["nixos/modules/programs/nh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Options given to nh clean when the service is run automatically.\n\nSee `nh clean all --help` for more information.\n", "example": {"_type": "literalExpression", "text": "\"--keep 5 --keep-since 3d\""}, "loc": ["programs", "nh", "clean", "extraArgs"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "programs.nh.enable": {"declarations": ["nixos/modules/programs/nh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nh, yet another Nix CLI helper.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nh", "enable"], "readOnly": false, "type": "boolean"}, "programs.nh.flake": {"declarations": ["nixos/modules/programs/nh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The string that will be used for the `NH_FLAKE` environment variable.\n\n`NH_FLAKE` is used by nh as the default flake for performing actions, such as\n`nh os switch`. This behaviour can be overriden per-command with environment\nvariables that will take priority.\n\n- `NH_OS_FLAKE`: will take priority for `nh os` commands.\n- `NH_HOME_FLAKE`: will take priority for `nh home` commands.\n- `NH_DARWIN_FLAKE`: will take priority for `nh darwin` commands.\n\nThe formerly valid `FLAKE` is now deprecated by nh, and will cause hard errors\nin future releases if `NH_FLAKE` is not set.\n", "loc": ["programs", "nh", "flake"], "readOnly": false, "type": "null or string"}, "programs.nh.package": {"declarations": ["nixos/modules/programs/nh.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nh"}, "description": "The nh package to use.", "loc": ["programs", "nh", "package"], "readOnly": false, "type": "package"}, "programs.niri.enable": {"declarations": ["nixos/modules/programs/wayland/niri.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Niri, a scrollable-tiling Wayland compositor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "niri", "enable"], "readOnly": false, "type": "boolean"}, "programs.niri.package": {"declarations": ["nixos/modules/programs/wayland/niri.nix"], "default": {"_type": "literalExpression", "text": "pkgs.niri"}, "description": "The niri package to use.", "loc": ["programs", "niri", "package"], "readOnly": false, "type": "package"}, "programs.niri.useNautilus": {"declarations": ["nixos/modules/programs/wayland/niri.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Nautilus as file-chooser for xdg-desktop-portal-gnome.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "niri", "useNautilus"], "readOnly": false, "type": "boolean"}, "programs.nix-index.enable": {"declarations": ["nixos/modules/programs/nix-index.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nix-index, a file database for nixpkgs.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-index", "enable"], "readOnly": false, "type": "boolean"}, "programs.nix-index.enableBashIntegration": {"declarations": ["nixos/modules/programs/nix-index.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Bash integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-index", "enableBashIntegration"], "readOnly": false, "type": "boolean"}, "programs.nix-index.enableFishIntegration": {"declarations": ["nixos/modules/programs/nix-index.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Fish integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-index", "enableFishIntegration"], "readOnly": false, "type": "boolean"}, "programs.nix-index.enableZshIntegration": {"declarations": ["nixos/modules/programs/nix-index.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Zsh integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-index", "enableZshIntegration"], "readOnly": false, "type": "boolean"}, "programs.nix-index.package": {"declarations": ["nixos/modules/programs/nix-index.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nix-index"}, "description": "The nix-index package to use.", "loc": ["programs", "nix-index", "package"], "readOnly": false, "type": "package"}, "programs.nix-ld.enable": {"declarations": ["nixos/modules/programs/nix-ld.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nix-ld, Documentation: <https://github.com/nix-community/nix-ld>.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-ld", "enable"], "readOnly": false, "type": "boolean"}, "programs.nix-ld.libraries": {"declarations": ["nixos/modules/programs/nix-ld.nix"], "default": {"_type": "literalExpression", "text": "baseLibraries derived from systemd and nix dependencies."}, "description": "Libraries that automatically become available to all programs. The default set includes common libraries.", "loc": ["programs", "nix-ld", "libraries"], "readOnly": false, "type": "list of package"}, "programs.nix-ld.package": {"declarations": ["nixos/modules/programs/nix-ld.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nix-ld"}, "description": "The nix-ld package to use.", "loc": ["programs", "nix-ld", "package"], "readOnly": false, "type": "package"}, "programs.nix-required-mounts.allowedPatterns": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "{\n  opengl.paths = config.hardware.graphics.extraPackages ++ [\n    config.graphics.opengl.package\n    pkgs.addDriverRunpath.driverLink\n    \"/dev/dri\"\n  ];\n}\n"}, "description": "The hook config, describing which paths to mount for which system features", "example": {"_type": "literalExpression", "text": "{\n  require-ipfs = {\n    onFeatures = [\n      \"ipfs\"\n    ];\n    paths = [\n      \"/ipfs\"\n    ];\n  };\n}"}, "loc": ["programs", "nix-required-mounts", "allowedPatterns"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.nix-required-mounts.allowedPatterns.<name>.onFeatures": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"\u2039name\u203a\"\n]"}, "description": "Which requiredSystemFeatures should trigger relaxation of the sandbox", "loc": ["programs", "nix-required-mounts", "allowedPatterns", "<name>", "onFeatures"], "readOnly": false, "type": "list of string"}, "programs.nix-required-mounts.allowedPatterns.<name>.paths": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of glob patterns, indicating which paths to expose to the sandbox", "loc": ["programs", "nix-required-mounts", "allowedPatterns", "<name>", "paths"], "readOnly": false, "type": "list of (absolute path or (submodule))"}, "programs.nix-required-mounts.allowedPatterns.<name>.safePrefixes": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/build/store\"\n]"}, "description": "A list of path prefixes that do not need and shall not be searched recursively for further symlink targets. Everything in the nix store does not need to be searched as the derivation already calculcated the full closure of all nix store paths for the drivers package.", "loc": ["programs", "nix-required-mounts", "allowedPatterns", "<name>", "safePrefixes"], "readOnly": false, "type": "list of absolute path"}, "programs.nix-required-mounts.allowedPatterns.<name>.unsafeFollowSymlinks": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Instructs the hook to mount the symlink targets as well, when any of\nthe `paths` contain symlinks. This may not work correctly with glob\npatterns.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-required-mounts", "allowedPatterns", "<name>", "unsafeFollowSymlinks"], "readOnly": false, "type": "boolean"}, "programs.nix-required-mounts.enable": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Expose extra paths to the sandbox depending on derivations' requiredSystemFeatures.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-required-mounts", "enable"], "readOnly": false, "type": "boolean"}, "programs.nix-required-mounts.extraWrapperArgs": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra arguments (such as `--add-flags -v`) to pass to the hook's wrapper", "loc": ["programs", "nix-required-mounts", "extraWrapperArgs"], "readOnly": false, "type": "list of string"}, "programs.nix-required-mounts.presets.nvidia-gpu.enable": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Declare the support for derivations that require an Nvidia GPU to be\navailable, e.g. derivations with `requiredSystemFeatures = [ \"cuda\" ]`.\nThis mounts the corresponding userspace drivers and device nodes in the\nsandbox, but only for derivations that request these special features.\n\nYou may extend or override the exposed paths via the\n`programs.nix-required-mounts.allowedPatterns.nvidia-gpu.paths` option.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-required-mounts", "presets", "nvidia-gpu", "enable"], "readOnly": false, "type": "boolean"}, "programs.nix-required-mounts.presets.zluda.enable": {"declarations": ["nixos/modules/programs/nix-required-mounts.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Same as `programs.nix-required-mounts.presets.nvidia-gpu` but adds paths\nto the sandbox that are needed for running CUDA applications on top of\nthe ZLUDA translation layer combined with AMD GPUs.\n\nYou may extend or override the exposed paths via the\n`programs.nix-required-mounts.allowedPatterns.zluda.paths` option.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nix-required-mounts", "presets", "zluda", "enable"], "readOnly": false, "type": "boolean"}, "programs.nixbit.enable": {"declarations": ["nixos/modules/programs/nixbit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Nixbit configuration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nixbit", "enable"], "readOnly": false, "type": "boolean"}, "programs.nixbit.forceAutostart": {"declarations": ["nixos/modules/programs/nixbit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force creation of autostart desktop entry when application starts", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nixbit", "forceAutostart"], "readOnly": false, "type": "boolean"}, "programs.nixbit.package": {"declarations": ["nixos/modules/programs/nixbit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nixbit"}, "description": "The nixbit package to use.", "loc": ["programs", "nixbit", "package"], "readOnly": false, "type": "package"}, "programs.nixbit.repository": {"declarations": ["nixos/modules/programs/nixbit.nix"], "description": "Git repository URL for Nixbit", "loc": ["programs", "nixbit", "repository"], "readOnly": false, "type": "string"}, "programs.nm-applet.enable": {"declarations": ["nixos/modules/programs/nm-applet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nm-applet, a NetworkManager control applet for GNOME.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nm-applet", "enable"], "readOnly": false, "type": "boolean"}, "programs.nm-applet.indicator": {"declarations": ["nixos/modules/programs/nm-applet.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use indicator instead of status icon.\nIt is needed for Appindicator environments, like Enlightenment.\n", "loc": ["programs", "nm-applet", "indicator"], "readOnly": false, "type": "boolean"}, "programs.nm-applet.package": {"declarations": ["nixos/modules/programs/nm-applet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.networkmanagerapplet"}, "description": "The networkmanagerapplet package to use.", "loc": ["programs", "nm-applet", "package"], "readOnly": false, "type": "package"}, "programs.nncp.enable": {"declarations": ["nixos/modules/programs/nncp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable NNCP (Node to Node copy) utilities and configuration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nncp", "enable"], "readOnly": false, "type": "boolean"}, "programs.nncp.group": {"declarations": ["nixos/modules/programs/nncp.nix"], "default": {"_type": "literalExpression", "text": "\"uucp\""}, "description": "The group under which NNCP files shall be owned.\nAny member of this group may access the secret keys\nof this NNCP node.\n", "loc": ["programs", "nncp", "group"], "readOnly": false, "type": "string"}, "programs.nncp.package": {"declarations": ["nixos/modules/programs/nncp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nncp"}, "description": "The nncp package to use.", "loc": ["programs", "nncp", "package"], "readOnly": false, "type": "package"}, "programs.nncp.secrets": {"declarations": ["nixos/modules/programs/nncp.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of paths to NNCP configuration files that should not be\nin the Nix store. These files are layered on top of the values at\n[](#opt-programs.nncp.settings).\n", "example": {"_type": "literalExpression", "text": "[\n  \"/run/keys/nncp.hjson\"\n]"}, "loc": ["programs", "nncp", "secrets"], "readOnly": false, "type": "list of string"}, "programs.nncp.settings": {"declarations": ["nixos/modules/programs/nncp.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "NNCP configuration, see\n<http://www.nncpgo.org/Configuration.html>.\nAt runtime these settings will be overlayed by the contents of\n[](#opt-programs.nncp.secrets) into the file\n`/run/nncp.hjson`. Node keypairs go in\n`secrets`, do not specify them in\n`settings` as they will be leaked into\n`/nix/store`!\n", "loc": ["programs", "nncp", "settings"], "readOnly": false, "type": "JSON value"}, "programs.noisetorch.enable": {"declarations": ["nixos/modules/programs/noisetorch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable noisetorch (+ setcap wrapper), a virtual microphone device with noise suppression.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "noisetorch", "enable"], "readOnly": false, "type": "boolean"}, "programs.noisetorch.package": {"declarations": ["nixos/modules/programs/noisetorch.nix"], "default": {"_type": "literalExpression", "text": "pkgs.noisetorch"}, "description": "The noisetorch package to use.", "loc": ["programs", "noisetorch", "package"], "readOnly": false, "type": "package"}, "programs.npm.enable": {"declarations": ["nixos/modules/programs/npm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable {command}`npm` global config.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "npm", "enable"], "readOnly": false, "type": "boolean"}, "programs.npm.npmrc": {"declarations": ["nixos/modules/programs/npm.nix"], "default": {"_type": "literalExpression", "text": "''\n  prefix = ''${HOME}/.npm\n''"}, "description": "The system-wide npm configuration.\nSee <https://docs.npmjs.com/misc/config>.\n", "example": {"_type": "literalExpression", "text": "''\n  prefix = ''${HOME}/.npm\n  https-proxy=proxy.example.com\n  init-license=MIT\n  init-author-url=https://www.npmjs.com/\n  color=true\n''"}, "loc": ["programs", "npm", "npmrc"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.npm.package": {"declarations": ["nixos/modules/programs/npm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.nodejs"}, "description": "The nodejs package to use.", "loc": ["programs", "npm", "package"], "readOnly": false, "type": "package"}, "programs.ns-usbloader.enable": {"declarations": ["nixos/modules/programs/ns-usbloader.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ns-usbloader application with udev rules applied.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ns-usbloader", "enable"], "readOnly": false, "type": "boolean"}, "programs.nxdumpclient.enable": {"declarations": ["nixos/modules/programs/nxdumpclient.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable NX Dump Client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "nxdumpclient", "enable"], "readOnly": false, "type": "boolean"}, "programs.obs-studio.enable": {"declarations": ["nixos/modules/programs/obs-studio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Free and open source software for video recording and live streaming.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "obs-studio", "enable"], "readOnly": false, "type": "boolean"}, "programs.obs-studio.enableVirtualCamera": {"declarations": ["nixos/modules/programs/obs-studio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Installs and sets up the v4l2loopback kernel module, necessary for OBS\nto start a virtual camera.\n", "loc": ["programs", "obs-studio", "enableVirtualCamera"], "readOnly": false, "type": "boolean"}, "programs.obs-studio.package": {"declarations": ["nixos/modules/programs/obs-studio.nix"], "default": {"_type": "literalExpression", "text": "pkgs.obs-studio"}, "description": "The obs-studio package to use.", "example": {"_type": "literalExpression", "text": "obs-studio"}, "loc": ["programs", "obs-studio", "package"], "readOnly": false, "type": "null or package"}, "programs.obs-studio.plugins": {"declarations": ["nixos/modules/programs/obs-studio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Optional OBS plugins.", "example": {"_type": "literalExpression", "text": "[ pkgs.obs-studio-plugins.wlrobs ]"}, "loc": ["programs", "obs-studio", "plugins"], "readOnly": false, "type": "list of package"}, "programs.oddjobd.enable": {"declarations": ["nixos/modules/programs/oddjobd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable oddjob, a D-Bus service which runs odd jobs on behalf of client applications.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "oddjobd", "enable"], "readOnly": false, "type": "boolean"}, "programs.oddjobd.package": {"declarations": ["nixos/modules/programs/oddjobd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.oddjob"}, "description": "The oddjob package to use.", "loc": ["programs", "oddjobd", "package"], "readOnly": false, "type": "package"}, "programs.opengamepadui.args": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Arguments to be passed to OpenGamepadUI\n", "loc": ["programs", "opengamepadui", "args"], "readOnly": false, "type": "list of string"}, "programs.opengamepadui.enable": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opengamepadui.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "opengamepadui", "enable"], "readOnly": false, "type": "boolean"}, "programs.opengamepadui.extraPackages": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to add to the OpenGamepadUI environment.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [\n  gamescope\n]\n"}, "loc": ["programs", "opengamepadui", "extraPackages"], "readOnly": false, "type": "list of package"}, "programs.opengamepadui.fontPackages": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "builtins.filter lib.types.package.check config.fonts.packages"}, "description": "Font packages to use in OpenGamepadUI.\n\nDefaults to system fonts, but could be overridden to use other fonts \u2014 useful for users who would like to customize CJK fonts used in opengamepadui. According to the [upstream issue](https://github.com/ValveSoftware/opengamepadui-for-linux/issues/10422#issuecomment-1944396010), opengamepadui only follows the per-user fontconfig configuration.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ source-han-sans ]"}, "loc": ["programs", "opengamepadui", "fontPackages"], "readOnly": false, "type": "list of package"}, "programs.opengamepadui.gamescopeSession": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Run a GameScope driven OpenGamepadUI session from your display-manager", "loc": ["programs", "opengamepadui", "gamescopeSession"], "readOnly": false, "type": "submodule"}, "programs.opengamepadui.gamescopeSession.args": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"--prefer-output\"\n  \"*,eDP-1\"\n  \"--xwayland-count\"\n  \"2\"\n  \"--default-touch-mode\"\n  \"4\"\n  \"--hide-cursor-delay\"\n  \"3000\"\n  \"--fade-out-duration\"\n  \"200\"\n  \"--steam\"\n]"}, "description": "Arguments to be passed to GameScope for the session.\n", "loc": ["programs", "opengamepadui", "gamescopeSession", "args"], "readOnly": false, "type": "list of string"}, "programs.opengamepadui.gamescopeSession.enable": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GameScope Session.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "opengamepadui", "gamescopeSession", "enable"], "readOnly": false, "type": "boolean"}, "programs.opengamepadui.gamescopeSession.env": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environmental variables to be passed to GameScope for the session.\n", "loc": ["programs", "opengamepadui", "gamescopeSession", "env"], "readOnly": false, "type": "attribute set of string"}, "programs.opengamepadui.inputplumber.enable": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Run InputPlumber service for input management and gamepad configuration.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "opengamepadui", "inputplumber", "enable"], "readOnly": false, "type": "boolean"}, "programs.opengamepadui.package": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "pkgs.opengamepadui"}, "description": "The OpenGamepadUI package to use.", "loc": ["programs", "opengamepadui", "package"], "readOnly": false, "type": "package"}, "programs.opengamepadui.powerstation.enable": {"declarations": ["nixos/modules/programs/opengamepadui.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Run PowerStation service for TDP control and performance settings.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "opengamepadui", "powerstation", "enable"], "readOnly": false, "type": "boolean"}, "programs.openvpn3.enable": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the openvpn3 client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "openvpn3", "enable"], "readOnly": false, "type": "boolean"}, "programs.openvpn3.log-service": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Log service configuration", "loc": ["programs", "openvpn3", "log-service"], "readOnly": false, "type": "submodule"}, "programs.openvpn3.log-service.settings": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options stored in {file}`/etc/openvpn3/log-service.json` configuration file", "loc": ["programs", "openvpn3", "log-service", "settings"], "readOnly": false, "type": "open submodule of attribute set of (JSON value)"}, "programs.openvpn3.log-service.settings.journald": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use systemd-journald", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "openvpn3", "log-service", "settings", "journald"], "readOnly": false, "type": "boolean"}, "programs.openvpn3.log-service.settings.log_dbus_details": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Add D-Bus details in log file/syslog", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "openvpn3", "log-service", "settings", "log_dbus_details"], "readOnly": false, "type": "boolean"}, "programs.openvpn3.log-service.settings.log_level": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "How verbose should the logging be", "example": {"_type": "literalExpression", "text": "6"}, "loc": ["programs", "openvpn3", "log-service", "settings", "log_level"], "readOnly": false, "type": "integer between 0 and 7 (both inclusive)"}, "programs.openvpn3.log-service.settings.timestamp": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add timestamp log file", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "openvpn3", "log-service", "settings", "timestamp"], "readOnly": false, "type": "boolean"}, "programs.openvpn3.netcfg": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Network configuration", "loc": ["programs", "openvpn3", "netcfg"], "readOnly": false, "type": "submodule"}, "programs.openvpn3.netcfg.settings": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options stored in {file}`/etc/openvpn3/netcfg.json` configuration file", "loc": ["programs", "openvpn3", "netcfg", "settings"], "readOnly": false, "type": "open submodule of attribute set of (JSON value)"}, "programs.openvpn3.netcfg.settings.systemd_resolved": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "config.services.resolved.enable"}, "description": "Whether to use systemd-resolved integration", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "openvpn3", "netcfg", "settings", "systemd_resolved"], "readOnly": false, "type": "boolean"}, "programs.openvpn3.package": {"declarations": ["nixos/modules/programs/openvpn3.nix"], "default": {"_type": "literalExpression", "text": "pkgs.openvpn3"}, "description": "The openvpn3 package to use.", "loc": ["programs", "openvpn3", "package"], "readOnly": false, "type": "package"}, "programs.partition-manager.enable": {"declarations": ["nixos/modules/programs/partition-manager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable KDE Partition Manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "partition-manager", "enable"], "readOnly": false, "type": "boolean"}, "programs.partition-manager.package": {"declarations": ["nixos/modules/programs/partition-manager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kdePackages.partitionmanager"}, "description": "The partitionmanager package to use.", "loc": ["programs", "partition-manager", "package"], "readOnly": false, "type": "package"}, "programs.pay-respects.aiIntegration": {"declarations": ["nixos/modules/programs/pay-respects.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable `pay-respects`' LLM integration. When there is no rule for a given error, `pay-respects` can query an OpenAI-compatible API endpoint for command corrections.\n\n- If this is set to `false`, all LLM-related features are disabled.\n- If this is set to `true`, the default OpenAI endpoint will be used, using upstream's API key. This default API key may be rate-limited.\n- You can also set a custom API endpoint, large language model and locale for command corrections. Simply access the `aiIntegration.url`, `aiIntegration.model` and `aiIntegration.locale` options, as described in the example.\n  - Take a look at the [services.ollama](#opt-services.ollama.enable) NixOS module if you wish to host a local large language model for `pay-respects`.\n\nFor all of these methods, you can set a custom secret API key by using the `_PR_AI_API_KEY` environment variable.\n", "example": {"_type": "literalExpression", "text": "{\n  locale = \"nl-be\";\n  model = \"llama3\";\n  url = \"http://127.0.0.1:11434/v1/chat/completions\";\n}"}, "loc": ["programs", "pay-respects", "aiIntegration"], "readOnly": false, "type": "boolean or (submodule)"}, "programs.pay-respects.alias": {"declarations": ["nixos/modules/programs/pay-respects.nix"], "default": {"_type": "literalExpression", "text": "\"f\""}, "description": "`pay-respects` needs an alias to be configured.\nThe default value is `f`, but you can use anything else as well.\n", "loc": ["programs", "pay-respects", "alias"], "readOnly": false, "type": "string"}, "programs.pay-respects.enable": {"declarations": ["nixos/modules/programs/pay-respects.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable pay-respects, an app which corrects your previous console command.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "pay-respects", "enable"], "readOnly": false, "type": "boolean"}, "programs.pay-respects.package": {"declarations": ["nixos/modules/programs/pay-respects.nix"], "default": {"_type": "literalExpression", "text": "pkgs.pay-respects"}, "description": "The pay-respects package to use.", "loc": ["programs", "pay-respects", "package"], "readOnly": false, "type": "package"}, "programs.pay-respects.runtimeRules": {"declarations": ["nixos/modules/programs/pay-respects.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of rules to be added to `/etc/xdg/pay-respects/rules`.\n`pay-respects` will read the contents of these generated rules to recommend command corrections.\nEach rule module should start with the `command` attribute that specifies the command name. See the [upstream documentation](https://codeberg.org/iff/pay-respects/src/branch/main/rules.md) for more information.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    command = \"xl\";\n    match_err = [\n      {\n        pattern = [\n          \"Permission denied\"\n        ];\n        suggest = [\n          ''\n            #[executable(sudo), !cmd_contains(sudo), err_contains(libxl: error:)]\n            sudo {{command}}\n          ''\n        ];\n      }\n    ];\n  }\n];\n"}, "loc": ["programs", "pay-respects", "runtimeRules"], "readOnly": false, "type": "list of (TOML value)"}, "programs.plotinus.enable": {"declarations": ["nixos/modules/programs/plotinus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Plotinus GTK 3 plugin. Plotinus provides a\npopup (triggered by Ctrl-Shift-P) to search the menus of a\ncompatible application.\n", "loc": ["programs", "plotinus", "enable"], "readOnly": false, "type": "boolean"}, "programs.pmount.enable": {"declarations": ["nixos/modules/programs/pmount.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable pmount, a tool that allows normal users to mount removable devices\nwithout requiring root privileges\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "pmount", "enable"], "readOnly": false, "type": "boolean"}, "programs.pmount.package": {"declarations": ["nixos/modules/programs/pmount.nix"], "default": {"_type": "literalExpression", "text": "pkgs.pmount"}, "description": "The pmount package to use.", "loc": ["programs", "pmount", "package"], "readOnly": false, "type": "package"}, "programs.projecteur.enable": {"declarations": ["nixos/modules/programs/projecteur.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable projecteur, an application for the Logitech Spotlight device (and similar).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "projecteur", "enable"], "readOnly": false, "type": "boolean"}, "programs.projecteur.package": {"declarations": ["nixos/modules/programs/projecteur.nix"], "default": {"_type": "literalExpression", "text": "pkgs.projecteur"}, "description": "The projecteur package to use.", "loc": ["programs", "projecteur", "package"], "readOnly": false, "type": "package"}, "programs.proxychains.chain.length": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Chain length for random chain.\n", "loc": ["programs", "proxychains", "chain", "length"], "readOnly": false, "type": "null or signed integer"}, "programs.proxychains.chain.type": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "\"strict\""}, "description": "`dynamic` - Each connection will be done via chained proxies\nall proxies chained in the order as they appear in the list\nat least one proxy must be online to play in chain\n(dead proxies are skipped)\notherwise `EINTR` is returned to the app.\n\n`strict` - Each connection will be done via chained proxies\nall proxies chained in the order as they appear in the list\nall proxies must be online to play in chain\notherwise `EINTR` is returned to the app.\n\n`random` - Each connection will be done via random proxy\n(or proxy chain, see {option}`programs.proxychains.chain.length`) from the list.\n", "loc": ["programs", "proxychains", "chain", "type"], "readOnly": false, "type": "one of \"dynamic\", \"strict\", \"random\""}, "programs.proxychains.enable": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable proxychains configuration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "proxychains", "enable"], "readOnly": false, "type": "boolean"}, "programs.proxychains.localnet": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.0/255.0.0.0\""}, "description": "By default enable localnet for loopback address ranges.", "loc": ["programs", "proxychains", "localnet"], "readOnly": false, "type": "string"}, "programs.proxychains.package": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "pkgs.proxychains"}, "description": "The proxychains package to use.", "example": {"_type": "literalExpression", "text": "proxychains-ng"}, "loc": ["programs", "proxychains", "package"], "readOnly": false, "type": "package"}, "programs.proxychains.proxies": {"declarations": ["nixos/modules/programs/proxychains.nix"], "description": "Proxies to be used by proxychains.\n", "example": {"_type": "literalExpression", "text": "{ myproxy =\n  { type = \"socks4\";\n    host = \"127.0.0.1\";\n    port = 1337;\n  };\n}\n"}, "loc": ["programs", "proxychains", "proxies"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.proxychains.proxies.<name>.enable": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable this proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "proxychains", "proxies", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "programs.proxychains.proxies.<name>.host": {"declarations": ["nixos/modules/programs/proxychains.nix"], "description": "Proxy host or IP address.", "loc": ["programs", "proxychains", "proxies", "<name>", "host"], "readOnly": false, "type": "string"}, "programs.proxychains.proxies.<name>.port": {"declarations": ["nixos/modules/programs/proxychains.nix"], "description": "Proxy port", "loc": ["programs", "proxychains", "proxies", "<name>", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "programs.proxychains.proxies.<name>.type": {"declarations": ["nixos/modules/programs/proxychains.nix"], "description": "Proxy type.", "loc": ["programs", "proxychains", "proxies", "<name>", "type"], "readOnly": false, "type": "one of \"http\", \"socks4\", \"socks5\""}, "programs.proxychains.proxyDNS": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Proxy DNS requests - no leak for DNS data.", "loc": ["programs", "proxychains", "proxyDNS"], "readOnly": false, "type": "boolean"}, "programs.proxychains.quietMode": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Quiet mode (no output from the library).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "proxychains", "quietMode"], "readOnly": false, "type": "boolean"}, "programs.proxychains.remoteDNSSubnet": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "224"}, "description": "Set the class A subnet number to use for the internal remote DNS mapping, uses the reserved 224.x.x.x range by default.\n", "loc": ["programs", "proxychains", "remoteDNSSubnet"], "readOnly": false, "type": "one of 10, 127, 224"}, "programs.proxychains.tcpConnectTimeOut": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "8000"}, "description": "Connection time-out in milliseconds.", "loc": ["programs", "proxychains", "tcpConnectTimeOut"], "readOnly": false, "type": "signed integer"}, "programs.proxychains.tcpReadTimeOut": {"declarations": ["nixos/modules/programs/proxychains.nix"], "default": {"_type": "literalExpression", "text": "15000"}, "description": "Connection read time-out in milliseconds.", "loc": ["programs", "proxychains", "tcpReadTimeOut"], "readOnly": false, "type": "signed integer"}, "programs.pulseview.enable": {"declarations": ["nixos/modules/programs/pulseview.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable pulseview, a sigrok GUI.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "pulseview", "enable"], "readOnly": false, "type": "boolean"}, "programs.qdmr.enable": {"declarations": ["nixos/modules/programs/qdmr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable QDMR - a GUI application and command line tool for programming DMR radios.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "qdmr", "enable"], "readOnly": false, "type": "boolean"}, "programs.qdmr.package": {"declarations": ["nixos/modules/programs/qdmr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.qdmr"}, "description": "The qdmr package to use.", "loc": ["programs", "qdmr", "package"], "readOnly": false, "type": "package"}, "programs.qgroundcontrol.blacklistModemManagerFromTTYUSB": {"declarations": ["nixos/modules/programs/qgroundcontrol.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Disallow ModemManager from interfering with serial connections that QGroundControl might use.\n\nNote that if you use a modem that's connected via USB, you might want to disable this option.\n", "loc": ["programs", "qgroundcontrol", "blacklistModemManagerFromTTYUSB"], "readOnly": false, "type": "boolean"}, "programs.qgroundcontrol.enable": {"declarations": ["nixos/modules/programs/qgroundcontrol.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable qgroundcontrol.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "qgroundcontrol", "enable"], "readOnly": false, "type": "boolean"}, "programs.qgroundcontrol.package": {"declarations": ["nixos/modules/programs/qgroundcontrol.nix"], "default": {"_type": "literalExpression", "text": "pkgs.qgroundcontrol"}, "description": "The qgroundcontrol package to use.", "loc": ["programs", "qgroundcontrol", "package"], "readOnly": false, "type": "package"}, "programs.quark-goldleaf.enable": {"declarations": ["nixos/modules/programs/quark-goldleaf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable quark-goldleaf with udev rules applied.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "quark-goldleaf", "enable"], "readOnly": false, "type": "boolean"}, "programs.regreet.cageArgs": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"-s\"\n  \"-d\"\n]"}, "description": "Additional arguments to be passed to\n[cage](https://github.com/cage-kiosk/cage).\n", "example": {"_type": "literalExpression", "text": "[ \"-s\" \"-d\" \"-m\" \"last\" ]\n"}, "loc": ["programs", "regreet", "cageArgs"], "readOnly": false, "type": "list of string"}, "programs.regreet.cursorTheme.name": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "\"Adwaita\""}, "description": "Name of the cursor theme to use for regreet.\n", "loc": ["programs", "regreet", "cursorTheme", "name"], "readOnly": false, "type": "string"}, "programs.regreet.cursorTheme.package": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.adwaita-icon-theme"}, "description": "The package that provides the cursor theme given in the name option.\n", "loc": ["programs", "regreet", "cursorTheme", "package"], "readOnly": false, "type": "package"}, "programs.regreet.enable": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable ReGreet, a clean and customizable greeter for greetd.\n\nTo use ReGreet, {option}`services.greetd` has to be enabled and\n{option}`services.greetd.settings.default_session` should contain the\nappropriate configuration to launch\n{option}`config.programs.regreet.package`. For examples, see the\n[ReGreet Readme](https://github.com/rharish101/ReGreet#set-as-default-session).\n\nA minimal configuration that launches ReGreet in {command}`cage` is\nenabled by this module by default.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "regreet", "enable"], "readOnly": false, "type": "boolean"}, "programs.regreet.extraCss": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra CSS rules to apply on top of the GTK theme. Refer to\n[GTK CSS Properties](https://docs.gtk.org/gtk4/css-properties.html) for\nmodifiable properties.\n", "loc": ["programs", "regreet", "extraCss"], "readOnly": false, "type": "absolute path or strings concatenated with \"\\n\""}, "programs.regreet.font.name": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "\"Cantarell\""}, "description": "Name of the font to use for regreet.\n", "loc": ["programs", "regreet", "font", "name"], "readOnly": false, "type": "string"}, "programs.regreet.font.package": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cantarell-fonts"}, "description": "The package that provides the font given in the name option.\n", "loc": ["programs", "regreet", "font", "package"], "readOnly": false, "type": "package"}, "programs.regreet.font.size": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "16"}, "description": "Size of the font to use for regreet.\n", "loc": ["programs", "regreet", "font", "size"], "readOnly": false, "type": "positive integer, meaning >0"}, "programs.regreet.iconTheme.name": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "\"Adwaita\""}, "description": "Name of the icon theme to use for regreet.\n", "loc": ["programs", "regreet", "iconTheme", "name"], "readOnly": false, "type": "string"}, "programs.regreet.iconTheme.package": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.adwaita-icon-theme"}, "description": "The package that provides the icon theme given in the name option.\n", "loc": ["programs", "regreet", "iconTheme", "package"], "readOnly": false, "type": "package"}, "programs.regreet.package": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.regreet"}, "description": "The regreet package to use.", "loc": ["programs", "regreet", "package"], "readOnly": false, "type": "package"}, "programs.regreet.settings": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "ReGreet configuration file. Refer\n<https://github.com/rharish101/ReGreet/blob/main/regreet.sample.toml>\nfor options.\n", "loc": ["programs", "regreet", "settings"], "readOnly": false, "type": "TOML value"}, "programs.regreet.theme.name": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "\"Adwaita\""}, "description": "Name of the theme to use for regreet.\n", "loc": ["programs", "regreet", "theme", "name"], "readOnly": false, "type": "string"}, "programs.regreet.theme.package": {"declarations": ["nixos/modules/programs/regreet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gnome-themes-extra"}, "description": "The package that provides the theme given in the name option.\n", "loc": ["programs", "regreet", "theme", "package"], "readOnly": false, "type": "package"}, "programs.river-classic.enable": {"declarations": ["nixos/modules/programs/wayland/river.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable river-classic, a dynamic tiling Wayland compositor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "river-classic", "enable"], "readOnly": false, "type": "boolean"}, "programs.river-classic.extraPackages": {"declarations": ["nixos/modules/programs/wayland/river.nix"], "default": {"_type": "literalExpression", "text": "with pkgs; [ swaylock foot dmenu ];\n"}, "description": "Extra packages to be installed system wide. See\n[Common X11 apps used on i3 with Wayland alternatives](https://github.com/swaywm/sway/wiki/i3-Migration-Guide#common-x11-apps-used-on-i3-with-wayland-alternatives)\nfor a list of useful software.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ alacritty rofi light ]\n"}, "loc": ["programs", "river-classic", "extraPackages"], "readOnly": false, "type": "list of package"}, "programs.river-classic.package": {"declarations": ["nixos/modules/programs/wayland/river.nix"], "default": {"_type": "literalExpression", "text": "pkgs.river-classic"}, "description": "The river-classic package to use. If the package is not overridable with `xwaylandSupport`, then the module option\n{option}`xwayland` will have no effect.\n\nSet to `null` to not add any River package to your path.\nThis should be done if you want to use the Home Manager River module to install River.\n", "loc": ["programs", "river-classic", "package"], "readOnly": false, "type": "null or package"}, "programs.river-classic.xwayland.enable": {"declarations": ["nixos/modules/programs/wayland/river.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable XWayland.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "river-classic", "xwayland", "enable"], "readOnly": false, "type": "boolean"}, "programs.rog-control-center.autoStart": {"declarations": ["nixos/modules/programs/rog-control-center.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether rog-control-center should be started automatically.", "loc": ["programs", "rog-control-center", "autoStart"], "readOnly": false, "type": "boolean"}, "programs.rog-control-center.enable": {"declarations": ["nixos/modules/programs/rog-control-center.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the rog-control-center application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "rog-control-center", "enable"], "readOnly": false, "type": "boolean"}, "programs.rush.enable": {"declarations": ["nixos/modules/programs/rush.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Restricted User Shell..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "rush", "enable"], "readOnly": false, "type": "boolean"}, "programs.rush.global": {"declarations": ["nixos/modules/programs/rush.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The `global` statement defines global settings.", "loc": ["programs", "rush", "global"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.rush.package": {"declarations": ["nixos/modules/programs/rush.nix"], "default": {"_type": "literalExpression", "text": "pkgs.rush"}, "description": "The rush package to use.", "loc": ["programs", "rush", "package"], "readOnly": false, "type": "package"}, "programs.rush.rules": {"declarations": ["nixos/modules/programs/rush.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The rule statement configures a GNU Rush rule. This is a block statement, which means that all\nstatements located between it and the next rule statement (or end of file, whichever occurs first)\nmodify the definition of that rule.\n", "loc": ["programs", "rush", "rules"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "programs.rush.shell": {"declarations": ["nixos/modules/programs/rush.nix"], "description": "The resolved shell path that users can inherit to set `rush` as their login shell.\nThis is a convenience option for use in user definitions. Example:\n  `users.users.alice = { inherit (config.programs.rush) shell; ... };`\n", "loc": ["programs", "rush", "shell"], "readOnly": true, "type": "package or absolute path"}, "programs.rush.wrap": {"declarations": ["nixos/modules/programs/rush.nix"], "default": {"_type": "literalExpression", "text": "config.security.enableWrappers"}, "description": "Whether to wrap the `rush` binary with a SUID-enabled wrapper.\nThis is required if {option}`security.enableWrappers` is enabled in your configuration.\n", "loc": ["programs", "rush", "wrap"], "readOnly": false, "type": "boolean"}, "programs.rust-motd.enable": {"declarations": ["nixos/modules/programs/rust-motd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable rust-motd, a Message Of The Day (MOTD) generator.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "rust-motd", "enable"], "readOnly": false, "type": "boolean"}, "programs.rust-motd.enableMotdInSSHD": {"declarations": ["nixos/modules/programs/rust-motd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to let `openssh` print the\nresult when entering a new `ssh`-session.\nBy default either nothing or a static file defined via\n[](#opt-users.motd) is printed. Because of that,\nthe latter option is incompatible with this module.\n", "loc": ["programs", "rust-motd", "enableMotdInSSHD"], "readOnly": false, "type": "boolean"}, "programs.rust-motd.order": {"declarations": ["nixos/modules/programs/rust-motd.nix"], "default": {"_type": "literalExpression", "text": "attrNames cfg.settings"}, "description": "The order of the sections in [](#opt-programs.rust-motd.settings).\nBy default they are ordered alphabetically.\n\nContext: since attribute sets in Nix are always\nordered alphabetically internally this means that\n\n```nix\n{\n  uptime = { /* ... */ };\n  banner = { /* ... */ };\n}\n```\n\nwill still have `banner` displayed before `uptime`.\n\nTo work around that, this option can be used to define the order of all keys,\ni.e.\n\n```nix\n{\n  order = [\n    \"uptime\"\n    \"banner\"\n  ];\n}\n```\n\nmakes sure that `uptime` is placed before `banner` in the motd.\n", "loc": ["programs", "rust-motd", "order"], "readOnly": false, "type": "list of string"}, "programs.rust-motd.refreshInterval": {"declarations": ["nixos/modules/programs/rust-motd.nix"], "default": {"_type": "literalExpression", "text": "\"*:0/5\""}, "description": "Interval in which the {manpage}`motd(5)` file is refreshed.\nFor possible formats, please refer to {manpage}`systemd.time(7)`.\n", "loc": ["programs", "rust-motd", "refreshInterval"], "readOnly": false, "type": "string"}, "programs.rust-motd.settings": {"declarations": ["nixos/modules/programs/rust-motd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings on what to generate. Please read the\n[upstream documentation](https://github.com/rust-motd/rust-motd/blob/main/README.md#configuration)\nfor further information.\n", "loc": ["programs", "rust-motd", "settings"], "readOnly": false, "type": "attribute set of (TOML value)"}, "programs.ryzen-monitor-ng.enable": {"declarations": ["nixos/modules/programs/ryzen-monitor-ng.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ryzen_monitor_ng, a userspace application for setting and getting Ryzen SMU (System Management Unit) parameters via the ryzen_smu kernel driver.\n\nMonitor power information of Ryzen processors via the PM table of the SMU.\n\nSMU Set and Get for many parameters and CO counts.\n\n<https://github.com/mann1x/ryzen_monitor_ng>\n\nWARNING: Damage cause by use of your AMD processor outside of official AMD specifications or outside of factory settings are not covered under any AMD product warranty and may not be covered by your board or system manufacturer's warranty\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ryzen-monitor-ng", "enable"], "readOnly": false, "type": "boolean"}, "programs.ryzen-monitor-ng.package": {"declarations": ["nixos/modules/programs/ryzen-monitor-ng.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ryzen-monitor-ng"}, "description": "The ryzen-monitor-ng package to use.", "loc": ["programs", "ryzen-monitor-ng", "package"], "readOnly": false, "type": "package"}, "programs.schroot.enable": {"declarations": ["nixos/modules/programs/schroot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable schroot, a lightweight virtualisation tool.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "schroot", "enable"], "readOnly": false, "type": "boolean"}, "programs.schroot.package": {"declarations": ["nixos/modules/programs/schroot.nix"], "default": {"_type": "literalExpression", "text": "pkgs.schroot"}, "description": "The schroot package to use.", "loc": ["programs", "schroot", "package"], "readOnly": false, "type": "package"}, "programs.schroot.profiles": {"declarations": ["nixos/modules/programs/schroot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Custom configuration profiles for schroot.", "loc": ["programs", "schroot", "profiles"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.schroot.profiles.<name>.copyfiles": {"declarations": ["nixos/modules/programs/schroot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of files to copy into the chroot from the host system.", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/resolv.conf\"\n]"}, "loc": ["programs", "schroot", "profiles", "<name>", "copyfiles"], "readOnly": false, "type": "list of string"}, "programs.schroot.profiles.<name>.fstab": {"declarations": ["nixos/modules/programs/schroot.nix"], "description": "A file in the format described in {manpage}`fstab(5)`, used to mount filesystems inside the chroot.\nThe mount location is relative to the root of the chroot.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"my-schroot-fstab\" ''\n  /proc           /proc           none    rw,bind         0       0\n  /sys            /sys            none    rw,bind         0       0\n  /dev            /dev            none    rw,bind         0       0\n  /dev/pts        /dev/pts        none    rw,bind         0       0\n  /home           /home           none    rw,rbind        0       0\n  /tmp            /tmp            none    rw,bind         0       0\n  /dev/shm        /dev/shm        none    rw,bind         0       0\n  /nix            /nix            none    ro,bind         0       0\n  /run/current-system /run/current-system none rw,bind    0       0\n  /run/wrappers   /run/wrappers   none    rw,bind         0       0\n''\n"}, "loc": ["programs", "schroot", "profiles", "<name>", "fstab"], "readOnly": false, "type": "absolute path"}, "programs.schroot.profiles.<name>.nssdatabases": {"declarations": ["nixos/modules/programs/schroot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "System databases (as described in /etc/nsswitch.conf on GNU/Linux systems) to copy into the chroot from the host.\n", "example": {"_type": "literalExpression", "text": "[\n  \"passwd\"\n  \"shadow\"\n  \"group\"\n  \"gshadow\"\n  \"services\"\n  \"protocols\"\n  \"networks\"\n  \"hosts\"\n]"}, "loc": ["programs", "schroot", "profiles", "<name>", "nssdatabases"], "readOnly": false, "type": "list of string"}, "programs.schroot.settings": {"declarations": ["nixos/modules/programs/schroot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Schroot configuration settings.\nFor more details, see {manpage}`schroot.conf(5)`.\n", "example": {"_type": "literalExpression", "text": "{\n  noble = {\n    description = \"Ubuntu 24.04 Noble\";\n    directory = \"/srv/chroot/noble\";\n    personality = \"linux\";\n    preserve-environment = false;\n    profile = \"my-profile\";\n    root-users = \"my-user\";\n    shell = \"/bin/bash\";\n    type = \"directory\";\n    users = \"my-user\";\n  };\n}"}, "loc": ["programs", "schroot", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "programs.screen.enable": {"declarations": ["nixos/modules/programs/screen.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable screen, a basic terminal multiplexer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "screen", "enable"], "readOnly": false, "type": "boolean"}, "programs.screen.package": {"declarations": ["nixos/modules/programs/screen.nix"], "default": {"_type": "literalExpression", "text": "pkgs.screen"}, "description": "The screen package to use.", "loc": ["programs", "screen", "package"], "readOnly": false, "type": "package"}, "programs.screen.screenrc": {"declarations": ["nixos/modules/programs/screen.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The contents of {file}`/etc/screenrc` file", "example": {"_type": "literalExpression", "text": "''\n  defscrollback 10000\n  startup_message off\n''"}, "loc": ["programs", "screen", "screenrc"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.seahorse.enable": {"declarations": ["nixos/modules/programs/seahorse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "seahorse", "enable"], "readOnly": false, "type": "boolean"}, "programs.sedutil.enable": {"declarations": ["nixos/modules/programs/sedutil.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable sedutil, to manage self encrypting drives that conform to the Trusted Computing Group OPAL 2.0 SSC specification.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sedutil", "enable"], "readOnly": false, "type": "boolean"}, "programs.sharing.enable": {"declarations": ["nixos/modules/programs/sharing.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable sharing, a CLI tool for sharing files.\n\nNote that it will opens the 7478 port for TCP in the firewall, which is needed for it to function properly\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sharing", "enable"], "readOnly": false, "type": "boolean"}, "programs.singularity.enable": {"declarations": ["nixos/modules/programs/singularity.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install Singularity/Apptainer with system-level overriding such as SUID support.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "singularity", "enable"], "readOnly": false, "type": "boolean"}, "programs.singularity.enableExternalLocalStateDir": {"declarations": ["nixos/modules/programs/singularity.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use top-level directories as LOCALSTATEDIR\ninstead of the store path ones.\nThis affects the SESSIONDIR of Apptainer/Singularity.\nIf set to true, the SESSIONDIR will become\n`/var/lib/${projectName}/mnt/session`.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "singularity", "enableExternalLocalStateDir"], "readOnly": false, "type": "boolean"}, "programs.singularity.enableFakeroot": {"declarations": ["nixos/modules/programs/singularity.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `--fakeroot` support of Singularity/Apptainer.\n\nThis option is deprecated and has no effect.\n`--fakeroot` support is enabled automatically,\nas `systemBinPaths = [ \"/run/wrappers/bin\" ]` is always specified.\n", "loc": ["programs", "singularity", "enableFakeroot"], "readOnly": false, "type": "boolean"}, "programs.singularity.enableSuid": {"declarations": ["nixos/modules/programs/singularity.nix"], "default": {"_type": "literalExpression", "text": "config.services.singularity.package.projectName != \"apptainer\""}, "description": "Whether to enable the SUID support of Singularity/Apptainer.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "singularity", "enableSuid"], "readOnly": false, "type": "boolean"}, "programs.singularity.package": {"declarations": ["nixos/modules/programs/singularity.nix"], "default": {"_type": "literalExpression", "text": "pkgs.singularity"}, "description": "The singularity package to use.", "example": {"_type": "literalExpression", "text": "apptainer"}, "loc": ["programs", "singularity", "package"], "readOnly": false, "type": "package"}, "programs.singularity.packageOverriden": {"declarations": ["nixos/modules/programs/singularity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This option provides access to the overridden result of `programs.singularity.package`.\n\nFor example, the following configuration makes all the Nixpkgs packages use the overridden `singularity`:\n```Nix\n{ config, lib, pkgs, ... }:\n{\n  nixpkgs.overlays = [\n    (final: prev: {\n      _singularity-orig = prev.singularity;\n      singularity = config.programs.singularity.packageOverriden;\n    })\n  ];\n  programs.singularity.enable = true;\n  programs.singularity.package = pkgs._singularity-orig;\n}\n```\n\nUse `lib.mkForce` to forcefully specify the overridden package.\n", "loc": ["programs", "singularity", "packageOverriden"], "readOnly": false, "type": "null or package"}, "programs.singularity.systemBinPaths": {"declarations": ["nixos/modules/programs/singularity.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "(Extra) system-wide /**/bin paths\nfor Apptainer/Singularity to find command-line utilities in.\n\n`\"/run/wrappers/bin\"` is included by default to make\nutilities with SUID bit set available to Apptainer/Singularity.\nUse `lib.mkForce` to shadow the default values.\n", "loc": ["programs", "singularity", "systemBinPaths"], "readOnly": false, "type": "list of absolute path"}, "programs.skim.enable": {"declarations": ["nixos/modules/programs/skim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable skim fuzzy finder.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "skim", "enable"], "readOnly": false, "type": "boolean"}, "programs.skim.keybindings": {"declarations": ["nixos/modules/programs/skim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable skim keybindings.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "skim", "keybindings"], "readOnly": false, "type": "boolean"}, "programs.skim.package": {"declarations": ["nixos/modules/programs/skim.nix"], "default": {"_type": "literalExpression", "text": "pkgs.skim"}, "description": "The skim package to use.", "loc": ["programs", "skim", "package"], "readOnly": false, "type": "package"}, "programs.slock.enable": {"declarations": ["nixos/modules/programs/slock.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install slock screen locker with setuid wrapper.\n", "loc": ["programs", "slock", "enable"], "readOnly": false, "type": "boolean"}, "programs.slock.package": {"declarations": ["nixos/modules/programs/slock.nix"], "default": {"_type": "literalExpression", "text": "pkgs.slock"}, "description": "The slock package to use.", "loc": ["programs", "slock", "package"], "readOnly": false, "type": "package"}, "programs.sniffnet.enable": {"declarations": ["nixos/modules/programs/sniffnet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable sniffnet, a network traffic monitor application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sniffnet", "enable"], "readOnly": false, "type": "boolean"}, "programs.soundmodem.enable": {"declarations": ["nixos/modules/programs/soundmodem.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add Soundmodem to the global environment and configure a\nwrapper for 'soundmodemconfig' for users in the 'soundmodem' group.\n", "loc": ["programs", "soundmodem", "enable"], "readOnly": false, "type": "boolean"}, "programs.soundmodem.package": {"declarations": ["nixos/modules/programs/soundmodem.nix"], "default": {"_type": "literalExpression", "text": "pkgs.soundmodem"}, "description": "The soundmodem package to use.", "loc": ["programs", "soundmodem", "package"], "readOnly": false, "type": "package"}, "programs.ssh.agentPKCS11Whitelist": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A pattern-list of acceptable paths for PKCS#11 shared libraries\nthat may be used with the -s option to ssh-add.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.opensc}/lib/opensc-pkcs11.so\""}, "loc": ["programs", "ssh", "agentPKCS11Whitelist"], "readOnly": false, "type": "null or string"}, "programs.ssh.agentTimeout": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "How long to keep the private keys in memory. Use null to keep them forever.\n", "example": {"_type": "literalExpression", "text": "\"1h\""}, "loc": ["programs", "ssh", "agentTimeout"], "readOnly": false, "type": "null or string"}, "programs.ssh.askPassword": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass\""}, "description": "Program used by SSH to ask for passwords.", "loc": ["programs", "ssh", "askPassword"], "readOnly": false, "type": "string"}, "programs.ssh.ciphers": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the ciphers allowed and their order of preference.\n", "example": {"_type": "literalExpression", "text": "[\n  \"chacha20-poly1305@openssh.com\"\n  \"aes256-gcm@openssh.com\"\n]"}, "loc": ["programs", "ssh", "ciphers"], "readOnly": false, "type": "null or (list of string)"}, "programs.ssh.enableAskPassword": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "config.services.xserver.enable"}, "description": "Whether to configure SSH_ASKPASS in the environment.", "loc": ["programs", "ssh", "enableAskPassword"], "readOnly": false, "type": "boolean"}, "programs.ssh.extraConfig": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration text prepended to {file}`ssh_config`. Other generated\noptions will be added after a `Host *` pattern.\nSee {manpage}`ssh_config(5)`\nfor help.\n", "loc": ["programs", "ssh", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.ssh.forwardX11": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to request X11 forwarding on outgoing connections by default.\nIf set to null, the option is not set at all.\nThis is useful for running graphical programs on the remote machine and have them display to your local X11 server.\nHistorically, this value has depended on the value used by the local sshd daemon, but there really isn't a relation between the two.\nNote: there are some security risks to forwarding an X11 connection.\nNixOS's X server is built with the SECURITY extension, which prevents some obvious attacks.\nTo enable or disable forwarding on a per-connection basis, see the -X and -x options to ssh.\nThe -Y option to ssh enables trusted forwarding, which bypasses the SECURITY extension.\n", "loc": ["programs", "ssh", "forwardX11"], "readOnly": false, "type": "null or boolean"}, "programs.ssh.hostKeyAlgorithms": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies the host key algorithms that the client wants to use in order of preference.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ssh-ed25519\"\n  \"ssh-rsa\"\n]"}, "loc": ["programs", "ssh", "hostKeyAlgorithms"], "readOnly": false, "type": "list of string"}, "programs.ssh.kexAlgorithms": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the available KEX (Key Exchange) algorithms.\n", "example": {"_type": "literalExpression", "text": "[\n  \"curve25519-sha256@libssh.org\"\n  \"diffie-hellman-group-exchange-sha256\"\n]"}, "loc": ["programs", "ssh", "kexAlgorithms"], "readOnly": false, "type": "null or (list of string)"}, "programs.ssh.knownHosts": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The set of system-wide known SSH hosts. To make simple setups more\nconvenient the name of an attribute in this set is used as a host name\nfor the entry. This behaviour can be disabled by setting\n`hostNames` explicitly. You can use\n`extraHostNames` to add additional host names without\ndisabling this default.\n", "example": {"_type": "literalExpression", "text": "{\n  myhost = {\n    extraHostNames = [ \"myhost.mydomain.com\" \"10.10.1.4\" ];\n    publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub;\n  };\n  \"myhost2.net\".publicKey = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILIRuJ8p1Fi+m6WkHV0KWnRfpM1WxoW8XAS+XvsSKsTK\";\n  \"myhost2.net/dsa\" = {\n    hostNames = [ \"myhost2.net\" ];\n    publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub;\n  };\n}\n"}, "loc": ["programs", "ssh", "knownHosts"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.ssh.knownHosts.<name>.certAuthority": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "This public key is an SSH certificate authority, rather than an\nindividual host's key.\n", "loc": ["programs", "ssh", "knownHosts", "<name>", "certAuthority"], "readOnly": false, "type": "boolean"}, "programs.ssh.knownHosts.<name>.extraHostNames": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of additional host names and/or IP numbers used for\naccessing the host's ssh service. This list is ignored if\n`hostNames` is set explicitly.\n", "loc": ["programs", "ssh", "knownHosts", "<name>", "extraHostNames"], "readOnly": false, "type": "list of string"}, "programs.ssh.knownHosts.<name>.hostNames": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "[ \u2039name\u203a ] ++ config.programs.ssh.knownHosts.<name>.extraHostNames"}, "description": "A list of host names and/or IP numbers used for accessing\nthe host's ssh service. This list includes the name of the\ncontaining `knownHosts` attribute by default\nfor convenience. If you wish to configure multiple host keys\nfor the same host use multiple `knownHosts`\nentries with different attribute names and the same\n`hostNames` list.\n", "loc": ["programs", "ssh", "knownHosts", "<name>", "hostNames"], "readOnly": false, "type": "list of string"}, "programs.ssh.knownHosts.<name>.publicKey": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The public key data for the host. You can fetch a public key\nfrom a running SSH server with the {command}`ssh-keyscan`\ncommand. The public key should not include any host names, only\nthe key type and the key itself.\n", "example": {"_type": "literalExpression", "text": "\"ecdsa-sha2-nistp521 AAAAE2VjZHN...UEPg==\""}, "loc": ["programs", "ssh", "knownHosts", "<name>", "publicKey"], "readOnly": false, "type": "null or string"}, "programs.ssh.knownHosts.<name>.publicKeyFile": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the public key file for the host. The public\nkey file is read at build time and saved in the Nix store.\nYou can fetch a public key file from a running SSH server\nwith the {command}`ssh-keyscan` command. The content\nof the file should follow the same format as described for\nthe `publicKey` option. Only a single key\nis supported. If a host has multiple keys, use\n{option}`programs.ssh.knownHostsFiles` instead.\n", "loc": ["programs", "ssh", "knownHosts", "<name>", "publicKeyFile"], "readOnly": false, "type": "null or absolute path"}, "programs.ssh.knownHostsFiles": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files containing SSH host keys to set as global known hosts.\n`/etc/ssh/ssh_known_hosts` (which is\ngenerated by {option}`programs.ssh.knownHosts`) is\nalways included.\n", "example": {"_type": "literalExpression", "text": "[\n  ./known_hosts\n  (writeText \"github.keys\" ''\n    github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=\n    github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=\n    github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl\n  '')\n]\n"}, "loc": ["programs", "ssh", "knownHostsFiles"], "readOnly": false, "type": "list of absolute path"}, "programs.ssh.macs": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the MAC (message authentication code) algorithms in order of preference. The MAC algorithm is used\nfor data integrity protection.\n", "example": {"_type": "literalExpression", "text": "[\n  \"hmac-sha2-512-etm@openssh.com\"\n  \"hmac-sha1\"\n]"}, "loc": ["programs", "ssh", "macs"], "readOnly": false, "type": "null or (list of string)"}, "programs.ssh.package": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "pkgs.openssh"}, "description": "The openssh package to use.", "loc": ["programs", "ssh", "package"], "readOnly": false, "type": "package"}, "programs.ssh.pubkeyAcceptedKeyTypes": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies the key lib.types that will be used for public key authentication.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ssh-ed25519\"\n  \"ssh-rsa\"\n]"}, "loc": ["programs", "ssh", "pubkeyAcceptedKeyTypes"], "readOnly": false, "type": "list of string"}, "programs.ssh.setXAuthLocation": {"declarations": ["nixos/modules/programs/ssh.nix"], "description": "Whether to set the path to {command}`xauth` for X11-forwarded connections.\nThis causes a dependency on X11 packages.\n", "loc": ["programs", "ssh", "setXAuthLocation"], "readOnly": false, "type": "boolean"}, "programs.ssh.startAgent": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to start the OpenSSH agent when you log in.  The OpenSSH agent\nremembers private keys for you so that you don't have to type in\npassphrases every time you make an SSH connection.  Use\n{command}`ssh-add` to add a key to the agent.\n", "loc": ["programs", "ssh", "startAgent"], "readOnly": false, "type": "boolean"}, "programs.ssh.systemd-ssh-proxy.enable": {"declarations": ["nixos/modules/programs/ssh.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable systemd's ssh proxy plugin.\nSee {manpage}`systemd-ssh-proxy(1)`.\n", "loc": ["programs", "ssh", "systemd-ssh-proxy", "enable"], "readOnly": false, "type": "boolean"}, "programs.starship.enable": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Starship shell prompt.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "starship", "enable"], "readOnly": false, "type": "boolean"}, "programs.starship.interactiveOnly": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable starship only when the shell is interactive.\nSome plugins require this to be set to false to function correctly\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "starship", "interactiveOnly"], "readOnly": false, "type": "boolean"}, "programs.starship.package": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "pkgs.starship"}, "description": "The starship package to use.", "loc": ["programs", "starship", "package"], "readOnly": false, "type": "package"}, "programs.starship.presets": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Presets files to be merged with settings in order.\n", "example": {"_type": "literalExpression", "text": "[\n  \"nerd-font-symbols\"\n]"}, "loc": ["programs", "starship", "presets"], "readOnly": false, "type": "list of string"}, "programs.starship.settings": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration included in {file}`starship.toml`.\n\nSee <https://starship.rs/config/#prompt> for documentation.\n", "loc": ["programs", "starship", "settings"], "readOnly": false, "type": "TOML value"}, "programs.starship.transientPrompt.enable": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Starship's [transient prompt](https://starship.rs/advanced-config/#transientprompt-and-transientrightprompt-in-fish)\nfeature in `fish` shells. After a command has been entered, Starship\nreplaces the usual prompt with the terminal output of the commands\ndefined in the `programs.starship.transientPrompt.left`\nand `programs.starship.transientPrompt.right` options.\n\nThis option only works with `fish`, as `bash` requires a\n[custom configuration](https://starship.rs/advanced-config/#transientprompt-and-transientrightprompt-in-bash)\ninvolving [Ble.sh](https://github.com/akinomyoga/ble.sh), which can be\nenabled with `programs.bash.blesh.enable`, but not configured using NixOS\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "starship", "transientPrompt", "enable"], "readOnly": false, "type": "boolean"}, "programs.starship.transientPrompt.left": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Fish code composing the body of the `starship_transient_prompt_func` function. The output of\nthis code will become the left side of the transient prompt.\n\nNot setting this option (or setting it to `null`) will prevent\nthe `starship_transient_prompt_func` function from being generated. By default, the left\nprompt is a bold-green '\u276f' character.\n", "example": {"_type": "literalExpression", "text": "\"starship module character\""}, "loc": ["programs", "starship", "transientPrompt", "left"], "readOnly": false, "type": "null or Fish shell code concatenated with \"\\n\""}, "programs.starship.transientPrompt.right": {"declarations": ["nixos/modules/programs/starship.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Fish code composing the body of the `starship_transient_rprompt_func` function. The output of\nthis code will become the right side of the transient prompt.\n\nNot setting this option (or setting it to `null`) will prevent\nthe `starship_transient_rprompt_func` function from being generated. By default, the right\nprompt is empty.\n", "example": {"_type": "literalExpression", "text": "\"starship module time\""}, "loc": ["programs", "starship", "transientPrompt", "right"], "readOnly": false, "type": "null or Fish shell code concatenated with \"\\n\""}, "programs.steam.dedicatedServer.openFirewall": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for Source Dedicated Server.\n", "loc": ["programs", "steam", "dedicatedServer", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.steam.enable": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable steam.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "steam", "enable"], "readOnly": false, "type": "boolean"}, "programs.steam.extest.enable": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Load the extest library into Steam, to translate X11 input events to\nuinput events (e.g. for using Steam Input on Wayland)\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "steam", "extest", "enable"], "readOnly": false, "type": "boolean"}, "programs.steam.extraCompatPackages": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages to be used as compatibility tools for Steam on Linux. Packages will be included\nin the `STEAM_EXTRA_COMPAT_TOOLS_PATHS` environmental variable. For more information see\nhttps://github.com/ValveSoftware/steam-for-linux/issues/6310.\n\nThese packages must be Steam compatibility tools that have a `steamcompattool` output.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [\n  proton-ge-bin\n]\n"}, "loc": ["programs", "steam", "extraCompatPackages"], "readOnly": false, "type": "list of package"}, "programs.steam.extraPackages": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to add to the Steam environment.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [\n  gamescope\n]\n"}, "loc": ["programs", "steam", "extraPackages"], "readOnly": false, "type": "list of package"}, "programs.steam.fontPackages": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "builtins.filter lib.types.package.check config.fonts.packages"}, "description": "Font packages to use in Steam.\n\nDefaults to system fonts, but could be overridden to use other fonts \u2014 useful for users who would like to customize CJK fonts used in Steam. According to the [upstream issue](https://github.com/ValveSoftware/steam-for-linux/issues/10422#issuecomment-1944396010), Steam only follows the per-user fontconfig configuration.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ source-han-sans ]"}, "loc": ["programs", "steam", "fontPackages"], "readOnly": false, "type": "list of package"}, "programs.steam.gamescopeSession": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Run a GameScope driven Steam session from your display-manager", "loc": ["programs", "steam", "gamescopeSession"], "readOnly": false, "type": "submodule"}, "programs.steam.gamescopeSession.args": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Arguments to be passed to GameScope for the session.\n", "loc": ["programs", "steam", "gamescopeSession", "args"], "readOnly": false, "type": "list of string"}, "programs.steam.gamescopeSession.enable": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GameScope Session.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "steam", "gamescopeSession", "enable"], "readOnly": false, "type": "boolean"}, "programs.steam.gamescopeSession.env": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environmental variables to be passed to GameScope for the session.\n", "loc": ["programs", "steam", "gamescopeSession", "env"], "readOnly": false, "type": "attribute set of string"}, "programs.steam.gamescopeSession.steamArgs": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"-tenfoot\"\n  \"-pipewire-dmabuf\"\n]"}, "description": "Arguments to be passed to Steam for the session.\n", "loc": ["programs", "steam", "gamescopeSession", "steamArgs"], "readOnly": false, "type": "list of string"}, "programs.steam.localNetworkGameTransfers.openFirewall": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for Steam Local Network Game Transfers.\n", "loc": ["programs", "steam", "localNetworkGameTransfers", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.steam.package": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "pkgs.steam"}, "description": "The Steam package to use. Additional libraries are added from the system\nconfiguration to ensure graphics work properly.\n\nUse this option to customise the Steam package rather than adding your\ncustom Steam to {option}`environment.systemPackages` yourself.\n", "example": {"_type": "literalExpression", "text": "pkgs.steam.override {\n  extraEnv = {\n    MANGOHUD = true;\n    OBS_VKCAPTURE = true;\n    RADV_TEX_ANISO = 16;\n  };\n  extraLibraries = p: with p; [\n    atk\n  ];\n}\n"}, "loc": ["programs", "steam", "package"], "readOnly": false, "type": "package"}, "programs.steam.protontricks.enable": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable protontricks, a simple wrapper for running Winetricks commands for Proton-enabled games.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "steam", "protontricks", "enable"], "readOnly": false, "type": "boolean"}, "programs.steam.protontricks.package": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "pkgs.protontricks"}, "description": "The protontricks package to use.", "loc": ["programs", "steam", "protontricks", "package"], "readOnly": false, "type": "package"}, "programs.steam.remotePlay.openFirewall": {"declarations": ["nixos/modules/programs/steam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for Steam Remote Play.\n", "loc": ["programs", "steam", "remotePlay", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.streamcontroller.enable": {"declarations": ["nixos/modules/programs/streamcontroller.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable StreamController.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "streamcontroller", "enable"], "readOnly": false, "type": "boolean"}, "programs.streamcontroller.package": {"declarations": ["nixos/modules/programs/streamcontroller.nix"], "default": {"_type": "literalExpression", "text": "pkgs.streamcontroller"}, "description": "The StreamController package to use\n", "loc": ["programs", "streamcontroller", "package"], "readOnly": false, "type": "package"}, "programs.streamdeck-ui.autoStart": {"declarations": ["nixos/modules/programs/streamdeck-ui.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether streamdeck-ui should be started automatically.", "loc": ["programs", "streamdeck-ui", "autoStart"], "readOnly": false, "type": "boolean"}, "programs.streamdeck-ui.enable": {"declarations": ["nixos/modules/programs/streamdeck-ui.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable streamdeck-ui.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "streamdeck-ui", "enable"], "readOnly": false, "type": "boolean"}, "programs.streamdeck-ui.package": {"declarations": ["nixos/modules/programs/streamdeck-ui.nix"], "default": {"_type": "literalExpression", "text": "pkgs.streamdeck-ui"}, "description": "The streamdeck-ui package to use.", "loc": ["programs", "streamdeck-ui", "package"], "readOnly": false, "type": "package"}, "programs.sway.enable": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Sway, the i3-compatible tiling Wayland compositor. You can manually launch\nSway by executing \"exec sway\" on a TTY. Copy /etc/sway/config to\n~/.config/sway/config to modify the default configuration. See\n<https://github.com/swaywm/sway/wiki> and\n\"man 5 sway\" for more information.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sway", "enable"], "readOnly": false, "type": "boolean"}, "programs.sway.extraOptions": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Command line arguments passed to launch Sway. Please DO NOT report\nissues if you use an unsupported GPU (proprietary drivers).\n", "example": {"_type": "literalExpression", "text": "[\n  \"--verbose\"\n  \"--debug\"\n  \"--unsupported-gpu\"\n]"}, "loc": ["programs", "sway", "extraOptions"], "readOnly": false, "type": "list of string"}, "programs.sway.extraPackages": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "with pkgs; [ brightnessctl foot grim pulseaudio swayidle swaylock wmenu ];\n"}, "description": "Extra packages to be installed system wide. See\n<https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway> and\n<https://github.com/swaywm/sway/wiki/i3-Migration-Guide#common-x11-apps-used-on-i3-with-wayland-alternatives>\nfor a list of useful software.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ i3status i3status-rust alacritty rofi light ]\n"}, "loc": ["programs", "sway", "extraPackages"], "readOnly": false, "type": "list of package"}, "programs.sway.extraSessionCommands": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands executed just before Sway is started. See\n<https://github.com/swaywm/sway/wiki/Running-programs-natively-under-wayland>\nand <https://github.com/swaywm/wlroots/blob/master/docs/env_vars.md>\nfor some useful environment variables.\n", "example": {"_type": "literalExpression", "text": "''\n  # SDL:\n  export SDL_VIDEODRIVER=wayland\n  # QT (needs qt5.qtwayland in systemPackages):\n  export QT_QPA_PLATFORM=wayland-egl\n  export QT_WAYLAND_DISABLE_WINDOWDECORATION=\"1\"\n  # Fix for some Java AWT applications (e.g. Android Studio),\n  # use this if they aren't displayed properly:\n  export _JAVA_AWT_WM_NONREPARENTING=1\n''"}, "loc": ["programs", "sway", "extraSessionCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.sway.package": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "pkgs.sway"}, "description": "The sway package to use. If the package is not overridable with `extraSessionCommands`, `extraOptions`,\n`withBaseWrapper`, `withGtkWrapper`, `enableXWayland` and `isNixOS`,\nthen the module options {option}`wrapperFeatures`, {option}`extraSessionCommands`,\n{option}`extraOptions` and {option}`xwayland` will have no effect.\n\nSet to `null` to not add any Sway package to your path.\nThis should be done if you want to use the Home Manager Sway module to install Sway.\n", "loc": ["programs", "sway", "package"], "readOnly": false, "type": "null or package"}, "programs.sway.wrapperFeatures.base": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the base wrapper to execute extra session commands and prepend a\ndbus-run-session to the sway command.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sway", "wrapperFeatures", "base"], "readOnly": false, "type": "boolean"}, "programs.sway.wrapperFeatures.gtk": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the wrapGAppsHook wrapper to execute sway with required environment\nvariables for GTK applications.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sway", "wrapperFeatures", "gtk"], "readOnly": false, "type": "boolean"}, "programs.sway.xwayland.enable": {"declarations": ["nixos/modules/programs/wayland/sway.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable XWayland.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sway", "xwayland", "enable"], "readOnly": false, "type": "boolean"}, "programs.sysdig.enable": {"declarations": ["nixos/modules/programs/sysdig.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable sysdig, a tracing tool.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "sysdig", "enable"], "readOnly": false, "type": "boolean"}, "programs.system-config-printer.enable": {"declarations": ["nixos/modules/programs/system-config-printer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable system-config-printer, a Graphical user interface for CUPS administration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "system-config-printer", "enable"], "readOnly": false, "type": "boolean"}, "programs.systemtap.enable": {"declarations": ["nixos/modules/programs/systemtap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Install {command}`systemtap` along with necessary kernel options.\n", "loc": ["programs", "systemtap", "enable"], "readOnly": false, "type": "boolean"}, "programs.tcpdump.enable": {"declarations": ["nixos/modules/programs/tcpdump.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure a setcap wrapper for tcpdump.\nTo use it, add your user to the `pcap` group.\n", "loc": ["programs", "tcpdump", "enable"], "readOnly": false, "type": "boolean"}, "programs.television.enable": {"declarations": ["nixos/modules/programs/television.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Blazingly fast general purpose fuzzy finder TUI.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "television", "enable"], "readOnly": false, "type": "boolean"}, "programs.television.enableBashIntegration": {"declarations": ["nixos/modules/programs/television.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bash integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "television", "enableBashIntegration"], "readOnly": false, "type": "boolean"}, "programs.television.enableFishIntegration": {"declarations": ["nixos/modules/programs/television.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Fish integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "television", "enableFishIntegration"], "readOnly": false, "type": "boolean"}, "programs.television.enableZshIntegration": {"declarations": ["nixos/modules/programs/television.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Zsh integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "television", "enableZshIntegration"], "readOnly": false, "type": "boolean"}, "programs.television.package": {"declarations": ["nixos/modules/programs/television.nix"], "default": {"_type": "literalExpression", "text": "pkgs.television"}, "description": "The television package to use.", "loc": ["programs", "television", "package"], "readOnly": false, "type": "package"}, "programs.throne.enable": {"declarations": ["nixos/modules/programs/throne.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Throne, a GUI proxy configuration manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "throne", "enable"], "readOnly": false, "type": "boolean"}, "programs.throne.package": {"declarations": ["nixos/modules/programs/throne.nix"], "default": {"_type": "literalExpression", "text": "pkgs.throne"}, "description": "The throne package to use.", "loc": ["programs", "throne", "package"], "readOnly": false, "type": "package"}, "programs.throne.tunMode.enable": {"declarations": ["nixos/modules/programs/throne.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable TUN mode of Throne.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "throne", "tunMode", "enable"], "readOnly": false, "type": "boolean"}, "programs.throne.tunMode.setuid": {"declarations": ["nixos/modules/programs/throne.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable setting suid bit for throne-core to run as root, which is less\nsecure than default setcap method but closer to upstream assumptions.\nEnable this if you find the default setcap method configured in\nthis module doesn't work for you\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "throne", "tunMode", "setuid"], "readOnly": false, "type": "boolean"}, "programs.thunar.enable": {"declarations": ["nixos/modules/programs/thunar.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Thunar, the Xfce file manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "thunar", "enable"], "readOnly": false, "type": "boolean"}, "programs.thunar.plugins": {"declarations": ["nixos/modules/programs/thunar.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of thunar plugins to install.", "example": {"_type": "literalExpression", "text": "with pkgs; [ thunar-archive-plugin thunar-volman ]"}, "loc": ["programs", "thunar", "plugins"], "readOnly": false, "type": "list of package"}, "programs.thunderbird.enable": {"declarations": ["nixos/modules/programs/thunderbird.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Thunderbird mail client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "thunderbird", "enable"], "readOnly": false, "type": "boolean"}, "programs.thunderbird.package": {"declarations": ["nixos/modules/programs/thunderbird.nix"], "default": {"_type": "literalExpression", "text": "pkgs.thunderbird"}, "description": "The thunderbird package to use.", "loc": ["programs", "thunderbird", "package"], "readOnly": false, "type": "package"}, "programs.thunderbird.policies": {"declarations": ["nixos/modules/programs/thunderbird.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Group policies to install.\n\nSee [Thunderbird's documentation](https://github.com/thunderbird/policy-templates)\nfor a list of available options.\n\nThis can be used to install extensions declaratively! Check out the\ndocumentation of the `ExtensionSettings` policy for details.\n\n", "loc": ["programs", "thunderbird", "policies"], "readOnly": false, "type": "JSON value"}, "programs.thunderbird.preferences": {"declarations": ["nixos/modules/programs/thunderbird.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Preferences to set from `about:config`.\n\nSome of these might be able to be configured more ergonomically\nusing policies.\n", "loc": ["programs", "thunderbird", "preferences"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string)"}, "programs.thunderbird.preferencesStatus": {"declarations": ["nixos/modules/programs/thunderbird.nix"], "default": {"_type": "literalExpression", "text": "\"locked\""}, "description": "The status of `thunderbird.preferences`.\n\n`status` can assume the following values:\n- `\"default\"`: Preferences appear as default.\n- `\"locked\"`: Preferences appear as default and can't be changed.\n- `\"user\"`: Preferences appear as changed.\n- `\"clear\"`: Value has no effect. Resets to factory defaults on each startup.\n", "loc": ["programs", "thunderbird", "preferencesStatus"], "readOnly": false, "type": "one of \"default\", \"locked\", \"user\", \"clear\""}, "programs.tmux.aggressiveResize": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Resize the window to the size of the smallest session for which it is the current window.\n", "loc": ["programs", "tmux", "aggressiveResize"], "readOnly": false, "type": "boolean"}, "programs.tmux.baseIndex": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Base index for windows and panes.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["programs", "tmux", "baseIndex"], "readOnly": false, "type": "signed integer"}, "programs.tmux.clock24": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use 24 hour clock.", "loc": ["programs", "tmux", "clock24"], "readOnly": false, "type": "boolean"}, "programs.tmux.customPaneNavigationAndResize": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Override the hjkl and HJKL bindings for pane navigation and resizing in VI mode.", "loc": ["programs", "tmux", "customPaneNavigationAndResize"], "readOnly": false, "type": "boolean"}, "programs.tmux.enable": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whenever to configure {command}`tmux` system-wide.", "loc": ["programs", "tmux", "enable"], "readOnly": false, "relatedPackages": "- [`pkgs.tmux`](\n    https://search.nixos.org/packages?show=tmux&sort=relevance&query=tmux\n  )\n", "type": "boolean"}, "programs.tmux.escapeTime": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "500"}, "description": "Time in milliseconds for which tmux waits after an escape is input.", "example": {"_type": "literalExpression", "text": "0"}, "loc": ["programs", "tmux", "escapeTime"], "readOnly": false, "type": "signed integer"}, "programs.tmux.extraConfig": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional contents of /etc/tmux.conf, to be run after sourcing plugins.\n", "loc": ["programs", "tmux", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.tmux.extraConfigBeforePlugins": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional contents of /etc/tmux.conf, to be run before sourcing plugins.\n", "loc": ["programs", "tmux", "extraConfigBeforePlugins"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.tmux.historyLimit": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "2000"}, "description": "Maximum number of lines held in window history.", "example": {"_type": "literalExpression", "text": "5000"}, "loc": ["programs", "tmux", "historyLimit"], "readOnly": false, "type": "signed integer"}, "programs.tmux.keyMode": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "\"emacs\""}, "description": "VI or Emacs style shortcuts.", "example": {"_type": "literalExpression", "text": "\"vi\""}, "loc": ["programs", "tmux", "keyMode"], "readOnly": false, "type": "one of \"emacs\", \"vi\""}, "programs.tmux.newSession": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically spawn a session if trying to attach and none are running.", "loc": ["programs", "tmux", "newSession"], "readOnly": false, "type": "boolean"}, "programs.tmux.package": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "pkgs.tmux"}, "description": "The tmux package to use.", "loc": ["programs", "tmux", "package"], "readOnly": false, "type": "package"}, "programs.tmux.plugins": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of plugins to install.", "example": {"_type": "literalExpression", "text": "[ pkgs.tmuxPlugins.nord ]"}, "loc": ["programs", "tmux", "plugins"], "readOnly": false, "type": "list of package"}, "programs.tmux.resizeAmount": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of lines/columns when resizing.", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["programs", "tmux", "resizeAmount"], "readOnly": false, "type": "signed integer"}, "programs.tmux.reverseSplit": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Reverse the window split shortcuts.", "loc": ["programs", "tmux", "reverseSplit"], "readOnly": false, "type": "boolean"}, "programs.tmux.secureSocket": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Store tmux socket under /run, which is more secure than /tmp, but as a\ndownside it doesn't survive user logout.\n", "loc": ["programs", "tmux", "secureSocket"], "readOnly": false, "type": "boolean"}, "programs.tmux.shortcut": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "\"b\""}, "description": "Ctrl following by this key is used as the main shortcut.", "example": {"_type": "literalExpression", "text": "\"a\""}, "loc": ["programs", "tmux", "shortcut"], "readOnly": false, "type": "string"}, "programs.tmux.terminal": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "\"screen\""}, "description": "Set the $TERM variable. Use tmux-direct if italics or 24bit true color\nsupport is needed.\n", "example": {"_type": "literalExpression", "text": "\"screen-256color\""}, "loc": ["programs", "tmux", "terminal"], "readOnly": false, "type": "string"}, "programs.tmux.withUtempter": {"declarations": ["nixos/modules/programs/tmux.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable libutempter for tmux.\nThis is required so that tmux can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).\nNote, this will add a guid wrapper for the group utmp!\n", "loc": ["programs", "tmux", "withUtempter"], "readOnly": false, "type": "boolean"}, "programs.traceroute.enable": {"declarations": ["nixos/modules/programs/traceroute.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure a setcap wrapper for traceroute.\n", "loc": ["programs", "traceroute", "enable"], "readOnly": false, "type": "boolean"}, "programs.trippy.enable": {"declarations": ["nixos/modules/programs/trippy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable trippy, a network diagnostic tool.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "trippy", "enable"], "readOnly": false, "type": "boolean"}, "programs.tsmClient.defaultServername": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If multiple server stanzas are declared with\n{option}`programs.tsmClient.servers`,\nthis option may be used to name a default\nserver stanza that IBM TSM uses in the absence of\na user-defined {file}`dsm.opt` file.\nThis option translates to a\n`defaultserver` configuration line.\n", "example": {"_type": "literalExpression", "text": "\"mainTsmServer\""}, "loc": ["programs", "tsmClient", "defaultServername"], "readOnly": false, "type": "null or string matching the pattern [^[:space:]]{1,64}"}, "programs.tsmClient.dsmSysText": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "description": "This configuration key contains the effective text\nof the client system-options file \"dsm.sys\".\nIt should not be changed, but may be\nused to feed the configuration into other\nTSM-depending packages used on the system.\n", "loc": ["programs", "tsmClient", "dsmSysText"], "readOnly": true, "type": "strings concatenated with \"\\n\""}, "programs.tsmClient.enable": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable IBM Storage Protect (Tivoli Storage Manager, TSM)\nclient command line applications with a\nclient system-options file \"dsm.sys\"\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "tsmClient", "enable"], "readOnly": false, "type": "boolean"}, "programs.tsmClient.package": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "pkgs.tsm-client"}, "description": "The tsm-client package to use. It will be used with `.override`\nto add paths to the client system-options file.\n", "example": {"_type": "literalExpression", "text": "tsm-client-withGui"}, "loc": ["programs", "tsmClient", "package"], "readOnly": false, "type": "package"}, "programs.tsmClient.servers": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Server definitions (\"stanzas\")\nfor the client system-options file.\nThe name of each entry will be used for\nthe internal `servername` by default.\nEach attribute will be transformed into a line\nwith a key-value pair within the server's stanza.\nIntegers as values will be\ncanonically turned into strings.\nThe boolean value `true` will be turned\ninto a line with just the attribute's name.\nThe value `null` will not generate a line.\nA list as values generates an entry for\neach value, according to the rules above.\n", "example": {"_type": "literalExpression", "text": "{\n  mainTsmServer = {\n    compression = \"yes\";\n    nodename = \"MY-TSM-NODE\";\n    tcpserveraddress = \"tsmserver.company.com\";\n  };\n}"}, "loc": ["programs", "tsmClient", "servers"], "readOnly": false, "type": "attribute set of (open submodule of attribute set of (one of true, <null> or signed integer or absolute path or (optionally newline-terminated) single-line string or list of (one of true, <null> or signed integer or absolute path or (optionally newline-terminated) single-line string)))"}, "programs.tsmClient.servers.<name>.genPasswd": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic client password generation.\nThis option does *not* cause a line in\n{file}`dsm.sys` by itself, but generates a\ncorresponding `passwordaccess` directive.\nThe password will be stored in the directory\ngiven by the option {option}`passworddir`.\n*Caution*:\nIf this option is enabled and the server forces\nto renew the password (e.g. on first connection),\na random password will be generated and stored\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "tsmClient", "servers", "<name>", "genPasswd"], "readOnly": false, "type": "boolean"}, "programs.tsmClient.servers.<name>.inclexcl": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text lines with `include.*` and `exclude.*` directives\nto be used when sending files to the IBM TSM server,\nor an absolute path pointing to a file with such lines.\n", "example": {"_type": "literalExpression", "text": "''\n  exclude.dir     /nix/store\n  include.encrypt /home/.../*\n''"}, "loc": ["programs", "tsmClient", "servers", "<name>", "inclexcl"], "readOnly": false, "type": "(null or absolute path) or strings concatenated with \"\\n\" convertible to it"}, "programs.tsmClient.servers.<name>.nodename": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "description": "Target node name on the IBM TSM server.\n", "example": {"_type": "literalExpression", "text": "\"MY-TSM-NODE\""}, "loc": ["programs", "tsmClient", "servers", "<name>", "nodename"], "readOnly": false, "type": "non-empty string"}, "programs.tsmClient.servers.<name>.passworddir": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Directory that holds the TSM\nnode's password information.\n", "example": {"_type": "literalExpression", "text": "\"/home/alice/tsm-password\""}, "loc": ["programs", "tsmClient", "servers", "<name>", "passworddir"], "readOnly": false, "type": "null or absolute path"}, "programs.tsmClient.servers.<name>.servername": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Local name of the IBM TSM server,\nmust not contain space or more than 64 chars.\n", "example": {"_type": "literalExpression", "text": "\"mainTsmServer\""}, "loc": ["programs", "tsmClient", "servers", "<name>", "servername"], "readOnly": false, "type": "string matching the pattern [^[:space:]]{1,64}"}, "programs.tsmClient.servers.<name>.tcpport": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "default": {"_type": "literalExpression", "text": "1500"}, "description": "TCP port of the IBM TSM server.\nTSM does not support ports above 32767.\n", "loc": ["programs", "tsmClient", "servers", "<name>", "tcpport"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "programs.tsmClient.servers.<name>.tcpserveraddress": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "description": "Host/domain name or IP address of the IBM TSM server.\n", "example": {"_type": "literalExpression", "text": "\"tsmserver.company.com\""}, "loc": ["programs", "tsmClient", "servers", "<name>", "tcpserveraddress"], "readOnly": false, "type": "non-empty string"}, "programs.tsmClient.wrappedPackage": {"declarations": ["nixos/modules/programs/tsm-client.nix"], "description": "The tsm-client package to use. This option is to provide the effective derivation,\nwrapped with the path to the\nclient system-options file \"dsm.sys\".\nIt should not be changed, but exists\nfor other modules that want to call TSM executables.\n", "loc": ["programs", "tsmClient", "wrappedPackage"], "readOnly": true, "type": "package"}, "programs.turbovnc.ensureHeadlessSoftwareOpenGL": {"declarations": ["nixos/modules/programs/turbovnc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to set up NixOS such that TurboVNC's built-in software OpenGL\nimplementation works.\n\nThis will enable {option}`hardware.graphics.enable` so that OpenGL\nprograms can find Mesa's llvmpipe drivers.\n\nSetting this option to `false` does not mean that software\nOpenGL won't work; it may still work depending on your system\nconfiguration.\n\nThis option is also intended to generate warnings if you are using some\nconfiguration that's incompatible with using headless software OpenGL\nin TurboVNC.\n", "loc": ["programs", "turbovnc", "ensureHeadlessSoftwareOpenGL"], "readOnly": false, "type": "boolean"}, "programs.tuxclocker.enable": {"declarations": ["nixos/modules/services/misc/tuxclocker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable TuxClocker, a hardware control and monitoring program\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "tuxclocker", "enable"], "readOnly": false, "type": "boolean"}, "programs.tuxclocker.enabledNVIDIADevices": {"declarations": ["nixos/modules/services/misc/tuxclocker.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Enable NVIDIA GPU controls for a device by index.\nSets the `Coolbits` Xorg option to enable all TuxClocker controls.\n", "example": {"_type": "literalExpression", "text": "[\n  0\n  1\n]"}, "loc": ["programs", "tuxclocker", "enabledNVIDIADevices"], "readOnly": false, "type": "list of signed integer"}, "programs.tuxclocker.useUnfree": {"declarations": ["nixos/modules/services/misc/tuxclocker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use components requiring unfree dependencies.\nDisabling this allows you to get everything from the binary cache.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "tuxclocker", "useUnfree"], "readOnly": false, "type": "boolean"}, "programs.udevil.enable": {"declarations": ["nixos/modules/programs/udevil.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udevil, to mount filesystems without password.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "udevil", "enable"], "readOnly": false, "type": "boolean"}, "programs.usbtop.enable": {"declarations": ["nixos/modules/programs/usbtop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable usbtop and required kernel module, to show estimated USB bandwidth.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "usbtop", "enable"], "readOnly": false, "type": "boolean"}, "programs.uwsm.enable": {"declarations": ["nixos/modules/programs/wayland/uwsm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable uwsm, which wraps standalone Wayland compositors with a set\nof Systemd units on the fly. This essentially\nbinds the wayland compositor into `graphical-session-pre.target`,\n`graphical-session.target`, `xdg-desktop-autostart.target`.\n\nThis is useful for Wayland compositors like Hyprland, Sway, Wayfire,\netc. that do not start these targets and services on their own.\n\n::: {.note}\nYou must configure `waylandCompositors` suboptions as well\nso that UWSM knows which compositors to manage.\n\nAdditionally, this by default uses `dbus-broker` as the dbus\nimplementation for better compatibility. If you dislike this behavior\nyou can set `services.dbus.implementation = lib.mkForce \"dbus\"`\nin your configuration.\n:::\n\nIf you are having trouble starting a service that depends on\n`graphical-session.target`, while using a WM, enabling this option\nmight help\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "uwsm", "enable"], "readOnly": false, "type": "boolean"}, "programs.uwsm.package": {"declarations": ["nixos/modules/programs/wayland/uwsm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.uwsm"}, "description": "The uwsm package to use.", "loc": ["programs", "uwsm", "package"], "readOnly": false, "type": "package"}, "programs.uwsm.waylandCompositors": {"declarations": ["nixos/modules/programs/wayland/uwsm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for UWSM-managed Wayland Compositors. This\ncreates a desktop entry file which will be used by Display\nManagers like GDM, to allow starting the UWSM managed session.\n", "example": {"_type": "literalExpression", "text": "hyprland = {\n  prettyName = \"Hyprland\";\n  comment = \"Hyprland compositor managed by UWSM\";\n  binPath = \"/run/current-system/sw/bin/Hyprland\";\n};\nsway = {\n  prettyName = \"Sway\";\n  comment = \"Sway compositor managed by UWSM\";\n  binPath = \"/run/current-system/sw/bin/sway\";\n};\n"}, "loc": ["programs", "uwsm", "waylandCompositors"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.uwsm.waylandCompositors.<name>.binPath": {"declarations": ["nixos/modules/programs/wayland/uwsm.nix"], "description": "The wayland-compositor binary path that will be called by UWSM.\n\nIt is recommended to use the `/run/current-system/sw/bin/` path\ninstead of `lib.getExe pkgs.<compositor>` to avoid version mismatch\nof the compositor used by UWSM and the one installed in the system.\n", "example": {"_type": "literalExpression", "text": "\"/run/current-system/sw/bin/ExampleCompositor\""}, "loc": ["programs", "uwsm", "waylandCompositors", "<name>", "binPath"], "readOnly": false, "type": "absolute path"}, "programs.uwsm.waylandCompositors.<name>.comment": {"declarations": ["nixos/modules/programs/wayland/uwsm.nix"], "default": {"_type": "literalExpression", "text": "\"An intelligent Wayland compositor managed by UWSM.\""}, "description": "The comment field of the desktop entry file.", "loc": ["programs", "uwsm", "waylandCompositors", "<name>", "comment"], "readOnly": false, "type": "string"}, "programs.uwsm.waylandCompositors.<name>.extraArgs": {"declarations": ["nixos/modules/programs/wayland/uwsm.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line arguments pass to to the compsitor.\n", "loc": ["programs", "uwsm", "waylandCompositors", "<name>", "extraArgs"], "readOnly": false, "type": "list of string"}, "programs.uwsm.waylandCompositors.<name>.prettyName": {"declarations": ["nixos/modules/programs/wayland/uwsm.nix"], "description": "The full name of the desktop entry file.", "example": {"_type": "literalExpression", "text": "\"ExampleWaylandCompositor\""}, "loc": ["programs", "uwsm", "waylandCompositors", "<name>", "prettyName"], "readOnly": false, "type": "string"}, "programs.vim.defaultEditor": {"declarations": ["nixos/modules/programs/vim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable vim as the default editor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "vim", "defaultEditor"], "readOnly": false, "type": "boolean"}, "programs.vim.enable": {"declarations": ["nixos/modules/programs/vim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Vi IMproved, an advanced text editor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "vim", "enable"], "readOnly": false, "type": "boolean"}, "programs.vim.package": {"declarations": ["nixos/modules/programs/vim.nix"], "default": {"_type": "literalExpression", "text": "pkgs.vim"}, "description": "The vim package to use.", "example": {"_type": "literalExpression", "text": "pkgs.vim-full"}, "loc": ["programs", "vim", "package"], "readOnly": false, "type": "package"}, "programs.virt-manager.enable": {"declarations": ["nixos/modules/programs/virt-manager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable virt-manager, an UI for managing virtual machines in libvirt.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "virt-manager", "enable"], "readOnly": false, "type": "boolean"}, "programs.virt-manager.package": {"declarations": ["nixos/modules/programs/virt-manager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.virt-manager"}, "description": "The virt-manager package to use.", "loc": ["programs", "virt-manager", "package"], "readOnly": false, "type": "package"}, "programs.vivid.enable": {"declarations": ["nixos/modules/programs/vivid.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure LS_COLORS with vivid.", "loc": ["programs", "vivid", "enable"], "readOnly": false, "type": "boolean"}, "programs.vivid.package": {"declarations": ["nixos/modules/programs/vivid.nix"], "default": {"_type": "literalExpression", "text": "pkgs.vivid"}, "description": "The vivid package to use.", "example": {"_type": "literalExpression", "text": "vivid"}, "loc": ["programs", "vivid", "package"], "readOnly": false, "type": "package"}, "programs.vivid.theme": {"declarations": ["nixos/modules/programs/vivid.nix"], "default": {"_type": "literalExpression", "text": "\"gruvbox-dark-soft\""}, "description": "Theme to be used (see `vivid themes`)", "example": {"_type": "literalExpression", "text": "\"solarized-dark\""}, "loc": ["programs", "vivid", "theme"], "readOnly": false, "type": "string"}, "programs.vscode.defaultEditor": {"declarations": ["nixos/modules/programs/vscode.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When enabled, configures VSCode to be the default editor\nusing the EDITOR environment variable.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "vscode", "defaultEditor"], "readOnly": false, "type": "boolean"}, "programs.vscode.enable": {"declarations": ["nixos/modules/programs/vscode.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable VSCode editor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "vscode", "enable"], "readOnly": false, "type": "boolean"}, "programs.vscode.extensions": {"declarations": ["nixos/modules/programs/vscode.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extensions to install.", "example": {"_type": "literalExpression", "text": "with pkgs.vscode-extensions; [\n  bbenoist.nix\n  golang.go\n  twxs.cmake\n]\n"}, "loc": ["programs", "vscode", "extensions"], "readOnly": false, "type": "list of package"}, "programs.vscode.package": {"declarations": ["nixos/modules/programs/vscode.nix"], "default": {"_type": "literalExpression", "text": "pkgs.vscode"}, "description": "The vscode package to use. The final package will be customized with extensions from {option}`programs.vscode.extensions`", "loc": ["programs", "vscode", "package"], "readOnly": false, "type": "package"}, "programs.wavemon.enable": {"declarations": ["nixos/modules/programs/wavemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add wavemon to the global environment and configure a\nsetcap wrapper for it.\n", "loc": ["programs", "wavemon", "enable"], "readOnly": false, "type": "boolean"}, "programs.waybar.enable": {"declarations": ["nixos/modules/programs/wayland/waybar.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable waybar, a highly customizable Wayland bar for Sway and Wlroots based compositors.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "waybar", "enable"], "readOnly": false, "type": "boolean"}, "programs.waybar.package": {"declarations": ["nixos/modules/programs/wayland/waybar.nix"], "default": {"_type": "literalExpression", "text": "pkgs.waybar"}, "description": "The waybar package to use.", "loc": ["programs", "waybar", "package"], "readOnly": false, "type": "package"}, "programs.waybar.systemd.target": {"declarations": ["nixos/modules/programs/wayland/waybar.nix"], "default": {"_type": "literalExpression", "text": "\"graphical-session.target\""}, "description": "The systemd target that will automatically start the Waybar service.\n", "loc": ["programs", "waybar", "systemd", "target"], "readOnly": false, "type": "string"}, "programs.wayfire.enable": {"declarations": ["nixos/modules/programs/wayland/wayfire.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Wayfire, a wayland compositor based on wlroots.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "wayfire", "enable"], "readOnly": false, "type": "boolean"}, "programs.wayfire.package": {"declarations": ["nixos/modules/programs/wayland/wayfire.nix"], "default": {"_type": "literalExpression", "text": "pkgs.wayfire"}, "description": "The wayfire package to use.", "loc": ["programs", "wayfire", "package"], "readOnly": false, "type": "package"}, "programs.wayfire.plugins": {"declarations": ["nixos/modules/programs/wayland/wayfire.nix"], "default": {"_type": "literalExpression", "text": "with pkgs.wayfirePlugins; [ wcm wf-shell ]"}, "description": "Additional plugins to use with the wayfire window manager.\n", "example": {"_type": "literalExpression", "text": "with pkgs.wayfirePlugins; [\n  wcm\n  wf-shell\n  wayfire-plugins-extra\n];\n"}, "loc": ["programs", "wayfire", "plugins"], "readOnly": false, "type": "list of package"}, "programs.wayfire.xwayland.enable": {"declarations": ["nixos/modules/programs/wayland/wayfire.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable XWayland.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "wayfire", "xwayland", "enable"], "readOnly": false, "type": "boolean"}, "programs.wayland.miracle-wm.enable": {"declarations": ["nixos/modules/programs/wayland/miracle-wm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable miracle-wm, a tiling Mir based Wayland compositor. You can manually launch miracle-wm by\nexecuting \"exec miracle-wm\" on a TTY, or launch it from a display manager.\nConsult the USERGUIDE.md at <https://github.com/mattkae/miracle-wm> for information on\nhow to use & configure it\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "wayland", "miracle-wm", "enable"], "readOnly": false, "type": "boolean"}, "programs.wayvnc.enable": {"declarations": ["nixos/modules/programs/wayland/wayvnc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable wayvnc, VNC server for wlroots based Wayland compositors.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "wayvnc", "enable"], "readOnly": false, "type": "boolean"}, "programs.wayvnc.package": {"declarations": ["nixos/modules/programs/wayland/wayvnc.nix"], "default": {"_type": "literalExpression", "text": "pkgs.wayvnc"}, "description": "The wayvnc package to use.", "loc": ["programs", "wayvnc", "package"], "readOnly": false, "type": "package"}, "programs.weylus.enable": {"declarations": ["nixos/modules/programs/weylus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable weylus, which turns your smart phone into a graphic tablet/touch screen for your computer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "weylus", "enable"], "readOnly": false, "type": "boolean"}, "programs.weylus.openFirewall": {"declarations": ["nixos/modules/programs/weylus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports needed for the functionality of the program.\n", "loc": ["programs", "weylus", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.weylus.package": {"declarations": ["nixos/modules/programs/weylus.nix"], "default": {"_type": "literalExpression", "text": "pkgs.weylus"}, "description": "The weylus package to use.", "loc": ["programs", "weylus", "package"], "readOnly": false, "type": "package"}, "programs.weylus.users": {"declarations": ["nixos/modules/programs/weylus.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "To enable stylus and multi-touch support, the user you're going to use must be added to this list.\nThese users can synthesize input events system-wide, even when another user is logged in - untrusted users should not be added.\n", "loc": ["programs", "weylus", "users"], "readOnly": false, "type": "list of string"}, "programs.whois.enable": {"declarations": ["nixos/modules/programs/whois.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable whois, an intelligent WHOIS client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "whois", "enable"], "readOnly": false, "type": "boolean"}, "programs.whois.package": {"declarations": ["nixos/modules/programs/whois.nix"], "default": {"_type": "literalExpression", "text": "pkgs.whois"}, "description": "The whois package to use.", "loc": ["programs", "whois", "package"], "readOnly": false, "type": "package"}, "programs.whois.settings": {"declarations": ["nixos/modules/programs/whois.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "WHOIS configuration entries written to {file}`/etc/whois.conf`.\n\nEntries are written in the declared order, which matters when multiple\npatterns may match the same query.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    pattern = \"\\\\.dn42$\";\n    server = \"whois.dn42\";\n  }\n  {\n    pattern = \"\\\\-DN42$\";\n    server = \"whois.dn42\";\n  }\n  {\n    pattern = \"^as424242[0-9]{4}$\";\n    server = \"whois.dn42\";\n  }\n  {\n    pattern = \"^172\\\\.2[0-3]\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}(/(1[56789]|2[0-9]|3[012]))?$\";\n    server = \"whois.dn42\";\n  }\n]\n"}, "loc": ["programs", "whois", "settings"], "readOnly": false, "type": "list of (submodule)"}, "programs.whois.settings.*.pattern": {"declarations": ["nixos/modules/programs/whois.nix"], "description": "Case-insensitive extended regular expression used to match the\nWHOIS object identifier.\n", "example": {"_type": "literalExpression", "text": "\"\\\\.dn42$\""}, "loc": ["programs", "whois", "settings", "*", "pattern"], "readOnly": false, "type": "string"}, "programs.whois.settings.*.server": {"declarations": ["nixos/modules/programs/whois.nix"], "description": "WHOIS server to use when {option}`pattern` matches.\n", "example": {"_type": "literalExpression", "text": "\"whois.dn42\""}, "loc": ["programs", "whois", "settings", "*", "server"], "readOnly": false, "type": "string"}, "programs.winbox.enable": {"declarations": ["nixos/modules/programs/winbox.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MikroTik Winbox.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "winbox", "enable"], "readOnly": false, "type": "boolean"}, "programs.winbox.openFirewall": {"declarations": ["nixos/modules/programs/winbox.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports for the MikroTik Neighbor Discovery protocol. Required for Winbox neighbor discovery.\n", "loc": ["programs", "winbox", "openFirewall"], "readOnly": false, "type": "boolean"}, "programs.winbox.package": {"declarations": ["nixos/modules/programs/winbox.nix"], "default": {"_type": "literalExpression", "text": "pkgs.winbox"}, "description": "The winbox package to use.", "loc": ["programs", "winbox", "package"], "readOnly": false, "type": "package"}, "programs.wireshark.dumpcap.enable": {"declarations": ["nixos/modules/programs/wireshark.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to allow users in the 'wireshark' group to capture network traffic. This\nconfigures a setcap wrapper for 'dumpcap' for users in the 'wireshark' group.\n", "loc": ["programs", "wireshark", "dumpcap", "enable"], "readOnly": false, "type": "boolean"}, "programs.wireshark.enable": {"declarations": ["nixos/modules/programs/wireshark.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add Wireshark to the global environment and create a 'wireshark'\ngroup. To configure what users can capture, set the `dumpcap.enable` and\n`usbmon.enable` options. By default, users in the 'wireshark' group are\nallowed to capture network traffic but not USB traffic.\n", "loc": ["programs", "wireshark", "enable"], "readOnly": false, "type": "boolean"}, "programs.wireshark.package": {"declarations": ["nixos/modules/programs/wireshark.nix"], "default": {"_type": "literalExpression", "text": "pkgs.wireshark-cli"}, "description": "The wireshark-cli package to use.", "example": {"_type": "literalExpression", "text": "wireshark"}, "loc": ["programs", "wireshark", "package"], "readOnly": false, "type": "package"}, "programs.wireshark.usbmon.enable": {"declarations": ["nixos/modules/programs/wireshark.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow users in the 'wireshark' group to capture USB traffic. This adds\nudev rules to give users in the 'wireshark' group read permissions to all devices\nin the usbmon subsystem.\n", "loc": ["programs", "wireshark", "usbmon", "enable"], "readOnly": false, "type": "boolean"}, "programs.wshowkeys.enable": {"declarations": ["nixos/modules/programs/wshowkeys.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable wshowkeys (displays keypresses on screen on supported Wayland\ncompositors). It requires root permissions to read input events, but\nthese permissions are dropped after startup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "wshowkeys", "enable"], "readOnly": false, "type": "boolean"}, "programs.wshowkeys.package": {"declarations": ["nixos/modules/programs/wshowkeys.nix"], "default": {"_type": "literalExpression", "text": "pkgs.wshowkeys"}, "description": "The wshowkeys package to use.", "loc": ["programs", "wshowkeys", "package"], "readOnly": false, "type": "package"}, "programs.xastir.enable": {"declarations": ["nixos/modules/programs/xastir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Xastir Graphical APRS client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xastir", "enable"], "readOnly": false, "type": "boolean"}, "programs.xfconf.enable": {"declarations": ["nixos/modules/programs/xfconf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Xfconf, the Xfce configuration storage system.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xfconf", "enable"], "readOnly": false, "type": "boolean"}, "programs.xfs_quota.projects": {"declarations": ["nixos/modules/programs/xfs_quota.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Setup of xfs_quota projects. Make sure the filesystem is mounted with the pquota option.", "example": {"_type": "literalExpression", "text": "{\n  projname = {\n    id = 50;\n    path = \"/xfsprojects/projname\";\n    sizeHardLimit = \"50g\";\n  };\n}"}, "loc": ["programs", "xfs_quota", "projects"], "readOnly": false, "type": "attribute set of (submodule)"}, "programs.xfs_quota.projects.<name>.fileSystem": {"declarations": ["nixos/modules/programs/xfs_quota.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "XFS filesystem hosting the xfs_quota project.", "loc": ["programs", "xfs_quota", "projects", "<name>", "fileSystem"], "readOnly": false, "type": "string"}, "programs.xfs_quota.projects.<name>.id": {"declarations": ["nixos/modules/programs/xfs_quota.nix"], "description": "Project ID.", "loc": ["programs", "xfs_quota", "projects", "<name>", "id"], "readOnly": false, "type": "signed integer"}, "programs.xfs_quota.projects.<name>.path": {"declarations": ["nixos/modules/programs/xfs_quota.nix"], "description": "Project directory.", "loc": ["programs", "xfs_quota", "projects", "<name>", "path"], "readOnly": false, "type": "string"}, "programs.xfs_quota.projects.<name>.sizeHardLimit": {"declarations": ["nixos/modules/programs/xfs_quota.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Hard limit of the project size.", "example": {"_type": "literalExpression", "text": "\"50g\""}, "loc": ["programs", "xfs_quota", "projects", "<name>", "sizeHardLimit"], "readOnly": false, "type": "null or string"}, "programs.xfs_quota.projects.<name>.sizeSoftLimit": {"declarations": ["nixos/modules/programs/xfs_quota.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Soft limit of the project size", "example": {"_type": "literalExpression", "text": "\"30g\""}, "loc": ["programs", "xfs_quota", "projects", "<name>", "sizeSoftLimit"], "readOnly": false, "type": "null or string"}, "programs.xonsh.bashCompletion.enable": {"declarations": ["nixos/modules/programs/xonsh.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable bash completions for xonsh.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xonsh", "bashCompletion", "enable"], "readOnly": false, "type": "boolean"}, "programs.xonsh.bashCompletion.package": {"declarations": ["nixos/modules/programs/xonsh.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bash-completion"}, "description": "The bash-completion package to use.", "loc": ["programs", "xonsh", "bashCompletion", "package"], "readOnly": false, "type": "package"}, "programs.xonsh.config": {"declarations": ["nixos/modules/programs/xonsh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra text added to the end of `/etc/xonsh/xonshrc`,\nthe system-wide control file for xonsh.\n", "loc": ["programs", "xonsh", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.xonsh.enable": {"declarations": ["nixos/modules/programs/xonsh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure xonsh as an interactive shell.\n", "loc": ["programs", "xonsh", "enable"], "readOnly": false, "type": "boolean"}, "programs.xonsh.extraPackages": {"declarations": ["nixos/modules/programs/xonsh.nix"], "default": {"_type": "literalExpression", "text": "ps: [ ]"}, "description": "Xontribs and extra Python packages to be available in xonsh.\n", "example": {"_type": "literalExpression", "text": "ps: with ps; [ numpy xonsh.xontribs.xontrib-vox ]\n"}, "loc": ["programs", "xonsh", "extraPackages"], "readOnly": false, "type": "(function that evaluates to a(n) list of package) or (list of package) convertible to it"}, "programs.xonsh.package": {"declarations": ["nixos/modules/programs/xonsh.nix"], "default": {"_type": "literalExpression", "text": "pkgs.xonsh"}, "description": "The xonsh package to use. The argument `extraPackages` of this package will be overridden by\nthe option `programs.xonsh.extraPackages`.\n", "loc": ["programs", "xonsh", "package"], "readOnly": false, "type": "package"}, "programs.xppen.enable": {"declarations": ["nixos/modules/programs/xppen.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable XPPen PenTablet application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xppen", "enable"], "readOnly": false, "type": "boolean"}, "programs.xppen.package": {"declarations": ["nixos/modules/programs/xppen.nix"], "default": {"_type": "literalExpression", "text": "pkgs.xppen_4"}, "description": "The xppen_4 package to use. Use xppen_4 for newer and xppen_3 for older tablets.\nTo check which version of the driver you need, go to\nhttps://www.xp-pen.com/download/ then select your tablet\nand look for the major version in the available files for Linux.\n", "example": {"_type": "literalExpression", "text": "pkgs.xppen_3"}, "loc": ["programs", "xppen", "package"], "readOnly": false, "type": "package"}, "programs.xscreensaver.enable": {"declarations": ["nixos/modules/programs/xscreensaver/xscreensaver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable all of the xscreensaver programs.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xscreensaver", "enable"], "readOnly": false, "type": "boolean"}, "programs.xscreensaver.package": {"declarations": ["nixos/modules/programs/xscreensaver/xscreensaver.nix"], "default": {"_type": "literalExpression", "text": "pkgs.xscreensaver"}, "description": "The xscreensaver package to use.", "loc": ["programs", "xscreensaver", "package"], "readOnly": false, "type": "package"}, "programs.xscreensaver.sonar.enable": {"declarations": ["nixos/modules/programs/xscreensaver/sonar.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable xscreensaver.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xscreensaver", "sonar", "enable"], "readOnly": false, "type": "boolean"}, "programs.xss-lock.enable": {"declarations": ["nixos/modules/programs/xss-lock.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable xss-lock.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xss-lock", "enable"], "readOnly": false, "type": "boolean"}, "programs.xss-lock.extraOptions": {"declarations": ["nixos/modules/programs/xss-lock.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command-line arguments to pass to\n{command}`xss-lock`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--ignore-sleep\"\n]"}, "loc": ["programs", "xss-lock", "extraOptions"], "readOnly": false, "type": "list of string"}, "programs.xss-lock.lockerCommand": {"declarations": ["nixos/modules/programs/xss-lock.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.i3lock}/bin/i3lock\""}, "description": "Locker to be used with xsslock", "example": {"_type": "literalExpression", "text": "\"${pkgs.i3lock-fancy}/bin/i3lock-fancy\""}, "loc": ["programs", "xss-lock", "lockerCommand"], "readOnly": false, "type": "strings concatenated with \" \""}, "programs.xwayland.defaultFontPath": {"declarations": ["nixos/modules/programs/xwayland.nix"], "default": {"_type": "literalExpression", "text": "optionalString config.fonts.fontDir.enable \"/run/current-system/sw/share/X11/fonts\"\n"}, "description": "Default font path. Setting this option causes Xwayland to be rebuilt.\n", "loc": ["programs", "xwayland", "defaultFontPath"], "readOnly": false, "type": "string"}, "programs.xwayland.enable": {"declarations": ["nixos/modules/programs/xwayland.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Xwayland (an X server for interfacing X11 apps with the Wayland protocol).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "xwayland", "enable"], "readOnly": false, "type": "boolean"}, "programs.xwayland.package": {"declarations": ["nixos/modules/programs/xwayland.nix"], "default": {"_type": "literalExpression", "text": "pkgs.xwayland.override (oldArgs: {\n  inherit (config.programs.xwayland) defaultFontPath;\n})\n"}, "description": "The Xwayland package to use.", "loc": ["programs", "xwayland", "package"], "readOnly": false, "type": "absolute path"}, "programs.yazi.enable": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable yazi terminal file manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "yazi", "enable"], "readOnly": false, "type": "boolean"}, "programs.yazi.flavors": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Pre-made themes.\n\nSee <https://yazi-rs.github.io/docs/flavors/overview/> for documentation.\n", "example": {"_type": "literalExpression", "text": "{\n  foo = ./foo;\n  inherit (pkgs.yaziPlugins) bar;\n}\n"}, "loc": ["programs", "yazi", "flavors"], "readOnly": false, "type": "attribute set of (absolute path or package)"}, "programs.yazi.initLua": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The init.lua for Yazi itself.\n", "example": {"_type": "literalExpression", "text": "./init.lua"}, "loc": ["programs", "yazi", "initLua"], "readOnly": false, "type": "null or absolute path"}, "programs.yazi.package": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "pkgs.yazi"}, "description": "The yazi package to use.", "loc": ["programs", "yazi", "package"], "readOnly": false, "type": "package"}, "programs.yazi.plugins": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Lua plugins.\n\nSee <https://yazi-rs.github.io/docs/plugins/overview/> for documentation.\n", "example": {"_type": "literalExpression", "text": "{\n  foo = ./foo;\n  inherit (pkgs.yaziPlugins) bar;\n}\n"}, "loc": ["programs", "yazi", "plugins"], "readOnly": false, "type": "attribute set of (absolute path or package)"}, "programs.yazi.settings": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration included in `$YAZI_CONFIG_HOME`.\n", "loc": ["programs", "yazi", "settings"], "readOnly": false, "type": "submodule"}, "programs.yazi.settings.keymap": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration included in `keymap.toml`.\n\nSee <https://yazi-rs.github.io/docs/configuration/keymap/> for documentation.\n", "loc": ["programs", "yazi", "settings", "keymap"], "readOnly": false, "type": "TOML value"}, "programs.yazi.settings.theme": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration included in `theme.toml`.\n\nSee <https://yazi-rs.github.io/docs/configuration/theme/> for documentation.\n", "loc": ["programs", "yazi", "settings", "theme"], "readOnly": false, "type": "TOML value"}, "programs.yazi.settings.vfs": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration included in `vfs.toml`.\n\nSee <https://yazi-rs.github.io/docs/configuration/vfs/> for documentation.\n", "loc": ["programs", "yazi", "settings", "vfs"], "readOnly": false, "type": "TOML value"}, "programs.yazi.settings.yazi": {"declarations": ["nixos/modules/programs/yazi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration included in `yazi.toml`.\n\nSee <https://yazi-rs.github.io/docs/configuration/yazi/> for documentation.\n", "loc": ["programs", "yazi", "settings", "yazi"], "readOnly": false, "type": "TOML value"}, "programs.ydotool.enable": {"declarations": ["nixos/modules/programs/ydotool.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ydotoold system service and {command}`ydotool` for members of\n{option}`programs.ydotool.group`.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "ydotool", "enable"], "readOnly": false, "type": "boolean"}, "programs.ydotool.group": {"declarations": ["nixos/modules/programs/ydotool.nix"], "default": {"_type": "literalExpression", "text": "\"ydotool\""}, "description": "Group which users must be in to use {command}`ydotool`.\n", "loc": ["programs", "ydotool", "group"], "readOnly": false, "type": "string"}, "programs.yubikey-manager.enable": {"declarations": ["nixos/modules/programs/yubikey-manager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable yubikey-manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "yubikey-manager", "enable"], "readOnly": false, "type": "boolean"}, "programs.yubikey-manager.package": {"declarations": ["nixos/modules/programs/yubikey-manager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.yubikey-manager"}, "description": "The yubikey-manager package to use.", "loc": ["programs", "yubikey-manager", "package"], "readOnly": false, "type": "package"}, "programs.yubikey-touch-detector.enable": {"declarations": ["nixos/modules/programs/yubikey-touch-detector.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable yubikey-touch-detector.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "yubikey-touch-detector", "enable"], "readOnly": false, "type": "boolean"}, "programs.yubikey-touch-detector.libnotify": {"declarations": ["nixos/modules/programs/yubikey-touch-detector.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If set to true, yubikey-touch-detctor will send notifications using libnotify\n", "loc": ["programs", "yubikey-touch-detector", "libnotify"], "readOnly": false, "type": "boolean"}, "programs.yubikey-touch-detector.unixSocket": {"declarations": ["nixos/modules/programs/yubikey-touch-detector.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If set to true, yubikey-touch-detector will send notifications to a unix socket\n", "loc": ["programs", "yubikey-touch-detector", "unixSocket"], "readOnly": false, "type": "boolean"}, "programs.yubikey-touch-detector.verbose": {"declarations": ["nixos/modules/programs/yubikey-touch-detector.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables verbose logging\n", "loc": ["programs", "yubikey-touch-detector", "verbose"], "readOnly": false, "type": "boolean"}, "programs.zmap.enable": {"declarations": ["nixos/modules/programs/zmap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ZMap, a network scanner designed for Internet-wide network surveys.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zmap", "enable"], "readOnly": false, "type": "boolean"}, "programs.zoom-us.enable": {"declarations": ["nixos/modules/programs/zoom-us.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable zoom.us video conferencing application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zoom-us", "enable"], "readOnly": false, "type": "boolean"}, "programs.zoom-us.package": {"declarations": ["nixos/modules/programs/zoom-us.nix"], "default": {"_type": "literalExpression", "text": "pkgs.zoom-us"}, "description": "The zoom-us package to use.", "loc": ["programs", "zoom-us", "package"], "readOnly": false, "type": "package"}, "programs.zoxide.enable": {"declarations": ["nixos/modules/programs/zoxide.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable zoxide, a smarter cd command that learns your habits.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zoxide", "enable"], "readOnly": false, "type": "boolean"}, "programs.zoxide.enableBashIntegration": {"declarations": ["nixos/modules/programs/zoxide.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Bash integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zoxide", "enableBashIntegration"], "readOnly": false, "type": "boolean"}, "programs.zoxide.enableFishIntegration": {"declarations": ["nixos/modules/programs/zoxide.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Fish integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zoxide", "enableFishIntegration"], "readOnly": false, "type": "boolean"}, "programs.zoxide.enableXonshIntegration": {"declarations": ["nixos/modules/programs/zoxide.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Xonsh integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zoxide", "enableXonshIntegration"], "readOnly": false, "type": "boolean"}, "programs.zoxide.enableZshIntegration": {"declarations": ["nixos/modules/programs/zoxide.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Zsh integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zoxide", "enableZshIntegration"], "readOnly": false, "type": "boolean"}, "programs.zoxide.flags": {"declarations": ["nixos/modules/programs/zoxide.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of flags for zoxide init\n", "example": {"_type": "literalExpression", "text": "[\n  \"--no-cmd\"\n  \"--cmd j\"\n]"}, "loc": ["programs", "zoxide", "flags"], "readOnly": false, "type": "list of string"}, "programs.zoxide.package": {"declarations": ["nixos/modules/programs/zoxide.nix"], "default": {"_type": "literalExpression", "text": "pkgs.zoxide"}, "description": "The zoxide package to use.", "loc": ["programs", "zoxide", "package"], "readOnly": false, "type": "package"}, "programs.zsh.autosuggestions.async": {"declarations": ["nixos/modules/programs/zsh/zsh-autosuggestions.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to fetch suggestions asynchronously", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["programs", "zsh", "autosuggestions", "async"], "readOnly": false, "type": "boolean"}, "programs.zsh.autosuggestions.enable": {"declarations": ["nixos/modules/programs/zsh/zsh-autosuggestions.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable zsh-autosuggestions.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zsh", "autosuggestions", "enable"], "readOnly": false, "type": "boolean"}, "programs.zsh.autosuggestions.extraConfig": {"declarations": ["nixos/modules/programs/zsh/zsh-autosuggestions.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set with additional configuration values", "example": {"_type": "literalExpression", "text": "{\n  \"ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE\" = \"20\";\n}\n"}, "loc": ["programs", "zsh", "autosuggestions", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "programs.zsh.autosuggestions.highlightStyle": {"declarations": ["nixos/modules/programs/zsh/zsh-autosuggestions.nix"], "default": {"_type": "literalExpression", "text": "\"fg=8\""}, "description": "Highlight style for suggestions ({fore,back}ground color)", "example": {"_type": "literalExpression", "text": "\"fg=cyan\""}, "loc": ["programs", "zsh", "autosuggestions", "highlightStyle"], "readOnly": false, "type": "string"}, "programs.zsh.autosuggestions.strategy": {"declarations": ["nixos/modules/programs/zsh/zsh-autosuggestions.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"history\"\n]"}, "description": "`ZSH_AUTOSUGGEST_STRATEGY` is an array that specifies how suggestions should be generated.\nThe strategies in the array are tried successively until a suggestion is found.\nThere are currently three built-in strategies to choose from:\n\n- `history`: Chooses the most recent match from history.\n- `completion`: Chooses a suggestion based on what tab-completion would suggest. (requires `zpty` module)\n- `match_prev_cmd`: Like `history`, but chooses the most recent match whose preceding history item matches\n    the most recently executed command. Note that this strategy won't work as expected with ZSH options that\n    don't preserve the history order such as `HIST_IGNORE_ALL_DUPS` or `HIST_EXPIRE_DUPS_FIRST`.\n", "loc": ["programs", "zsh", "autosuggestions", "strategy"], "readOnly": false, "type": "list of (one of \"history\", \"completion\", \"match_prev_cmd\")"}, "programs.zsh.enable": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure zsh as an interactive shell. To enable zsh for\na particular user, use the {option}`users.users.<name?>.shell`\noption for that user. To enable zsh system-wide use the\n{option}`users.defaultUserShell` option.\n", "loc": ["programs", "zsh", "enable"], "readOnly": false, "type": "boolean"}, "programs.zsh.enableBashCompletion": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable compatibility with bash's programmable completion system.\n", "loc": ["programs", "zsh", "enableBashCompletion"], "readOnly": false, "type": "boolean"}, "programs.zsh.enableCompletion": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable zsh completion for all interactive zsh shells.\n", "loc": ["programs", "zsh", "enableCompletion"], "readOnly": false, "type": "boolean"}, "programs.zsh.enableGlobalCompInit": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "config.programs.zsh.enableCompletion"}, "description": "Enable execution of compinit call for all interactive zsh shells.\n\nThis option can be disabled if the user wants to extend its\n`fpath` and a custom `compinit`\ncall in the local config is required.\n", "loc": ["programs", "zsh", "enableGlobalCompInit"], "readOnly": false, "type": "boolean"}, "programs.zsh.enableLsColors": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable extra colors in directory listings (used by `ls` and `tree`).\n", "loc": ["programs", "zsh", "enableLsColors"], "readOnly": false, "type": "boolean"}, "programs.zsh.histFile": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "\"$HOME/.zsh_history\""}, "description": "Change history file.\n", "loc": ["programs", "zsh", "histFile"], "readOnly": false, "type": "string"}, "programs.zsh.histSize": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "2000"}, "description": "Change history size.\n", "loc": ["programs", "zsh", "histSize"], "readOnly": false, "type": "signed integer"}, "programs.zsh.interactiveShellInit": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during interactive zsh shell initialisation.\n", "loc": ["programs", "zsh", "interactiveShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.zsh.loginShellInit": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during zsh login shell initialisation.\n", "loc": ["programs", "zsh", "loginShellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.zsh.ohMyZsh.cacheDir": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "\"$HOME/.cache/oh-my-zsh\""}, "description": "Cache directory to be used by `oh-my-zsh`.\nWithout this option it would default to the read-only nix store.\n", "loc": ["programs", "zsh", "ohMyZsh", "cacheDir"], "readOnly": false, "type": "string"}, "programs.zsh.ohMyZsh.custom": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a custom oh-my-zsh package to override config of oh-my-zsh.\n(Can't be used along with `customPkgs`).\n", "loc": ["programs", "zsh", "ohMyZsh", "custom"], "readOnly": false, "type": "null or string"}, "programs.zsh.ohMyZsh.customPkgs": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of custom packages that should be loaded into `oh-my-zsh`.\n", "loc": ["programs", "zsh", "ohMyZsh", "customPkgs"], "readOnly": false, "type": "list of package"}, "programs.zsh.ohMyZsh.enable": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable oh-my-zsh.\n", "loc": ["programs", "zsh", "ohMyZsh", "enable"], "readOnly": false, "type": "boolean"}, "programs.zsh.ohMyZsh.package": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "pkgs.oh-my-zsh"}, "description": "The oh-my-zsh package to use.", "loc": ["programs", "zsh", "ohMyZsh", "package"], "readOnly": false, "type": "package"}, "programs.zsh.ohMyZsh.plugins": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of oh-my-zsh plugins\n", "loc": ["programs", "zsh", "ohMyZsh", "plugins"], "readOnly": false, "type": "list of string"}, "programs.zsh.ohMyZsh.preLoaded": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands executed before the `oh-my-zsh` is loaded.\nFor example, to disable async git prompt write `zstyle ':omz:alpha:lib:git' async-prompt no` (more information <https://github.com/ohmyzsh/ohmyzsh?tab=readme-ov-file#async-git-prompt>)\n", "loc": ["programs", "zsh", "ohMyZsh", "preLoaded"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.zsh.ohMyZsh.theme": {"declarations": ["nixos/modules/programs/zsh/oh-my-zsh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Name of the theme to be used by oh-my-zsh.\n", "loc": ["programs", "zsh", "ohMyZsh", "theme"], "readOnly": false, "type": "string"}, "programs.zsh.promptInit": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "''\n  # Note that to manually override this in ~/.zshrc you should run `prompt off`\n  # before setting your PS1 and etc. Otherwise this will likely to interact with\n  # your ~/.zshrc configuration in unexpected ways as the default prompt sets\n  # a lot of different prompt variables.\n  autoload -U promptinit && promptinit && prompt suse && setopt prompt_sp\n''"}, "description": "Shell script code used to initialise the zsh prompt.\n", "loc": ["programs", "zsh", "promptInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.zsh.setOptions": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"HIST_IGNORE_DUPS\"\n  \"SHARE_HISTORY\"\n  \"HIST_FCNTL_LOCK\"\n]"}, "description": "Configure zsh options. See\n{manpage}`zshoptions(1)`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"EXTENDED_HISTORY\"\n  \"RM_STAR_WAIT\"\n]"}, "loc": ["programs", "zsh", "setOptions"], "readOnly": false, "type": "list of string"}, "programs.zsh.shellAliases": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of aliases for zsh shell, which overrides {option}`environment.shellAliases`.\nSee {option}`environment.shellAliases` for an option format description.\n", "loc": ["programs", "zsh", "shellAliases"], "readOnly": false, "type": "attribute set of (null or string or absolute path)"}, "programs.zsh.shellInit": {"declarations": ["nixos/modules/programs/zsh/zsh.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell script code called during zsh shell initialisation.\n", "loc": ["programs", "zsh", "shellInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "programs.zsh.syntaxHighlighting.enable": {"declarations": ["nixos/modules/programs/zsh/zsh-syntax-highlighting.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable zsh-syntax-highlighting.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zsh", "syntaxHighlighting", "enable"], "readOnly": false, "type": "boolean"}, "programs.zsh.syntaxHighlighting.highlighters": {"declarations": ["nixos/modules/programs/zsh/zsh-syntax-highlighting.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"main\"\n]"}, "description": "Specifies the highlighters to be used by zsh-syntax-highlighting.\n\nThe following defined options can be found here:\nhttps://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md\n", "loc": ["programs", "zsh", "syntaxHighlighting", "highlighters"], "readOnly": false, "type": "list of (one of \"main\", \"brackets\", \"pattern\", \"cursor\", \"regexp\", \"root\", \"line\")"}, "programs.zsh.syntaxHighlighting.patterns": {"declarations": ["nixos/modules/programs/zsh/zsh-syntax-highlighting.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specifies custom patterns to be highlighted by zsh-syntax-highlighting.\n\nPlease refer to the docs for more information about the usage:\nhttps://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/pattern.md\n", "example": {"_type": "literalExpression", "text": "{\n  \"rm -rf *\" = \"fg=white,bold,bg=red\";\n}\n"}, "loc": ["programs", "zsh", "syntaxHighlighting", "patterns"], "readOnly": false, "type": "attribute set of string"}, "programs.zsh.syntaxHighlighting.styles": {"declarations": ["nixos/modules/programs/zsh/zsh-syntax-highlighting.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specifies custom styles to be highlighted by zsh-syntax-highlighting.\n\nPlease refer to the docs for more information about the usage:\nhttps://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md\n", "example": {"_type": "literalExpression", "text": "{\n  \"alias\" = \"fg=magenta,bold\";\n}\n"}, "loc": ["programs", "zsh", "syntaxHighlighting", "styles"], "readOnly": false, "type": "attribute set of string"}, "programs.zsh.vteIntegration": {"declarations": ["nixos/modules/config/vte.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Zsh integration for VTE terminals.\nThis allows it to preserve the current directory of the shell\nacross terminals.\n", "loc": ["programs", "zsh", "vteIntegration"], "readOnly": false, "type": "boolean"}, "programs.zsh.zsh-autoenv.enable": {"declarations": ["nixos/modules/programs/zsh/zsh-autoenv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable zsh-autoenv.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["programs", "zsh", "zsh-autoenv", "enable"], "readOnly": false, "type": "boolean"}, "programs.zsh.zsh-autoenv.package": {"declarations": ["nixos/modules/programs/zsh/zsh-autoenv.nix"], "default": {"_type": "literalExpression", "text": "pkgs.zsh-autoenv"}, "description": "The zsh-autoenv package to use.", "loc": ["programs", "zsh", "zsh-autoenv", "package"], "readOnly": false, "type": "package"}, "qt.enable": {"declarations": ["nixos/modules/config/qt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Qt configuration, including theming.\n\nEnabling this option is necessary for Qt plugins to work in the\ninstalled profiles (e.g.: `nix-env -i` or `environment.systemPackages`).\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["qt", "enable"], "readOnly": false, "type": "boolean"}, "qt.platformTheme": {"declarations": ["nixos/modules/config/qt.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Selects the platform theme to use for Qt applications.\n\nThe options are\n- `gnome`: Use GNOME theme with [qgnomeplatform](https://github.com/FedoraQt/QGnomePlatform)\n- `gtk2`: Use GTK theme with [qtstyleplugins](https://github.com/qt/qtstyleplugins)\n- `kde`: Use Qt settings from Plasma.\n- `lxqt`: Use LXQt style set using the [lxqt-config-appearance](https://github.com/lxqt/lxqt-config)\n   application.\n- `qt5ct`: Use Qt style set using the [qt5ct](https://sourceforge.net/projects/qt5ct/)\n   and [qt6ct](https://github.com/trialuser02/qt6ct) applications.\n", "example": {"_type": "literalExpression", "text": "\"gnome\""}, "loc": ["qt", "platformTheme"], "readOnly": false, "relatedPackages": "- [`pkgs.qgnomeplatform`](\n    https://search.nixos.org/packages?show=qgnomeplatform&sort=relevance&query=qgnomeplatform\n  )\n- [`pkgs.qgnomeplatform-qt6`](\n    https://search.nixos.org/packages?show=qgnomeplatform-qt6&sort=relevance&query=qgnomeplatform-qt6\n  )\n- [`pkgs.libsForQt5.qt5ct`](\n    https://search.nixos.org/packages?show=libsForQt5.qt5ct&sort=relevance&query=libsForQt5.qt5ct\n  )\n- [`pkgs.libsForQt5.qtstyleplugins`](\n    https://search.nixos.org/packages?show=libsForQt5.qtstyleplugins&sort=relevance&query=libsForQt5.qtstyleplugins\n  )\n- [`pkgs.kdePackages.plasma-integration`](\n    https://search.nixos.org/packages?show=kdePackages.plasma-integration&sort=relevance&query=kdePackages.plasma-integration\n  )\n- [`pkgs.kdePackages.systemsettings`](\n    https://search.nixos.org/packages?show=kdePackages.systemsettings&sort=relevance&query=kdePackages.systemsettings\n  )\n- [`pkgs.lxqt.lxqt-config`](\n    https://search.nixos.org/packages?show=lxqt.lxqt-config&sort=relevance&query=lxqt.lxqt-config\n  )\n- [`pkgs.lxqt.lxqt-qtplugin`](\n    https://search.nixos.org/packages?show=lxqt.lxqt-qtplugin&sort=relevance&query=lxqt.lxqt-qtplugin\n  )\n- [`pkgs.qt6Packages.qt6ct`](\n    https://search.nixos.org/packages?show=qt6Packages.qt6ct&sort=relevance&query=qt6Packages.qt6ct\n  )\n- [`pkgs.qt6Packages.qt6gtk2`](\n    https://search.nixos.org/packages?show=qt6Packages.qt6gtk2&sort=relevance&query=qt6Packages.qt6gtk2\n  )\n", "type": "null or one of \"gnome\", \"gtk2\", \"kde\", \"lxqt\", \"qt5ct\""}, "qt.style": {"declarations": ["nixos/modules/config/qt.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Selects the style to use for Qt applications.\n\nThe options are\n- `adwaita`, `adwaita-dark`, `adwaita-highcontrast`, `adawaita-highcontrastinverse`:\n  Use Adwaita Qt style with\n  [adwaita](https://github.com/FedoraQt/adwaita-qt)\n- `breeze`: Use the Breeze style from\n  [breeze](https://github.com/KDE/breeze)\n- `bb10bright`, `bb10dark`, `cleanlooks`, `gtk2`, `motif`, `plastique`:\n  Use styles from\n  [qtstyleplugins](https://github.com/qt/qtstyleplugins)\n- `kvantum`: Use styles from\n  [kvantum](https://github.com/tsujan/Kvantum)\n", "example": {"_type": "literalExpression", "text": "\"adwaita\""}, "loc": ["qt", "style"], "readOnly": false, "relatedPackages": "- [`pkgs.adwaita-qt`](\n    https://search.nixos.org/packages?show=adwaita-qt&sort=relevance&query=adwaita-qt\n  )\n- [`pkgs.adwaita-qt6`](\n    https://search.nixos.org/packages?show=adwaita-qt6&sort=relevance&query=adwaita-qt6\n  )\n- [`pkgs.libsForQt5.qtstyleplugin-kvantum`](\n    https://search.nixos.org/packages?show=libsForQt5.qtstyleplugin-kvantum&sort=relevance&query=libsForQt5.qtstyleplugin-kvantum\n  )\n- [`pkgs.libsForQt5.qtstyleplugins`](\n    https://search.nixos.org/packages?show=libsForQt5.qtstyleplugins&sort=relevance&query=libsForQt5.qtstyleplugins\n  )\n- [`pkgs.qt6Packages.qt6gtk2`](\n    https://search.nixos.org/packages?show=qt6Packages.qt6gtk2&sort=relevance&query=qt6Packages.qt6gtk2\n  )\n- [`pkgs.qt6Packages.qtstyleplugin-kvantum`](\n    https://search.nixos.org/packages?show=qt6Packages.qtstyleplugin-kvantum&sort=relevance&query=qt6Packages.qtstyleplugin-kvantum\n  )\n", "type": "null or one of \"adwaita\", \"adwaita-dark\", \"adwaita-highcontrast\", \"adwaita-highcontrastinverse\", \"bb10bright\", \"bb10dark\", \"breeze\", \"cde\", \"cleanlooks\", \"gtk2\", \"kvantum\", \"motif\", \"plastique\""}, "security.acme.acceptTerms": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Accept the CA's terms of service. The default provider is Let's Encrypt,\nyou can find their ToS at <https://letsencrypt.org/repository/>.\n", "loc": ["security", "acme", "acceptTerms"], "readOnly": false, "type": "boolean"}, "security.acme.certs": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of certificates to get signed and renewed. Creates\n`acme-${cert}.{service,timer}` systemd units for\neach certificate defined here. Other services can add dependencies\nto those units if they rely on the certificates being present,\nor trigger restarts of the service if certificates get renewed.\n", "example": {"_type": "literalExpression", "text": "{\n  \"example.com\" = {\n    webroot = \"/var/lib/acme/acme-challenge/\";\n    email = \"foo@example.com\";\n    extraDomainNames = [ \"www.example.com\" \"foo.example.com\" ];\n  };\n  \"bar.example.com\" = {\n    webroot = \"/var/lib/acme/acme-challenge/\";\n    email = \"bar@example.com\";\n  };\n}\n"}, "loc": ["security", "acme", "certs"], "readOnly": false, "type": "attribute set of (submodule)"}, "security.acme.certs.<name>.credentialFiles": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.credentialFiles"}, "description": "Environment variables suffixed by \"_FILE\" to set for the cert's service\nfor your selected dnsProvider.\nTo find out what values you need to set, consult the documentation at\n<https://go-acme.github.io/lego/dns/> for the corresponding dnsProvider.\nThis allows to securely pass credential files to lego by leveraging systemd\ncredentials.\n", "example": {"_type": "literalExpression", "text": "{\n  \"RFC2136_TSIG_SECRET_FILE\" = \"/run/secrets/tsig-secret-example.org\";\n}\n"}, "loc": ["security", "acme", "certs", "<name>", "credentialFiles"], "readOnly": false, "type": "attribute set of absolute path"}, "security.acme.certs.<name>.csr": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a certificate signing request to apply when fetching the certificate.", "loc": ["security", "acme", "certs", "<name>", "csr"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.csrKey": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the private key to the matching certificate signing request.", "loc": ["security", "acme", "certs", "<name>", "csrKey"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.directory": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/\u2039name\u203a\""}, "description": "Directory where certificate and other state is stored.", "loc": ["security", "acme", "certs", "<name>", "directory"], "readOnly": true, "type": "string"}, "security.acme.certs.<name>.dnsPropagationCheck": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.dnsPropagationCheck"}, "description": "Toggles lego DNS propagation check, which is used alongside DNS-01\nchallenge to ensure the DNS entries required are available.\n", "loc": ["security", "acme", "certs", "<name>", "dnsPropagationCheck"], "readOnly": false, "type": "boolean"}, "security.acme.certs.<name>.dnsProvider": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.dnsProvider"}, "description": "DNS Challenge provider. For a list of supported providers, see the \"code\"\nfield of the DNS providers listed at <https://go-acme.github.io/lego/dns/>.\n", "example": {"_type": "literalExpression", "text": "\"route53\""}, "loc": ["security", "acme", "certs", "<name>", "dnsProvider"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.dnsResolver": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.dnsResolver"}, "description": "Set the resolver to use for performing recursive DNS queries. Supported:\nhost:port. The default is to use the system resolvers, or Google's DNS\nresolvers if the system's cannot be determined.\n", "example": {"_type": "literalExpression", "text": "\"1.1.1.1:53\""}, "loc": ["security", "acme", "certs", "<name>", "dnsResolver"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.domain": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Domain to fetch certificate for (defaults to the entry name).", "loc": ["security", "acme", "certs", "<name>", "domain"], "readOnly": false, "type": "string"}, "security.acme.certs.<name>.email": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.email"}, "description": "Email address for account creation and correspondence from the CA.\nIt is recommended to use the same email for all certs to avoid account\ncreation limits.\n", "loc": ["security", "acme", "certs", "<name>", "email"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.enableDebugLogs": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.enableDebugLogs"}, "description": "Whether to enable debug logging for this certificate.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "acme", "certs", "<name>", "enableDebugLogs"], "readOnly": false, "type": "boolean"}, "security.acme.certs.<name>.environmentFile": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.environmentFile"}, "description": "Path to an EnvironmentFile for the cert's service containing any required and\noptional environment variables for your selected dnsProvider.\nTo find out what values you need to set, consult the documentation at\n<https://go-acme.github.io/lego/dns/> for the corresponding dnsProvider.\n", "example": {"_type": "literalExpression", "text": "\"/var/src/secrets/example.org-route53-api-token\""}, "loc": ["security", "acme", "certs", "<name>", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "security.acme.certs.<name>.extraDomainNames": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of extra domain names, which are included in the one certificate to be issued.\n", "example": {"_type": "literalExpression", "text": "[\n  \"example.org\"\n  \"mydomain.org\"\n]\n"}, "loc": ["security", "acme", "certs", "<name>", "extraDomainNames"], "readOnly": false, "type": "list of string"}, "security.acme.certs.<name>.extraLegoFlags": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.extraLegoFlags"}, "description": "Additional global flags to pass to all lego commands.\n", "loc": ["security", "acme", "certs", "<name>", "extraLegoFlags"], "readOnly": false, "type": "list of string"}, "security.acme.certs.<name>.extraLegoRenewFlags": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.extraLegoRenewFlags"}, "description": "Additional flags to pass to lego renew.\n", "loc": ["security", "acme", "certs", "<name>", "extraLegoRenewFlags"], "readOnly": false, "type": "list of string"}, "security.acme.certs.<name>.extraLegoRunFlags": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.extraLegoRunFlags"}, "description": "Additional flags to pass to lego run.\n", "loc": ["security", "acme", "certs", "<name>", "extraLegoRunFlags"], "readOnly": false, "type": "list of string"}, "security.acme.certs.<name>.group": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.group"}, "description": "Group running the ACME client.", "loc": ["security", "acme", "certs", "<name>", "group"], "readOnly": false, "type": "string"}, "security.acme.certs.<name>.inheritDefaults": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to inherit values set in `security.acme.defaults` or not.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "acme", "certs", "<name>", "inheritDefaults"], "readOnly": false, "type": "boolean"}, "security.acme.certs.<name>.keyType": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.keyType"}, "description": "Key type to use for private keys.\nFor an up to date list of supported values check the --key-type option\nat <https://go-acme.github.io/lego/usage/cli/options/>.\n", "loc": ["security", "acme", "certs", "<name>", "keyType"], "readOnly": false, "type": "string"}, "security.acme.certs.<name>.listenHTTP": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.listenHTTP"}, "description": "Interface and port to listen on to solve HTTP challenges\nin the form `[INTERFACE]:PORT`.\nIf you use a port other than 80, you must proxy port 80 to this port.\n", "example": {"_type": "literalExpression", "text": "\":1360\""}, "loc": ["security", "acme", "certs", "<name>", "listenHTTP"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.ocspMustStaple": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.ocspMustStaple"}, "description": "Turns on the OCSP Must-Staple TLS extension.\nMake sure you know what you're doing! See:\n\n- <https://blog.apnic.net/2019/01/15/is-the-web-ready-for-ocsp-must-staple/>\n- <https://blog.hboeck.de/archives/886-The-Problem-with-OCSP-Stapling-and-Must-Staple-and-why-Certificate-Revocation-is-still-broken.html>\n", "loc": ["security", "acme", "certs", "<name>", "ocspMustStaple"], "readOnly": false, "type": "boolean"}, "security.acme.certs.<name>.postRun": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.postRun"}, "description": "Commands to run after new certificates go live. Note that\nthese commands run as the root user.\n\nExecuted in the same directory with the new certificate.\n", "example": {"_type": "literalExpression", "text": "\"cp full.pem backup.pem\""}, "loc": ["security", "acme", "certs", "<name>", "postRun"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.acme.certs.<name>.profile": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.profile"}, "description": "The certificate profile to choose if the CA offers multiple profiles.\n", "loc": ["security", "acme", "certs", "<name>", "profile"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.reloadServices": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.reloadServices"}, "description": "The list of systemd services to call `systemctl try-reload-or-restart`\non.\n", "loc": ["security", "acme", "certs", "<name>", "reloadServices"], "readOnly": false, "type": "list of string"}, "security.acme.certs.<name>.renewInterval": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.renewInterval"}, "description": "Systemd calendar expression when to check for renewal. See\n{manpage}`systemd.time(7)`.\n\nIf you reduce this from daily you might also want to adapt {option}`security.acme.defaults.renewJitter`.\n", "loc": ["security", "acme", "certs", "<name>", "renewInterval"], "readOnly": false, "type": "string"}, "security.acme.certs.<name>.renewJitter": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.renewJitter"}, "description": "Maximum jitter applied to a timer to stretch its execution\nintervals to prevent multiple timers from firing simultaneously. See\n`RandomizedDelaySecs=` in {manpage}`systemd.timer(5)`.\n", "loc": ["security", "acme", "certs", "<name>", "renewJitter"], "readOnly": false, "type": "string"}, "security.acme.certs.<name>.s3Bucket": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "S3 bucket name to use for HTTP-01 based challenges. Challenges will be written to the S3 bucket.\n", "example": {"_type": "literalExpression", "text": "\"acme\""}, "loc": ["security", "acme", "certs", "<name>", "s3Bucket"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.server": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.server"}, "description": "ACME Directory Resource URI.\nDefaults to Let's Encrypt's production endpoint.\nFor testing Let's Encrypt's [staging endpoint](https://letsencrypt.org/docs/staging-environment/)\nshould be used to avoid the rather tight rate limit on the production endpoint.\n", "example": {"_type": "literalExpression", "text": "\"https://acme-staging-v02.api.letsencrypt.org/directory\""}, "loc": ["security", "acme", "certs", "<name>", "server"], "readOnly": false, "type": "null or string"}, "security.acme.certs.<name>.validMinDays": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Minimum remaining validity before renewal in days.\n\nIf unset, the renewal time is calculated dynamically:\n- for regular certificates, renewal occurs when less than one-third of the lifetime remains\n- for short-lived certificates, renewal occurs when less than half of the lifetime remains\n", "loc": ["security", "acme", "certs", "<name>", "validMinDays"], "readOnly": false, "type": "null or signed integer"}, "security.acme.certs.<name>.webroot": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "config.security.acme.defaults.webroot"}, "description": "Where the webroot of the HTTP vhost is located.\n{file}`.well-known/acme-challenge/` directory\nwill be created below the webroot if it doesn't exist.\n`http://example.org/.well-known/acme-challenge/` must also\nbe available (notice unencrypted HTTP).\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "loc": ["security", "acme", "certs", "<name>", "webroot"], "readOnly": false, "type": "null or string"}, "security.acme.defaults": {"declarations": ["nixos/modules/security/acme"], "description": "Default values inheritable by all configured certs. You can\nuse this to define options shared by all your certs. These defaults\ncan also be ignored on a per-cert basis using the\n{option}`security.acme.certs.${cert}.inheritDefaults` option.\n", "loc": ["security", "acme", "defaults"], "readOnly": false, "type": "submodule"}, "security.acme.defaults.credentialFiles": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables suffixed by \"_FILE\" to set for the cert's service\nfor your selected dnsProvider.\nTo find out what values you need to set, consult the documentation at\n<https://go-acme.github.io/lego/dns/> for the corresponding dnsProvider.\nThis allows to securely pass credential files to lego by leveraging systemd\ncredentials.\n", "example": {"_type": "literalExpression", "text": "{\n  \"RFC2136_TSIG_SECRET_FILE\" = \"/run/secrets/tsig-secret-example.org\";\n}\n"}, "loc": ["security", "acme", "defaults", "credentialFiles"], "readOnly": false, "type": "attribute set of absolute path"}, "security.acme.defaults.dnsPropagationCheck": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Toggles lego DNS propagation check, which is used alongside DNS-01\nchallenge to ensure the DNS entries required are available.\n", "loc": ["security", "acme", "defaults", "dnsPropagationCheck"], "readOnly": false, "type": "boolean"}, "security.acme.defaults.dnsProvider": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DNS Challenge provider. For a list of supported providers, see the \"code\"\nfield of the DNS providers listed at <https://go-acme.github.io/lego/dns/>.\n", "example": {"_type": "literalExpression", "text": "\"route53\""}, "loc": ["security", "acme", "defaults", "dnsProvider"], "readOnly": false, "type": "null or string"}, "security.acme.defaults.dnsResolver": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the resolver to use for performing recursive DNS queries. Supported:\nhost:port. The default is to use the system resolvers, or Google's DNS\nresolvers if the system's cannot be determined.\n", "example": {"_type": "literalExpression", "text": "\"1.1.1.1:53\""}, "loc": ["security", "acme", "defaults", "dnsResolver"], "readOnly": false, "type": "null or string"}, "security.acme.defaults.email": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Email address for account creation and correspondence from the CA.\nIt is recommended to use the same email for all certs to avoid account\ncreation limits.\n", "loc": ["security", "acme", "defaults", "email"], "readOnly": false, "type": "null or string"}, "security.acme.defaults.enableDebugLogs": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable debug logging for this certificate.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "acme", "defaults", "enableDebugLogs"], "readOnly": false, "type": "boolean"}, "security.acme.defaults.environmentFile": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to an EnvironmentFile for the cert's service containing any required and\noptional environment variables for your selected dnsProvider.\nTo find out what values you need to set, consult the documentation at\n<https://go-acme.github.io/lego/dns/> for the corresponding dnsProvider.\n", "example": {"_type": "literalExpression", "text": "\"/var/src/secrets/example.org-route53-api-token\""}, "loc": ["security", "acme", "defaults", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "security.acme.defaults.extraLegoFlags": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional global flags to pass to all lego commands.\n", "loc": ["security", "acme", "defaults", "extraLegoFlags"], "readOnly": false, "type": "list of string"}, "security.acme.defaults.extraLegoRenewFlags": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional flags to pass to lego renew.\n", "loc": ["security", "acme", "defaults", "extraLegoRenewFlags"], "readOnly": false, "type": "list of string"}, "security.acme.defaults.extraLegoRunFlags": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional flags to pass to lego run.\n", "loc": ["security", "acme", "defaults", "extraLegoRunFlags"], "readOnly": false, "type": "list of string"}, "security.acme.defaults.group": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"acme\""}, "description": "Group running the ACME client.", "loc": ["security", "acme", "defaults", "group"], "readOnly": false, "type": "string"}, "security.acme.defaults.keyType": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"ec256\""}, "description": "Key type to use for private keys.\nFor an up to date list of supported values check the --key-type option\nat <https://go-acme.github.io/lego/usage/cli/options/>.\n", "loc": ["security", "acme", "defaults", "keyType"], "readOnly": false, "type": "string"}, "security.acme.defaults.listenHTTP": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Interface and port to listen on to solve HTTP challenges\nin the form `[INTERFACE]:PORT`.\nIf you use a port other than 80, you must proxy port 80 to this port.\n", "example": {"_type": "literalExpression", "text": "\":1360\""}, "loc": ["security", "acme", "defaults", "listenHTTP"], "readOnly": false, "type": "null or string"}, "security.acme.defaults.ocspMustStaple": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Turns on the OCSP Must-Staple TLS extension.\nMake sure you know what you're doing! See:\n\n- <https://blog.apnic.net/2019/01/15/is-the-web-ready-for-ocsp-must-staple/>\n- <https://blog.hboeck.de/archives/886-The-Problem-with-OCSP-Stapling-and-Must-Staple-and-why-Certificate-Revocation-is-still-broken.html>\n", "loc": ["security", "acme", "defaults", "ocspMustStaple"], "readOnly": false, "type": "boolean"}, "security.acme.defaults.postRun": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands to run after new certificates go live. Note that\nthese commands run as the root user.\n\nExecuted in the same directory with the new certificate.\n", "example": {"_type": "literalExpression", "text": "\"cp full.pem backup.pem\""}, "loc": ["security", "acme", "defaults", "postRun"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.acme.defaults.profile": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The certificate profile to choose if the CA offers multiple profiles.\n", "loc": ["security", "acme", "defaults", "profile"], "readOnly": false, "type": "null or string"}, "security.acme.defaults.reloadServices": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The list of systemd services to call `systemctl try-reload-or-restart`\non.\n", "loc": ["security", "acme", "defaults", "reloadServices"], "readOnly": false, "type": "list of string"}, "security.acme.defaults.renewInterval": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "Systemd calendar expression when to check for renewal. See\n{manpage}`systemd.time(7)`.\n\nIf you reduce this from daily you might also want to adapt {option}`security.acme.defaults.renewJitter`.\n", "loc": ["security", "acme", "defaults", "renewInterval"], "readOnly": false, "type": "string"}, "security.acme.defaults.renewJitter": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"24h\""}, "description": "Maximum jitter applied to a timer to stretch its execution\nintervals to prevent multiple timers from firing simultaneously. See\n`RandomizedDelaySecs=` in {manpage}`systemd.timer(5)`.\n", "loc": ["security", "acme", "defaults", "renewJitter"], "readOnly": false, "type": "string"}, "security.acme.defaults.server": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "\"https://acme-v02.api.letsencrypt.org/directory\""}, "description": "ACME Directory Resource URI.\nDefaults to Let's Encrypt's production endpoint.\nFor testing Let's Encrypt's [staging endpoint](https://letsencrypt.org/docs/staging-environment/)\nshould be used to avoid the rather tight rate limit on the production endpoint.\n", "example": {"_type": "literalExpression", "text": "\"https://acme-staging-v02.api.letsencrypt.org/directory\""}, "loc": ["security", "acme", "defaults", "server"], "readOnly": false, "type": "null or string"}, "security.acme.defaults.validMinDays": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Minimum remaining validity before renewal in days.\n\nIf unset, the renewal time is calculated dynamically:\n- for regular certificates, renewal occurs when less than one-third of the lifetime remains\n- for short-lived certificates, renewal occurs when less than half of the lifetime remains\n", "loc": ["security", "acme", "defaults", "validMinDays"], "readOnly": false, "type": "null or signed integer"}, "security.acme.defaults.webroot": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Where the webroot of the HTTP vhost is located.\n{file}`.well-known/acme-challenge/` directory\nwill be created below the webroot if it doesn't exist.\n`http://example.org/.well-known/acme-challenge/` must also\nbe available (notice unencrypted HTTP).\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "loc": ["security", "acme", "defaults", "webroot"], "readOnly": false, "type": "null or string"}, "security.acme.maxConcurrentRenewals": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Maximum number of concurrent certificate generation or renewal jobs. All other\njobs will queue and wait running jobs to finish. Reduces the system load of\ncertificate generation.\n\nSet to `0` to allow unlimited number of concurrent job runs.\"\n", "loc": ["security", "acme", "maxConcurrentRenewals"], "readOnly": false, "type": "signed integer"}, "security.acme.useRoot": {"declarations": ["nixos/modules/security/acme"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use the root user when generating certs. This is not recommended\nfor security + compatibility reasons. If a service requires root owned certificates\nconsider following the guide on \"Using ACME with services demanding root\nowned certificates\" in the NixOS manual, and only using this as a fallback\nor for testing.\n", "loc": ["security", "acme", "useRoot"], "readOnly": false, "type": "boolean"}, "security.agnos.enable": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable agnos.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "agnos", "enable"], "readOnly": false, "type": "boolean"}, "security.agnos.generateKeys.enable": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable automatic generation of account keys.\n\nWhen this is `true`, a key will be generated for each account where\nthe file referred to by the `private_key` path does not exist yet.\n\nCurrently, only RSA keys can be generated.\n", "loc": ["security", "agnos", "generateKeys", "enable"], "readOnly": false, "type": "boolean"}, "security.agnos.generateKeys.keySize": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "4096"}, "description": "Key size in bits to use when generating new keys.\n", "loc": ["security", "agnos", "generateKeys", "keySize"], "readOnly": false, "type": "signed integer"}, "security.agnos.group": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "\"agnos\""}, "description": "Group to run Agnos as. The acquired certificates will be owned by this group.\n", "loc": ["security", "agnos", "group"], "readOnly": false, "type": "string"}, "security.agnos.persistent": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "When `true`, use a persistent systemd timer.\n", "loc": ["security", "agnos", "persistent"], "readOnly": false, "type": "boolean"}, "security.agnos.server": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "ACME Directory Resource URI. Defaults to Let's Encrypt's production endpoint,\n`https://acme-v02.api.letsencrypt.org/directory`, if unset.\n", "loc": ["security", "agnos", "server"], "readOnly": false, "type": "null or string"}, "security.agnos.serverCa": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The root certificate (in PEM format) of the ACME server's HTTPS interface.\n", "loc": ["security", "agnos", "serverCa"], "readOnly": false, "type": "null or absolute path"}, "security.agnos.settings": {"declarations": ["nixos/modules/security/agnos.nix"], "description": "Settings", "loc": ["security", "agnos", "settings"], "readOnly": false, "type": "open submodule of attribute set of (TOML value)"}, "security.agnos.settings.accounts": {"declarations": ["nixos/modules/security/agnos.nix"], "description": "A list of ACME accounts.\nEach account is associated with an email address\nand can be used to obtain an arbitrary amount of certificate\n(subject to provider's rate limits,\nsee e.g. [Let's Encrypt Rate Limits](https://letsencrypt.org/docs/rate-limits/)).\n", "loc": ["security", "agnos", "settings", "accounts"], "readOnly": false, "type": "list of (open submodule of attribute set of (TOML value))"}, "security.agnos.settings.accounts.*.certificates": {"declarations": ["nixos/modules/security/agnos.nix"], "description": "Certificates for agnos to issue or renew.\n", "loc": ["security", "agnos", "settings", "accounts", "*", "certificates"], "readOnly": false, "type": "list of (open submodule of attribute set of (TOML value))"}, "security.agnos.settings.accounts.*.certificates.*.domains": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Domains the certificate represents\n", "example": {"_type": "literalExpression", "text": "[\"a.example.com\", \"b.example.com\", \"*b.example.com\"]"}, "loc": ["security", "agnos", "settings", "accounts", "*", "certificates", "*", "domains"], "readOnly": false, "type": "list of string"}, "security.agnos.settings.accounts.*.certificates.*.fullchain_output_file": {"declarations": ["nixos/modules/security/agnos.nix"], "description": "Output path for the full chain including the acquired certificate.\nIf a relative path is specified, the file will be created in `/var/lib/agnos`.\n", "loc": ["security", "agnos", "settings", "accounts", "*", "certificates", "*", "fullchain_output_file"], "readOnly": false, "type": "string"}, "security.agnos.settings.accounts.*.certificates.*.key_output_file": {"declarations": ["nixos/modules/security/agnos.nix"], "description": "Output path for the certificate private key.\nIf a relative path is specified, the file will be created in `/var/lib/agnos`.\n", "loc": ["security", "agnos", "settings", "accounts", "*", "certificates", "*", "key_output_file"], "readOnly": false, "type": "string"}, "security.agnos.settings.accounts.*.email": {"declarations": ["nixos/modules/security/agnos.nix"], "description": "Email associated with this account.\n", "loc": ["security", "agnos", "settings", "accounts", "*", "email"], "readOnly": false, "type": "string"}, "security.agnos.settings.accounts.*.private_key_path": {"declarations": ["nixos/modules/security/agnos.nix"], "description": "Path of the PEM-encoded private key for this account.\nCurrently, only RSA keys are supported.\n\nIf this path does not exist, then the behavior depends on `generateKeys.enable`.\nWhen this option is `true`,\nthe key will be automatically generated and saved to this path.\nWhen it is `false`, agnos will fail.\n\nIf a relative path is specified,\nthe key will be looked up (or generated and saved to) under `/var/lib/agnos`.\n", "loc": ["security", "agnos", "settings", "accounts", "*", "private_key_path"], "readOnly": false, "type": "string"}, "security.agnos.settings.dns_listen_addr": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0:53\""}, "description": "Address for agnos to listen on.\nNote that this needs to be reachable by the outside world,\nand 53 is required in most situations\nsince `NS` records do not allow specifying the port.\n", "loc": ["security", "agnos", "settings", "dns_listen_addr"], "readOnly": false, "type": "string"}, "security.agnos.startAt": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "How often or when to run agnos.\n\nThe format is described in\n{manpage}`systemd.time(7)`.\n", "example": {"_type": "literalExpression", "text": "\"02:00\""}, "loc": ["security", "agnos", "startAt"], "readOnly": false, "type": "string or list of string"}, "security.agnos.temporarilyOpenFirewall": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When `true`, will open the port specified in `settings.dns_listen_addr`\nbefore running the agnos service, and close it when agnos finishes running.\n", "loc": ["security", "agnos", "temporarilyOpenFirewall"], "readOnly": false, "type": "boolean"}, "security.agnos.user": {"declarations": ["nixos/modules/security/agnos.nix"], "default": {"_type": "literalExpression", "text": "\"agnos\""}, "description": "User to run Agnos as. The acquired certificates will be owned by this user.\n", "loc": ["security", "agnos", "user"], "readOnly": false, "type": "string"}, "security.allowSimultaneousMultithreading": {"declarations": ["nixos/modules/security/misc.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to allow SMT/hyperthreading.  Disabling SMT means that only\nphysical CPU cores will be usable at runtime, potentially at\nsignificant performance cost.\n\nThe primary motivation for disabling SMT is to mitigate the risk of\nleaking data between threads running on the same CPU core (due to\ne.g., shared caches).  This attack vector is unproven.\n\nDisabling SMT is a supplement to the L1 data cache flushing mitigation\n(see [](#opt-security.virtualisation.flushL1DataCache))\nversus malicious VM guests (SMT could \"bring back\" previously flushed\ndata).\n", "loc": ["security", "allowSimultaneousMultithreading"], "readOnly": false, "type": "boolean"}, "security.allowUserNamespaces": {"declarations": ["nixos/modules/security/misc.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to allow creation of user namespaces.\n\nThe motivation for disabling user namespaces is the potential\npresence of code paths where the kernel's permission checking\nlogic fails to account for namespacing, instead permitting a\nnamespaced process to act outside the namespace with the same\nprivileges as it would have inside it.  This is particularly\ndamaging in the common case of running as root within the namespace.\n\nWhen user namespace creation is disallowed, attempting to create a\nuser namespace fails with \"no space left on device\" (ENOSPC).\nroot may re-enable user namespace creation at runtime.\n", "loc": ["security", "allowUserNamespaces"], "readOnly": false, "type": "boolean"}, "security.apparmor.enable": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the AppArmor Mandatory Access Control system.\n\nIf you're enabling this module on a running system,\nnote that a reboot will be required to activate AppArmor in the kernel.\n\nAlso, beware that enabling this module privileges stability over security\nby not trying to kill unconfined but newly confinable running processes by default,\nthough it would be needed because AppArmor can only confine new\nor already confined processes of an executable.\nThis killing would for instance be necessary when upgrading to a NixOS revision\nintroducing for the first time an AppArmor profile for the executable\nof a running process.\n\nEnable [](#opt-security.apparmor.killUnconfinedConfinables)\nif you want this service to do such killing\nby sending a `SIGTERM` to those running processes.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "apparmor", "enable"], "readOnly": false, "type": "boolean"}, "security.apparmor.enableCache": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable caching of AppArmor policies\nin `/var/cache/apparmor/`.\n\nBeware that AppArmor policies almost always contain Nix store paths,\nand thus produce at each change of these paths\na new cached version accumulating in the cache.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "apparmor", "enableCache"], "readOnly": false, "type": "boolean"}, "security.apparmor.includes": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "List of paths to be added to AppArmor's searched paths\nwhen resolving `include` directives.\n", "loc": ["security", "apparmor", "includes"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "security.apparmor.killUnconfinedConfinables": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable killing of processes which have an AppArmor profile enabled\n(in [](#opt-security.apparmor.policies))\nbut are not confined (because AppArmor can only confine new processes).\n\nThis is only sending a gracious `SIGTERM` signal to the processes,\nnot a `SIGKILL`.\n\nBeware that due to a current limitation of AppArmor,\nonly profiles with exact paths (and no name) can enable such kills.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "apparmor", "killUnconfinedConfinables"], "readOnly": false, "type": "boolean"}, "security.apparmor.packages": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages to be added to AppArmor's include path", "loc": ["security", "apparmor", "packages"], "readOnly": false, "type": "list of package"}, "security.apparmor.policies": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "AppArmor policies.\n", "loc": ["security", "apparmor", "policies"], "readOnly": false, "type": "attribute set of (submodule)"}, "security.apparmor.policies.<name>.path": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A path of a profile file to include. Incompatible with profile.", "loc": ["security", "apparmor", "policies", "<name>", "path"], "readOnly": false, "type": "null or absolute path"}, "security.apparmor.policies.<name>.profile": {"declarations": ["nixos/modules/security/apparmor.nix"], "description": "The profile file contents. Incompatible with path.", "loc": ["security", "apparmor", "policies", "<name>", "profile"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.apparmor.policies.<name>.state": {"declarations": ["nixos/modules/security/apparmor.nix"], "default": {"_type": "literalExpression", "text": "\"enforce\""}, "description": "How strictly this policy should be enforced", "loc": ["security", "apparmor", "policies", "<name>", "state"], "readOnly": false, "type": "one of \"disable\", \"complain\", \"enforce\""}, "security.audit.backlogLimit": {"declarations": ["nixos/modules/security/audit.nix"], "default": {"_type": "literalExpression", "text": "1024"}, "description": "The maximum number of outstanding audit buffers allowed; exceeding this is\nconsidered a failure and handled in a manner specified by failureMode.\n", "loc": ["security", "audit", "backlogLimit"], "readOnly": false, "type": "signed integer"}, "security.audit.enable": {"declarations": ["nixos/modules/security/audit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Linux audit system. The special `lock` value can be used to\nenable auditing and prevent disabling it until a restart. Be careful about locking\nthis, as it will prevent you from changing your audit configuration until you\nrestart. If possible, test your configuration using build-vm beforehand.\n", "loc": ["security", "audit", "enable"], "readOnly": false, "type": "one of false, true, \"lock\""}, "security.audit.failureMode": {"declarations": ["nixos/modules/security/audit.nix"], "default": {"_type": "literalExpression", "text": "\"printk\""}, "description": "How to handle critical errors in the auditing system", "loc": ["security", "audit", "failureMode"], "readOnly": false, "type": "one of \"silent\", \"printk\", \"panic\""}, "security.audit.package": {"declarations": ["nixos/modules/security/audit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.audit"}, "description": "The audit package to use.", "loc": ["security", "audit", "package"], "readOnly": false, "type": "package"}, "security.audit.rateLimit": {"declarations": ["nixos/modules/security/audit.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The maximum messages per second permitted before triggering a failure as\nspecified by failureMode. Setting it to zero disables the limit.\n", "loc": ["security", "audit", "rateLimit"], "readOnly": false, "type": "signed integer"}, "security.audit.rules": {"declarations": ["nixos/modules/security/audit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The ordered audit rules, with each string appearing as one line of the audit.rules file.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-a exit,always -F arch=b64 -S execve\"\n]"}, "loc": ["security", "audit", "rules"], "readOnly": false, "type": "list of string"}, "security.auditd.enable": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Linux Audit daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "auditd", "enable"], "readOnly": false, "type": "boolean"}, "security.auditd.package": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.audit"}, "description": "The auditd package to use.", "loc": ["security", "auditd", "package"], "readOnly": false, "type": "package"}, "security.auditd.plugins": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "{\n  af_unix = {\n    path = lib.getExe' config.security.auditd.package \"audisp-af_unix\";\n    args = [\n      \"0640\"\n      \"/var/run/audispd_events\"\n      \"string\"\n    ];\n    format = \"binary\";\n  };\n  remote = {\n    path = lib.getExe' config.security.auditd.package \"audisp-remote\";\n    settings = { };\n  };\n  filter = {\n    path = lib.getExe' config.security.auditd.package \"audisp-filter\";\n    args = [\n      \"allowlist\"\n      \"/etc/audit/audisp-filter.conf\"\n      (lib.getExe' config.security.auditd.package \"audisp-syslog\")\n      \"LOG_USER\"\n      \"LOG_INFO\"\n      \"interpret\"\n    ];\n    settings = { };\n  };\n  syslog = {\n    path = lib.getExe' config.security.auditd.package \"audisp-syslog\";\n    args = [ \"LOG_INFO\" ];\n  };\n}\n"}, "description": "Plugin definitions to register with auditd", "loc": ["security", "auditd", "plugins"], "readOnly": false, "type": "attribute set of (submodule)"}, "security.auditd.plugins.<name>.active": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Whether to enable this plugin.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "auditd", "plugins", "<name>", "active"], "readOnly": false, "type": "boolean"}, "security.auditd.plugins.<name>.args": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This allows you to pass arguments to the child program.\nGenerally plugins do not take arguments and have their own\nconfig file that instructs them how they should be configured.\n", "loc": ["security", "auditd", "plugins", "<name>", "args"], "readOnly": false, "type": "null or (list of non-empty string)"}, "security.auditd.plugins.<name>.direction": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "\"out\""}, "description": "The option is dictated by the plugin. In or out are the only choices.\nYou cannot make a plugin operate in a way it wasn't  designed just by\nchanging this option. This option is to give a clue to the event dispatcher\nabout which direction events flow.\n\n::: {.note}\nInbound events are not supported yet.\n:::\n", "loc": ["security", "auditd", "plugins", "<name>", "direction"], "readOnly": false, "type": "one of \"in\", \"out\""}, "security.auditd.plugins.<name>.format": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "\"string\""}, "description": "Binary passes the data exactly as the audit event dispatcher gets it from\nthe audit daemon. The string option tells the dispatcher to completely change\nthe event into a string suitable for parsing with the audit parsing library.\n", "loc": ["security", "auditd", "plugins", "<name>", "format"], "readOnly": false, "type": "one of \"binary\", \"string\""}, "security.auditd.plugins.<name>.path": {"declarations": ["nixos/modules/security/auditd.nix"], "description": "This is the absolute path to the plugin executable.", "loc": ["security", "auditd", "plugins", "<name>", "path"], "readOnly": false, "type": "absolute path"}, "security.auditd.plugins.<name>.settings": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Plugin-specific config file to link to /etc/audit/<plugin>.conf", "loc": ["security", "auditd", "plugins", "<name>", "settings"], "readOnly": false, "type": "null or (open submodule of attribute set of (null or boolean or non-empty string or absolute path or signed integer))"}, "security.auditd.plugins.<name>.type": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "\"always\""}, "description": "This tells the dispatcher how the plugin wants to be run. There is only\none valid option, `always`, which means the plugin is external and should\nalways be run. The default is `always` since there are no more builtin plugins.\n", "loc": ["security", "auditd", "plugins", "<name>", "type"], "readOnly": true, "type": "value \"always\" (singular enum)"}, "security.auditd.settings": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "auditd configuration file contents. See {auditd.conf} for supported values.", "loc": ["security", "auditd", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or boolean or non-empty string or absolute path or signed integer)"}, "security.auditd.settings.admin_space_left": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "50"}, "description": "This is a numeric value in mebibytes (MiB) that tells the audit daemon when to perform a configurable action because the system is running\nlow on disk space. This should be considered the last chance to do something before running out of disk space. The numeric value for\nthis parameter should be lower than the number for {option}`space_left`. You may also append a percent sign (e.g. 1%) to the number to have\nthe audit daemon calculate the number based on the disk partition size.\n", "loc": ["security", "auditd", "settings", "admin_space_left"], "readOnly": false, "type": "signed integer or string matching the pattern [0-9]+%"}, "security.auditd.settings.space_left": {"declarations": ["nixos/modules/security/auditd.nix"], "default": {"_type": "literalExpression", "text": "75"}, "description": "If the free space in the filesystem containing log_file drops below this value, the audit daemon takes the action specified by\n{option}`space_left_action`. If the value of {option}`space_left` is specified as a whole number, it is interpreted as an absolute size in mebibytes\n(MiB). If the value is specified as a number between 1 and 99 followed by a percentage sign (e.g., 5%), the audit daemon calculates\nthe absolute size in megabytes based on the size of the filesystem containing {option}`log_file`. (E.g., if the filesystem containing\n{option}`log_file` is 2 gibibytes in size, and {option}`space_left` is set to 25%, then the audit daemon sets {option}`space_left` to approximately 500 mebibytes.\n\n::: {.note}\nThis calculation is performed when the audit daemon starts, so if you resize the filesystem containing {option}`log_file` while the\naudit daemon is running, you should send the audit daemon SIGHUP to re-read the configuration file and recalculate the correct per\u2010\ncentage.\n:::\n", "loc": ["security", "auditd", "settings", "space_left"], "readOnly": false, "type": "signed integer or string matching the pattern [0-9]+%"}, "security.chromiumSuidSandbox.enable": {"declarations": ["nixos/modules/security/chromium-suid-sandbox.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install the Chromium SUID sandbox which is an executable that\nChromium may use in order to achieve sandboxing.\n\nIf you get the error \"The SUID sandbox helper binary was found, but is not\nconfigured correctly.\", turning this on might help.\n\nAlso, if the URL chrome://sandbox tells you that \"You are not adequately\nsandboxed!\", turning this on might resolve the issue.\n", "loc": ["security", "chromiumSuidSandbox", "enable"], "readOnly": false, "type": "boolean"}, "security.dhparams.defaultBitSize": {"declarations": ["nixos/modules/security/dhparams.nix"], "default": {"_type": "literalExpression", "text": "2048"}, "description": "This allows to override the default bit size for all of the\nDiffie-Hellman parameters set in\n{option}`security.dhparams.params`.\n", "loc": ["security", "dhparams", "defaultBitSize"], "readOnly": false, "type": "integer of at least 16 bits"}, "security.dhparams.enable": {"declarations": ["nixos/modules/security/dhparams.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to generate new DH params and clean up old DH params.\n", "loc": ["security", "dhparams", "enable"], "readOnly": false, "type": "boolean"}, "security.dhparams.params": {"declarations": ["nixos/modules/security/dhparams.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Diffie-Hellman parameters to generate.\n\nThe value is the size (in bits) of the DH params to generate. The\ngenerated DH params path can be found in\n`config.security.dhparams.params.\u00abname\u00bb.path`.\n\n::: {.note}\nThe name of the DH params is taken as being the name of\nthe service it serves and the params will be generated before the\nsaid service is started.\n:::\n\n::: {.warning}\nIf you are removing all dhparams from this list, you\nhave to leave {option}`security.dhparams.enable` for at\nleast one activation in order to have them be cleaned up. This also\nmeans if you rollback to a version without any dhparams the\nexisting ones won't be cleaned up. Of course this only applies if\n{option}`security.dhparams.stateful` is\n`true`.\n:::\n\n::: {.note}\n**For module implementers:** It's recommended\nto not set a specific bit size here, so that users can easily\noverride this by setting\n{option}`security.dhparams.defaultBitSize`.\n:::\n", "example": {"_type": "literalExpression", "text": "{ nginx.bits = 3072; }"}, "loc": ["security", "dhparams", "params"], "readOnly": false, "type": "attribute set of ((submodule) or signed integer convertible to it)"}, "security.dhparams.params.<name>.bits": {"declarations": ["nixos/modules/security/dhparams.nix"], "default": {"_type": "literalExpression", "text": "config.security.dhparams.defaultBitSize"}, "description": "The bit size for the prime that is used during a Diffie-Hellman\nkey exchange.\n", "loc": ["security", "dhparams", "params", "<name>", "bits"], "readOnly": false, "type": "integer of at least 16 bits"}, "security.dhparams.params.<name>.path": {"declarations": ["nixos/modules/security/dhparams.nix"], "description": "The resulting path of the generated Diffie-Hellman parameters\nfile for other services to reference. This could be either a\nstore path or a file inside the directory specified by\n{option}`security.dhparams.path`.\n", "loc": ["security", "dhparams", "params", "<name>", "path"], "readOnly": true, "type": "absolute path"}, "security.dhparams.path": {"declarations": ["nixos/modules/security/dhparams.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dhparams\""}, "description": "Path to the directory in which Diffie-Hellman parameters will be\nstored. This only is relevant if\n{option}`security.dhparams.stateful` is\n`true`.\n", "loc": ["security", "dhparams", "path"], "readOnly": false, "type": "string"}, "security.dhparams.stateful": {"declarations": ["nixos/modules/security/dhparams.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether generation of Diffie-Hellman parameters should be stateful or\nnot. If this is enabled, PEM-encoded files for Diffie-Hellman\nparameters are placed in the directory specified by\n{option}`security.dhparams.path`. Otherwise the files are\ncreated within the Nix store.\n\n::: {.note}\nIf this is `false` the resulting store\npath will be non-deterministic and will be rebuilt every time the\n`openssl` package changes.\n:::\n", "loc": ["security", "dhparams", "stateful"], "readOnly": false, "type": "boolean"}, "security.doas.enable": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the {command}`doas` command, which allows\nnon-root users to execute commands as root.\n", "loc": ["security", "doas", "enable"], "readOnly": false, "type": "boolean"}, "security.doas.extraConfig": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration text appended to {file}`doas.conf`. Be aware that\nthis option cannot be used to override the behaviour allowing\npasswordless operation for root.\n", "loc": ["security", "doas", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.doas.extraRules": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Define specific rules to be set in the\n{file}`/etc/doas.conf` file. More specific rules should\ncome after more general ones in order to yield the expected behavior.\nYou can use `mkBefore` and/or `mkAfter` to ensure\nthis is the case when configuration options are merged. Be aware that\nthis option cannot be used to override the behaviour allowing\npasswordless operation for root.\n", "example": {"_type": "literalExpression", "text": "[\n  # Allow execution of any command by any user in group doas, requiring\n  # a password and keeping any previously-defined environment variables.\n  { groups = [ \"doas\" ]; noPass = false; keepEnv = true; }\n\n  # Allow execution of \"/home/root/secret.sh\" by user `backup` OR user\n  # `database` OR any member of the group with GID `1006`, without a\n  # password.\n  { users = [ \"backup\" \"database\" ]; groups = [ 1006 ];\n    cmd = \"/home/root/secret.sh\"; noPass = true; }\n\n  # Allow any member of group `bar` to run `/home/baz/cmd1.sh` as user\n  # `foo` with argument `hello-doas`.\n  { groups = [ \"bar\" ]; runAs = \"foo\";\n    cmd = \"/home/baz/cmd1.sh\"; args = [ \"hello-doas\" ]; }\n\n  # Allow any member of group `bar` to run `/home/baz/cmd2.sh` as user\n  # `foo` with no arguments.\n  { groups = [ \"bar\" ]; runAs = \"foo\";\n    cmd = \"/home/baz/cmd2.sh\"; args = [ ]; }\n\n  # Allow user `abusers` to execute \"nano\" and unset the value of\n  # SSH_AUTH_SOCK, override the value of ALPHA to 1, and inherit the\n  # value of BETA from the current environment.\n  { users = [ \"abusers\" ]; cmd = \"nano\";\n    setEnv = [ \"-SSH_AUTH_SOCK\" \"ALPHA=1\" \"BETA\" ]; }\n]\n"}, "loc": ["security", "doas", "extraRules"], "readOnly": false, "type": "list of (submodule)"}, "security.doas.extraRules.*.args": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Arguments that must be provided to the command. When set to\n`[]`, the command must be run without any arguments.\n", "loc": ["security", "doas", "extraRules", "*", "args"], "readOnly": false, "type": "null or (list of string)"}, "security.doas.extraRules.*.cmd": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The command the user is allowed to run. When set to\n`null` (the default), all commands are allowed.\n\nNOTE: It is best practice to specify absolute paths. If a\nrelative path is specified, only a restricted PATH will be\nsearched.\n", "loc": ["security", "doas", "extraRules", "*", "cmd"], "readOnly": false, "type": "null or string"}, "security.doas.extraRules.*.groups": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The groups / GIDs this rule should apply for.", "loc": ["security", "doas", "extraRules", "*", "groups"], "readOnly": false, "type": "list of (string or signed integer)"}, "security.doas.extraRules.*.keepEnv": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If `true`, environment variables other than those\nlisted in\n{manpage}`doas(1)`\nare kept when creating the environment for the new process.\n", "loc": ["security", "doas", "extraRules", "*", "keepEnv"], "readOnly": false, "type": "boolean"}, "security.doas.extraRules.*.noLog": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If `true`, successful executions will not be logged\nto\n{manpage}`syslogd(8)`.\n", "loc": ["security", "doas", "extraRules", "*", "noLog"], "readOnly": false, "type": "boolean"}, "security.doas.extraRules.*.noPass": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If `true`, the user is not required to enter a\npassword.\n", "loc": ["security", "doas", "extraRules", "*", "noPass"], "readOnly": false, "type": "boolean"}, "security.doas.extraRules.*.persist": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If `true`, do not ask for a password again for some\ntime after the user successfully authenticates.\n", "loc": ["security", "doas", "extraRules", "*", "persist"], "readOnly": false, "type": "boolean"}, "security.doas.extraRules.*.runAs": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Which user or group the specified command is allowed to run as.\nWhen set to `null` (the default), all users are\nallowed.\n\nA user can be specified using just the username:\n`\"foo\"`. It is also possible to only allow running as\na specific group with `\":bar\"`.\n", "loc": ["security", "doas", "extraRules", "*", "runAs"], "readOnly": false, "type": "null or string"}, "security.doas.extraRules.*.setEnv": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Keep or set the specified variables. Variables may also be\nremoved with a leading '-' or set using\n`variable=value`. If the first character of\n`value` is a '$', the value to be set is taken from\nthe existing environment variable of the indicated name. This\noption is processed after the default environment has been\ncreated.\n\nNOTE: All rules have `setenv { SSH_AUTH_SOCK }` by\ndefault. To prevent `SSH_AUTH_SOCK` from being\ninherited, add `\"-SSH_AUTH_SOCK\"` anywhere in this\nlist.\n", "loc": ["security", "doas", "extraRules", "*", "setEnv"], "readOnly": false, "type": "list of string"}, "security.doas.extraRules.*.users": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The usernames / UIDs this rule should apply for.", "loc": ["security", "doas", "extraRules", "*", "users"], "readOnly": false, "type": "list of (string or signed integer)"}, "security.doas.package": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "pkgs.doas"}, "description": "The doas package to use.", "loc": ["security", "doas", "package"], "readOnly": false, "type": "package"}, "security.doas.wheelNeedsPassword": {"declarations": ["nixos/modules/security/doas.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether users of the `wheel` group must provide a password to\nrun commands as super user via {command}`doas`.\n", "loc": ["security", "doas", "wheelNeedsPassword"], "readOnly": false, "type": "boolean"}, "security.duosec.acceptEnvFactor": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Look for factor selection or passcode in the\n`$DUO_PASSCODE` environment variable before\nprompting the user for input.\n\nWhen $DUO_PASSCODE is non-empty, it will override\nautopush. The SSH client will need SendEnv DUO_PASSCODE in\nits configuration, and the SSH server will similarly need\nAcceptEnv DUO_PASSCODE.\n", "loc": ["security", "duosec", "acceptEnvFactor"], "readOnly": false, "type": "boolean"}, "security.duosec.allowTcpForwarding": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "By default, when SSH forwarding, enabling Duo Security will\ndisable TCP forwarding. By enabling this, you potentially\nundermine some of the SSH based login security. Note this is\nnot needed if you use PAM.\n", "loc": ["security", "duosec", "allowTcpForwarding"], "readOnly": false, "type": "boolean"}, "security.duosec.autopush": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If `true`, Duo Unix will automatically send\na push login request to the user\u2019s phone, falling back on a\nphone call if push is unavailable. If\n`false`, the user will be prompted to\nchoose an authentication method. When configured with\n`autopush = yes`, we recommend setting\n`prompts = 1`.\n", "loc": ["security", "duosec", "autopush"], "readOnly": false, "type": "boolean"}, "security.duosec.failmode": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "\"safe\""}, "description": "On service or configuration errors that prevent Duo\nauthentication, fail \"safe\" (allow access) or \"secure\" (deny\naccess). The default is \"safe\".\n", "loc": ["security", "duosec", "failmode"], "readOnly": false, "type": "one of \"safe\", \"secure\""}, "security.duosec.fallbackLocalIP": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Duo Unix reports the IP address of the authorizing user, for\nthe purposes of authorization and whitelisting. If Duo Unix\ncannot detect the IP address of the client, setting\n`fallbackLocalIP = yes` will cause Duo Unix\nto send the IP address of the server it is running on.\n\nIf you are using IP whitelisting, enabling this option could\ncause unauthorized logins if the local IP is listed in the\nwhitelist.\n", "loc": ["security", "duosec", "fallbackLocalIP"], "readOnly": false, "type": "boolean"}, "security.duosec.groups": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "If specified, Duo authentication is required only for users\nwhose primary group or supplementary group list matches one\nof the space-separated pattern lists. Refer to\n<https://duo.com/docs/duounix> for details.\n", "example": {"_type": "literalExpression", "text": "\"users,!wheel,!*admin guests\""}, "loc": ["security", "duosec", "groups"], "readOnly": false, "type": "string"}, "security.duosec.host": {"declarations": ["nixos/modules/security/duosec.nix"], "description": "Duo API hostname.", "loc": ["security", "duosec", "host"], "readOnly": false, "type": "string"}, "security.duosec.integrationKey": {"declarations": ["nixos/modules/security/duosec.nix"], "description": "Integration key.", "loc": ["security", "duosec", "integrationKey"], "readOnly": false, "type": "string"}, "security.duosec.motd": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Print the contents of `/etc/motd` to screen\nafter a successful login.\n", "loc": ["security", "duosec", "motd"], "readOnly": false, "type": "boolean"}, "security.duosec.pam.enable": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, protect logins with Duo Security using PAM support.", "loc": ["security", "duosec", "pam", "enable"], "readOnly": false, "type": "boolean"}, "security.duosec.prompts": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "If a user fails to authenticate with a second factor, Duo\nUnix will prompt the user to authenticate again. This option\nsets the maximum number of prompts that Duo Unix will\ndisplay before denying access. Must be 1, 2, or 3. Default\nis 3.\n\nFor example, when `prompts = 1`, the user\nwill have to successfully authenticate on the first prompt,\nwhereas if `prompts = 2`, if the user\nenters incorrect information at the initial prompt, he/she\nwill be prompted to authenticate again.\n\nWhen configured with `autopush = true`, we\nrecommend setting `prompts = 1`.\n", "loc": ["security", "duosec", "prompts"], "readOnly": false, "type": "one of 1, 2, 3"}, "security.duosec.pushinfo": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Include information such as the command to be executed in\nthe Duo Push message.\n", "loc": ["security", "duosec", "pushinfo"], "readOnly": false, "type": "boolean"}, "security.duosec.secretKeyFile": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing your secret key. The security of your Duo application is tied to the security of your secret key.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/duo-skey\""}, "loc": ["security", "duosec", "secretKeyFile"], "readOnly": false, "type": "null or absolute path"}, "security.duosec.ssh.enable": {"declarations": ["nixos/modules/security/duosec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, protect SSH logins with Duo Security.", "loc": ["security", "duosec", "ssh", "enable"], "readOnly": false, "type": "boolean"}, "security.enableWrappers": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable SUID/SGID wrappers.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "enableWrappers"], "readOnly": false, "type": "boolean"}, "security.forcePageTableIsolation": {"declarations": ["nixos/modules/security/misc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to force-enable the Page Table Isolation (PTI) Linux kernel\nfeature even on CPU models that claim to be safe from Meltdown.\n\nThis hardening feature is most beneficial to systems that run untrusted\nworkloads that rely on address space isolation for security.\n", "loc": ["security", "forcePageTableIsolation"], "readOnly": false, "type": "boolean"}, "security.googleOsLogin.enable": {"declarations": ["nixos/modules/security/google_oslogin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Google OS Login.\n\nThe OS Login package enables the following components:\nAuthorizedKeysCommand to query valid SSH keys from the user's OS Login\nprofile during ssh authentication phase.\nNSS Module to provide user and group information\nPAM Module for the sshd service, providing authorization and\nauthentication support, allowing the system to use data stored in\nGoogle Cloud IAM permissions to control both, the ability to log into\nan instance, and to perform operations as root (sudo).\n", "loc": ["security", "googleOsLogin", "enable"], "readOnly": false, "type": "boolean"}, "security.ipa.basedn": {"declarations": ["nixos/modules/security/ipa.nix"], "description": "Base DN to use when performing LDAP operations.", "example": {"_type": "literalExpression", "text": "\"dc=example,dc=com\""}, "loc": ["security", "ipa", "basedn"], "readOnly": false, "type": "string"}, "security.ipa.cacheCredentials": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to cache credentials.", "loc": ["security", "ipa", "cacheCredentials"], "readOnly": false, "type": "boolean"}, "security.ipa.certificate": {"declarations": ["nixos/modules/security/ipa.nix"], "description": "IPA server CA certificate.\n\nUse `nix-prefetch-url http://$server/ipa/config/ca.crt` to\nobtain the file and the hash.\n", "example": {"_type": "literalExpression", "text": "pkgs.fetchurl {\n  url = \"http://ipa.example.com/ipa/config/ca.crt\";\n  hash = lib.fakeHash;\n};\n"}, "loc": ["security", "ipa", "certificate"], "readOnly": false, "type": "package"}, "security.ipa.chromiumSupport": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to whitelist the FreeIPA domain in Chromium.", "loc": ["security", "ipa", "chromiumSupport"], "readOnly": false, "type": "boolean"}, "security.ipa.domain": {"declarations": ["nixos/modules/security/ipa.nix"], "description": "Domain of the IPA server.", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["security", "ipa", "domain"], "readOnly": false, "type": "string"}, "security.ipa.dyndns.enable": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable FreeIPA automatic hostname updates.", "loc": ["security", "ipa", "dyndns", "enable"], "readOnly": false, "type": "boolean"}, "security.ipa.dyndns.interface": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "Network interface to perform hostname updates through.", "example": {"_type": "literalExpression", "text": "\"eth0\""}, "loc": ["security", "ipa", "dyndns", "interface"], "readOnly": false, "type": "string"}, "security.ipa.enable": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FreeIPA domain integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "ipa", "enable"], "readOnly": false, "type": "boolean"}, "security.ipa.ifpAllowedUids": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"root\"\n]"}, "description": "A list of users allowed to access the ifp dbus interface.", "loc": ["security", "ipa", "ifpAllowedUids"], "readOnly": false, "type": "list of string"}, "security.ipa.ipaHostname": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "if config.networking.domain != null then config.networking.fqdn\nelse \"${networking.hostName}.${security.ipa.domain}\"\n"}, "description": "Fully-qualified hostname used to identify this host in the IPA domain.", "example": {"_type": "literalExpression", "text": "\"myworkstation.example.com\""}, "loc": ["security", "ipa", "ipaHostname"], "readOnly": false, "type": "string"}, "security.ipa.offlinePasswords": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to store offline passwords when the server is down.", "loc": ["security", "ipa", "offlinePasswords"], "readOnly": false, "type": "boolean"}, "security.ipa.realm": {"declarations": ["nixos/modules/security/ipa.nix"], "description": "Kerberos realm.", "example": {"_type": "literalExpression", "text": "\"EXAMPLE.COM\""}, "loc": ["security", "ipa", "realm"], "readOnly": false, "type": "string"}, "security.ipa.server": {"declarations": ["nixos/modules/security/ipa.nix"], "description": "IPA Server hostname.", "example": {"_type": "literalExpression", "text": "\"ipa.example.com\""}, "loc": ["security", "ipa", "server"], "readOnly": false, "type": "string"}, "security.ipa.shells": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "with pkgs; [ bash zsh ];\n"}, "description": "List of shells which binaries should be installed to /bin/<name>.\n\nFreeIPA typicly configures somesthing like /bin/bash into the users shell attribute.\n", "loc": ["security", "ipa", "shells"], "readOnly": false, "type": "list of package"}, "security.ipa.useAsTimeserver": {"declarations": ["nixos/modules/security/ipa.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add the IPA server to the timeserver.", "loc": ["security", "ipa", "useAsTimeserver"], "readOnly": false, "type": "boolean"}, "security.isolate.boxRoot": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/isolate/boxes\""}, "description": "All sandboxes are created under this directory.\nTo avoid symlink attacks, this directory and all its ancestors\nmust be writeable only by root.\n", "loc": ["security", "isolate", "boxRoot"], "readOnly": false, "type": "absolute path"}, "security.isolate.cgRoot": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "\"auto:/run/isolate/cgroup\""}, "description": "Control group which subgroups are placed under.\nEither an explicit path to a subdirectory in cgroupfs, or \"auto:file\" to read\nthe path from \"file\", where it is put by `isolate-cg-helper`.\n", "loc": ["security", "isolate", "cgRoot"], "readOnly": false, "type": "string"}, "security.isolate.enable": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Sandbox for securely executing untrusted programs\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "isolate", "enable"], "readOnly": false, "type": "boolean"}, "security.isolate.extraConfig": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to append to the configuration file.\n", "loc": ["security", "isolate", "extraConfig"], "readOnly": false, "type": "string"}, "security.isolate.firstGid": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "60000"}, "description": "Start of block of GIDs reserved for sandboxes.\n", "loc": ["security", "isolate", "firstGid"], "readOnly": false, "type": "integer or floating point number between 1000 and 65533 (both inclusive)"}, "security.isolate.firstUid": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "60000"}, "description": "Start of block of UIDs reserved for sandboxes.\n", "loc": ["security", "isolate", "firstUid"], "readOnly": false, "type": "integer or floating point number between 1000 and 65533 (both inclusive)"}, "security.isolate.lockRoot": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "\"/run/isolate/locks\""}, "description": "Directory where lock files are created.\n", "loc": ["security", "isolate", "lockRoot"], "readOnly": false, "type": "absolute path"}, "security.isolate.numBoxes": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Number of UIDs and GIDs to reserve, starting from\n{option}`firstUid` and {option}`firstGid`.\n", "loc": ["security", "isolate", "numBoxes"], "readOnly": false, "type": "integer or floating point number between 1000 and 65533 (both inclusive)"}, "security.isolate.package": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "pkgs.isolate-unwrapped"}, "description": "The isolate-unwrapped package to use.", "loc": ["security", "isolate", "package"], "readOnly": false, "type": "package"}, "security.isolate.restrictedInit": {"declarations": ["nixos/modules/security/isolate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, only root can create sandboxes.\n", "loc": ["security", "isolate", "restrictedInit"], "readOnly": false, "type": "boolean"}, "security.krb5.enable": {"declarations": ["nixos/modules/security/krb5"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable and configure Kerberos utilities", "loc": ["security", "krb5", "enable"], "readOnly": false, "type": "boolean"}, "security.krb5.package": {"declarations": ["nixos/modules/security/krb5"], "default": {"_type": "literalExpression", "text": "pkgs.krb5"}, "description": "The krb5 package to use.", "example": {"_type": "literalExpression", "text": "heimdal"}, "loc": ["security", "krb5", "package"], "readOnly": false, "type": "package"}, "security.krb5.settings": {"declarations": ["nixos/modules/security/krb5"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Structured contents of the {file}`krb5.conf` file. See\n{manpage}`krb5.conf(5)` for details about configuration.\n", "example": {"_type": "literalExpression", "text": "{\n  domain_realm = {\n    \"mit.edu\" = \"ATHENA.MIT.EDU\";\n  };\n  include = [\n    \"/run/secrets/secret-krb5.conf\"\n  ];\n  includedir = [\n    \"/run/secrets/secret-krb5.conf.d\"\n  ];\n  libdefaults = {\n    default_realm = \"ATHENA.MIT.EDU\";\n  };\n  logging = {\n    admin_server = \"SYSLOG:NOTICE\";\n    default = \"SYSLOG:NOTICE\";\n    kdc = \"SYSLOG:NOTICE\";\n  };\n  realms = {\n    \"ATHENA.MIT.EDU\" = {\n      admin_server = \"athena.mit.edu\";\n      kdc = [\n        \"athena01.mit.edu\"\n        \"athena02.mit.edu\"\n      ];\n    };\n  };\n}"}, "loc": ["security", "krb5", "settings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of ((list of attribute set of ((list of (signed integer or string or boolean)) or signed integer or string or boolean)) or attribute set of ((list of (signed integer or string or boolean)) or signed integer or string or boolean) or (list of (signed integer or string or boolean)) or signed integer or string or boolean)"}, "security.krb5.settings.include": {"declarations": ["nixos/modules/security/krb5"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to include in the Kerberos configuration.\n", "loc": ["security", "krb5", "settings", "include"], "readOnly": false, "type": "(list of absolute path) or absolute path convertible to it"}, "security.krb5.settings.includedir": {"declarations": ["nixos/modules/security/krb5"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Directories containing files to include in the Kerberos configuration.\n", "loc": ["security", "krb5", "settings", "includedir"], "readOnly": false, "type": "(list of absolute path) or absolute path convertible to it"}, "security.krb5.settings.module": {"declarations": ["nixos/modules/security/krb5"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Modules to obtain Kerberos configuration from.\n", "loc": ["security", "krb5", "settings", "module"], "readOnly": false, "type": "(list of absolute path) or absolute path convertible to it"}, "security.lockKernelModules": {"declarations": ["nixos/modules/security/lock-kernel-modules.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable kernel module loading once the system is fully initialised.\nModule loading is disabled until the next reboot. Problems caused\nby delayed module loading can be fixed by adding the module(s) in\nquestion to {option}`boot.kernelModules`.\n", "loc": ["security", "lockKernelModules"], "readOnly": false, "type": "boolean"}, "security.loginDefs.chfnRestrict": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Use chfn SUID to allow non-root users to change their account GECOS information.\n", "loc": ["security", "loginDefs", "chfnRestrict"], "readOnly": false, "type": "null or string"}, "security.loginDefs.package": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "pkgs.shadow"}, "description": "The shadow package to use.", "loc": ["security", "loginDefs", "package"], "readOnly": false, "type": "package"}, "security.loginDefs.settings": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Config options for the /etc/login.defs file, that defines\nthe site-specific configuration for the shadow password suite.\nSee {manpage}`login.defs(5)` man page for available options.\n", "loc": ["security", "loginDefs", "settings"], "readOnly": false, "type": "open submodule of attribute set of (atom (null, bool, int, float or string))"}, "security.loginDefs.settings.DEFAULT_HOME": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "\"yes\""}, "description": "Indicate if login is allowed if we can't cd to the home directory.", "loc": ["security", "loginDefs", "settings", "DEFAULT_HOME"], "readOnly": false, "type": "one of \"yes\", \"no\""}, "security.loginDefs.settings.ENCRYPT_METHOD": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "\"YESCRYPT\""}, "description": "This defines the system default encryption algorithm for encrypting passwords.", "loc": ["security", "loginDefs", "settings", "ENCRYPT_METHOD"], "readOnly": false, "type": "one of \"YESCRYPT\", \"SHA512\", \"SHA256\", \"MD5\", \"DES\""}, "security.loginDefs.settings.GID_MAX": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "29999"}, "description": "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.", "loc": ["security", "loginDefs", "settings", "GID_MAX"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.GID_MIN": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.", "loc": ["security", "loginDefs", "settings", "GID_MIN"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.SYS_GID_MAX": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "999"}, "description": "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers", "loc": ["security", "loginDefs", "settings", "SYS_GID_MAX"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.SYS_GID_MIN": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "400"}, "description": "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers", "loc": ["security", "loginDefs", "settings", "SYS_GID_MIN"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.SYS_UID_MAX": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "999"}, "description": "Range of user IDs used for the creation of system users by useradd or newusers.", "loc": ["security", "loginDefs", "settings", "SYS_UID_MAX"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.SYS_UID_MIN": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "400"}, "description": "Range of user IDs used for the creation of system users by useradd or newusers.", "loc": ["security", "loginDefs", "settings", "SYS_UID_MIN"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.TTYGROUP": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "\"tty\""}, "description": "The terminal permissions: the login tty will be owned by the TTYGROUP group,\nand the permissions will be set to TTYPERM", "loc": ["security", "loginDefs", "settings", "TTYGROUP"], "readOnly": false, "type": "string"}, "security.loginDefs.settings.TTYPERM": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "\"0620\""}, "description": "The terminal permissions: the login tty will be owned by the TTYGROUP group,\nand the permissions will be set to TTYPERM", "loc": ["security", "loginDefs", "settings", "TTYPERM"], "readOnly": false, "type": "string"}, "security.loginDefs.settings.UID_MAX": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "29999"}, "description": "Range of user IDs used for the creation of regular users by useradd or newusers.", "loc": ["security", "loginDefs", "settings", "UID_MAX"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.UID_MIN": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Range of user IDs used for the creation of regular users by useradd or newusers.", "loc": ["security", "loginDefs", "settings", "UID_MIN"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "security.loginDefs.settings.UMASK": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "\"077\""}, "description": "The file mode creation mask is initialized to this value.", "loc": ["security", "loginDefs", "settings", "UMASK"], "readOnly": false, "type": "string"}, "security.lsm": {"declarations": ["nixos/modules/security/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of the LSMs to initialize in order.\n", "loc": ["security", "lsm"], "readOnly": false, "type": "list of string"}, "security.pam.dp9ik.authserver": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This controls the hostname for the 9front authentication server\nthat users will be authenticated against.\n", "loc": ["security", "pam", "dp9ik", "authserver"], "readOnly": false, "type": "null or string"}, "security.pam.dp9ik.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"sufficient\""}, "description": "This option sets the pam \"control\" used for this module.\n", "loc": ["security", "pam", "dp9ik", "control"], "readOnly": false, "type": "string"}, "security.pam.dp9ik.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the dp9ik pam module provided by tlsclient.\n\nIf set, users can be authenticated against the 9front\nauthentication server given in {option}`security.pam.dp9ik.authserver`\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pam", "dp9ik", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.enableFscrypt": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fscrypt, to automatically unlock directories with the user's login password.\n\nThis also enables a service at security.pam.services.fscrypt which is used by\nfscrypt to verify the user's password when setting up a new protector. If you\nuse something other than pam_unix to verify user passwords, please remember to\nadjust this PAM service\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pam", "enableFscrypt"], "readOnly": false, "type": "boolean"}, "security.pam.enableOTPW": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the OTPW (one-time password) PAM module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pam", "enableOTPW"], "readOnly": false, "type": "boolean"}, "security.pam.enableUMask": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the umask PAM module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pam", "enableUMask"], "readOnly": false, "type": "boolean"}, "security.pam.howdy.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.services.howdy.control"}, "description": "This option sets the PAM \"control\" used for this module.\n", "loc": ["security", "pam", "howdy", "control"], "readOnly": false, "type": "string"}, "security.pam.howdy.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.services.howdy.enable"}, "description": "Whether to enable the Howdy PAM module.\n\nIf set, users can be authenticated using Howdy, the Windows\nHello\u2122-style facial authentication service.\n", "loc": ["security", "pam", "howdy", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.krb5.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.krb5.enable"}, "description": "Enables Kerberos PAM modules (`pam-krb5`,\n`pam-ccreds`).\n\nIf set, users can authenticate with their Kerberos password.\nThis requires a valid Kerberos configuration\n(`security.krb5.enable` should be set to `true`).\n\nNote that the Kerberos PAM modules are not necessary when using SSS\nto handle Kerberos authentication.\n", "loc": ["security", "pam", "krb5", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.loginLimits": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Define resource limits that should apply to users or groups.\nEach item in the list should be an attribute set with a\n{var}`domain`, {var}`type`,\n{var}`item`, and {var}`value`\nattribute.  The syntax and semantics of these attributes\nmust be that described in {manpage}`limits.conf(5)`.\n\nNote that these limits do not apply to systemd services,\nwhose limits can be changed via {option}`systemd.settings.Manager`\ninstead.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    domain = \"ftp\";\n    item = \"nproc\";\n    type = \"hard\";\n    value = \"0\";\n  }\n  {\n    domain = \"@student\";\n    item = \"maxlogins\";\n    type = \"-\";\n    value = \"4\";\n  }\n]"}, "loc": ["security", "pam", "loginLimits"], "readOnly": false, "type": "list of (submodule)"}, "security.pam.loginLimits.*.domain": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Username, groupname, or wildcard this limit applies to", "example": {"_type": "literalExpression", "text": "\"@wheel\""}, "loc": ["security", "pam", "loginLimits", "*", "domain"], "readOnly": false, "type": "string"}, "security.pam.loginLimits.*.item": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Item this limit applies to", "loc": ["security", "pam", "loginLimits", "*", "item"], "readOnly": false, "type": "one of \"core\", \"data\", \"fsize\", \"memlock\", \"nofile\", \"rss\", \"stack\", \"cpu\", \"nproc\", \"as\", \"maxlogins\", \"maxsyslogins\", \"priority\", \"locks\", \"sigpending\", \"msgqueue\", \"nice\", \"rtprio\""}, "security.pam.loginLimits.*.type": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"-\""}, "description": "Type of this limit", "loc": ["security", "pam", "loginLimits", "*", "type"], "readOnly": false, "type": "one of \"-\", \"hard\", \"soft\""}, "security.pam.loginLimits.*.value": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Value of this limit", "loc": ["security", "pam", "loginLimits", "*", "value"], "readOnly": false, "type": "string or signed integer"}, "security.pam.makeHomeDir.skelDirectory": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"/var/empty\""}, "description": "Path to skeleton directory whose contents are copied to home\ndirectories newly created by `pam_mkhomedir`.\n", "example": {"_type": "literalExpression", "text": "\"/etc/skel\""}, "loc": ["security", "pam", "makeHomeDir", "skelDirectory"], "readOnly": false, "type": "string"}, "security.pam.makeHomeDir.umask": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"0077\""}, "description": "The user file mode creation mask to use on home directories\nnewly created by `pam_mkhomedir`.\n", "example": {"_type": "literalExpression", "text": "\"0022\""}, "loc": ["security", "pam", "makeHomeDir", "umask"], "readOnly": false, "type": "string"}, "security.pam.mount.additionalSearchPaths": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional programs to include in the search path of pam_mount.\nUseful for example if you want to use some FUSE filesystems like bindfs.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.bindfs ]"}, "loc": ["security", "pam", "mount", "additionalSearchPaths"], "readOnly": false, "type": "list of package"}, "security.pam.mount.createMountPoints": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create mountpoints for volumes if they do not exist.\n", "loc": ["security", "pam", "mount", "createMountPoints"], "readOnly": false, "type": "boolean"}, "security.pam.mount.cryptMountOptions": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Global mount options that apply to every crypt volume.\nYou can define volume-specific options in the volume definitions.\n", "example": {"_type": "literalExpression", "text": "[ \"allow_discard\" ]\n"}, "loc": ["security", "pam", "mount", "cryptMountOptions"], "readOnly": false, "type": "list of string"}, "security.pam.mount.debugLevel": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Sets the Debug-Level. 0 disables debugging, 1 enables pam_mount tracing,\nand 2 additionally enables tracing in mount.crypt. The default is 0.\nFor more information, visit <https://pam-mount.sourceforge.net/pam_mount.conf.5.html>.\n", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["security", "pam", "mount", "debugLevel"], "readOnly": false, "type": "signed integer"}, "security.pam.mount.enable": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PAM mount system to mount filesystems on user login.\n", "loc": ["security", "pam", "mount", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.mount.extraVolumes": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of volume definitions for pam_mount.\nFor more information, visit <https://pam-mount.sourceforge.net/pam_mount.conf.5.html>.\n", "loc": ["security", "pam", "mount", "extraVolumes"], "readOnly": false, "type": "list of string"}, "security.pam.mount.fuseMountOptions": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Global mount options that apply to every FUSE volume.\nYou can define volume-specific options in the volume definitions.\n", "example": {"_type": "literalExpression", "text": "[ \"nodev\" \"nosuid\" \"force-user=%(USER)\" \"gid=%(USERGID)\" \"perms=0700\" \"chmod-deny\" \"chown-deny\" \"chgrp-deny\" ]\n"}, "loc": ["security", "pam", "mount", "fuseMountOptions"], "readOnly": false, "type": "list of string"}, "security.pam.mount.logoutHup": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Kill remaining processes after logout by sending a SIGHUP.\n", "loc": ["security", "pam", "mount", "logoutHup"], "readOnly": false, "type": "boolean"}, "security.pam.mount.logoutKill": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Kill remaining processes after logout by sending a SIGKILL.\n", "loc": ["security", "pam", "mount", "logoutKill"], "readOnly": false, "type": "boolean"}, "security.pam.mount.logoutTerm": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Kill remaining processes after logout by sending a SIGTERM.\n", "loc": ["security", "pam", "mount", "logoutTerm"], "readOnly": false, "type": "boolean"}, "security.pam.mount.logoutWait": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Amount of microseconds to wait until killing remaining processes after\nfinal logout.\nFor more information, visit <https://pam-mount.sourceforge.net/pam_mount.conf.5.html>.\n", "loc": ["security", "pam", "mount", "logoutWait"], "readOnly": false, "type": "signed integer"}, "security.pam.mount.removeCreatedMountPoints": {"declarations": ["nixos/modules/security/pam_mount.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Remove mountpoints created by pam_mount after logout. This\nonly affects mountpoints that have been created by pam_mount\nin the same session.\n", "loc": ["security", "pam", "mount", "removeCreatedMountPoints"], "readOnly": false, "type": "boolean"}, "security.pam.oath.digits": {"declarations": ["nixos/modules/security/oath.nix"], "default": {"_type": "literalExpression", "text": "6"}, "description": "Specify the lib.length of the one-time password in number of\ndigits.\n", "loc": ["security", "pam", "oath", "digits"], "readOnly": false, "type": "one of 6, 7, 8"}, "security.pam.oath.enable": {"declarations": ["nixos/modules/security/oath.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the OATH (one-time password) PAM module.\n", "loc": ["security", "pam", "oath", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.oath.usersFile": {"declarations": ["nixos/modules/security/oath.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/users.oath\""}, "description": "Set the path to file where the user's credentials are\nstored. This file must not be world readable!\n", "loc": ["security", "pam", "oath", "usersFile"], "readOnly": false, "type": "absolute path"}, "security.pam.oath.window": {"declarations": ["nixos/modules/security/oath.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Specify the number of one-time passwords to check in order\nto accommodate for situations where the system and the\nclient are slightly out of sync (iteration for HOTP or time\nsteps for TOTP).\n", "loc": ["security", "pam", "oath", "window"], "readOnly": false, "type": "signed integer"}, "security.pam.p11.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"sufficient\""}, "description": "This option sets pam \"control\".\nIf you want to have multi factor authentication, use \"required\".\nIf you want to use the PKCS#11 device instead of the regular password,\nuse \"sufficient\".\n\nRead\n{manpage}`pam.conf(5)`\nfor better understanding of this option.\n", "loc": ["security", "pam", "p11", "control"], "readOnly": false, "type": "one of \"required\", \"requisite\", \"sufficient\", \"optional\""}, "security.pam.p11.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables P11 PAM (`pam_p11`) module.\n\nIf set, users can log in with SSH keys and PKCS#11 tokens.\n\nMore information can be found [here](https://github.com/OpenSC/pam_p11).\n", "loc": ["security", "pam", "p11", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.package": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "pkgs.pam"}, "description": "The pam package to use.", "loc": ["security", "pam", "package"], "readOnly": false, "type": "package"}, "security.pam.rssh.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable authenticating using a signature performed by the ssh-agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pam", "rssh", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.rssh.settings": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options to pass to the pam_rssh module. Refer to\n<https://github.com/z4yx/pam_rssh/blob/main/README.md#optional-arguments>\nfor supported values.\n\nBoolean values render just the key if true, and nothing if false.\nNull values are ignored.\nAll other values are rendered as key-value pairs.\n\n", "loc": ["security", "pam", "rssh", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or boolean or string or signed integer or path in the Nix store)"}, "security.pam.rssh.settings.auth_key_file": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/ssh/authorized_keys.d/$ruser\""}, "description": "Path to file with trusted public keys in OpenSSH's `authorized_keys` format. The following\nvariables are expanded to the respective PAM items:\n\n- `service`: `PAM_SERVICE`, the service name,\n- `user`: `PAM_USER`, the username of the entity under whose identity service will be given,\n- `tty`: `PAM_TTY`, the terminal name,\n- `rhost`: `PAM_RHOST`, the requesting hostname, and\n- `ruser`: `PAM_RUSER`, the requesting entity.\n\nThese PAM items are explained in {manpage}`pam_get_item(3)`.\n\nVariables may be specified as `$var`, `${var}` or `${var:defaultValue}`.\n\n::: {.note}\nSpecifying user-writeable files here results in an insecure configuration: a malicious process\ncan then edit such an `authorized_keys` file and bypass the ssh-agent-based authentication.\n\nThis option is ignored if {option}`security.pam.rssh.settings.authorized_keys_command` is set.\n\nIf both this option and {option}`security.pam.rssh.settings.authorized_keys_command` are unset,\nthe keys will be read from `${HOME}/.ssh/authorized_keys`, which should be considered\ninsecure.\n", "loc": ["security", "pam", "rssh", "settings", "auth_key_file"], "readOnly": false, "type": "null or non-empty string"}, "security.pam.services": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option defines the PAM services.  A service typically\ncorresponds to a program that uses PAM,\ne.g. {command}`login` or {command}`passwd`.\nEach attribute of this set defines a PAM service, with the attribute name\ndefining the name of the service.\n", "loc": ["security", "pam", "services"], "readOnly": false, "type": "attribute set of (submodule)"}, "security.pam.services.<name>.allowNullPassword": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow logging into accounts that have no password\nset (i.e., have an empty password field in\n{file}`/etc/passwd` or\n{file}`/etc/group`).  This does not enable\nlogging into disabled accounts (i.e., that have the password\nfield set to `!`).  Note that regardless of\nwhat the pam_unix documentation says, accounts with hashed\nempty passwords are always allowed to log in.\n", "loc": ["security", "pam", "services", "<name>", "allowNullPassword"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.duoSecurity.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, use the Duo Security pam module\n`pam_duo` for authentication.  Requires\nconfiguration of {option}`security.duosec` options.\n", "loc": ["security", "pam", "services", "<name>", "duoSecurity", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this PAM service.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["security", "pam", "services", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.enableAppArmor": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable support for attaching AppArmor profiles at the\nuser/group level, e.g., as part of a role based access\ncontrol scheme.\n", "loc": ["security", "pam", "services", "<name>", "enableAppArmor"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.enableGnomeKeyring": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, pam_gnome_keyring will attempt to automatically unlock the\nuser's default Gnome keyring upon login. If the user login password does\nnot match their keyring password, Gnome Keyring will prompt separately\nafter login.\n", "loc": ["security", "pam", "services", "<name>", "enableGnomeKeyring"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.enableUMask": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.enableUMask"}, "description": "If enabled, the pam_umask module will be loaded.", "loc": ["security", "pam", "services", "<name>", "enableUMask"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.failDelay.delay": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "3000000"}, "description": "The delay time (in microseconds) on failure.", "example": {"_type": "literalExpression", "text": "1000000"}, "loc": ["security", "pam", "services", "<name>", "failDelay", "delay"], "readOnly": false, "type": "signed integer"}, "security.pam.services.<name>.failDelay.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, this will replace the `FAIL_DELAY` setting from `login.defs`.\nChange the delay on failure per-application.\n", "loc": ["security", "pam", "services", "<name>", "failDelay", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.forwardXAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether X authentication keys should be passed from the\ncalling user to the target user (e.g. for\n{command}`su`)\n", "loc": ["security", "pam", "services", "<name>", "forwardXAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.fprintAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.services.fprintd.enable"}, "description": "If set, fingerprint reader will be used (if exists and\nyour fingerprints are enrolled).\n", "loc": ["security", "pam", "services", "<name>", "fprintAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.gnupg.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, pam_gnupg will attempt to automatically unlock the\nuser's GPG keys with the login password via\n{command}`gpg-agent`. The keygrips of all keys to be\nunlocked should be written to {file}`~/.pam-gnupg`,\nand can be queried with {command}`gpg -K --with-keygrip`.\nPresetting passphrases must be enabled by adding\n`allow-preset-passphrase` in\n{file}`~/.gnupg/gpg-agent.conf`.\n", "loc": ["security", "pam", "services", "<name>", "gnupg", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.gnupg.noAutostart": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Don't start {command}`gpg-agent` if it is not running.\nUseful in conjunction with starting {command}`gpg-agent` as\na systemd user service.\n", "loc": ["security", "pam", "services", "<name>", "gnupg", "noAutostart"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.gnupg.storeOnly": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Don't send the password immediately after login, but store for PAM\n`session`.\n", "loc": ["security", "pam", "services", "<name>", "gnupg", "storeOnly"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.googleAuthenticator.allowNullOTP": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow login for accounts that have no OTP set\n(i.e., accounts with no OTP configured or no existing\n{file}`~/.google_authenticator`).\n", "loc": ["security", "pam", "services", "<name>", "googleAuthenticator", "allowNullOTP"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.googleAuthenticator.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, users with enabled Google Authenticator (created\n{file}`~/.google_authenticator`) will be required\nto provide Google Authenticator token to log in.\n", "loc": ["security", "pam", "services", "<name>", "googleAuthenticator", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.googleAuthenticator.forwardPass": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "The authentication provides a single field requiring\nthe user's password followed by the one-time password (OTP).\n", "loc": ["security", "pam", "services", "<name>", "googleAuthenticator", "forwardPass"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.googleOsLoginAccountVerification": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, will use the Google OS Login PAM modules\n(`pam_oslogin_login`,\n`pam_oslogin_admin`) to verify possible OS Login\nusers and set sudoers configuration accordingly.\nThis only makes sense to enable for the `sshd` PAM\nservice.\n", "loc": ["security", "pam", "services", "<name>", "googleOsLoginAccountVerification"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.googleOsLoginAuthentication": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, will use the `pam_oslogin_login`'s user\nauthentication methods to authenticate users using 2FA.\nThis only makes sense to enable for the `sshd` PAM\nservice.\n", "loc": ["security", "pam", "services", "<name>", "googleOsLoginAuthentication"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.howdy.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.howdy.control"}, "description": "This option sets the PAM \"control\" used for this module.\n", "loc": ["security", "pam", "services", "<name>", "howdy", "control"], "readOnly": false, "type": "string"}, "security.pam.services.<name>.howdy.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.howdy.enable"}, "description": "Whether to enable the Howdy PAM module.\n\nIf set, users can be authenticated using Howdy, the Windows\nHello\u2122-style facial authentication service.\n", "loc": ["security", "pam", "services", "<name>", "howdy", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.kwallet.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, pam_wallet will attempt to automatically unlock the\nuser's default KDE wallet upon login. If the user has no wallet named\n\"kdewallet\", or the login password does not match their wallet\npassword, KDE will prompt separately after login.\n", "loc": ["security", "pam", "services", "<name>", "kwallet", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.kwallet.forceRun": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "The `force_run` option is used to tell the PAM module for KWallet\nto forcefully run even if no graphical session (such as a GUI\ndisplay manager) is detected. This is useful for when you are\nstarting an X Session or a Wayland Session from a TTY. If you\nintend to log-in from a TTY, it is recommended that you enable\nthis option **and** ensure that `plasma-kwallet-pam.service` is\nstarted by `graphical-session.target`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pam", "services", "<name>", "kwallet", "forceRun"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.kwallet.package": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kdePackages.kwallet-pam"}, "description": "The kwallet-pam package to use.", "loc": ["security", "pam", "services", "<name>", "kwallet", "package"], "readOnly": false, "type": "package"}, "security.pam.services.<name>.lastlog.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to update {file}`/var/log/wtmp`.", "loc": ["security", "pam", "services", "<name>", "lastlog", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.lastlog.silent": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to suppress the message showing the last login date.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["security", "pam", "services", "<name>", "lastlog", "silent"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.limits": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Attribute set describing resource limits.  Defaults to the\nvalue of {option}`security.pam.loginLimits`.\nThe meaning of the values is explained in {manpage}`limits.conf(5)`.\n", "loc": ["security", "pam", "services", "<name>", "limits"], "readOnly": false, "type": "list of (submodule)"}, "security.pam.services.<name>.limits.*.domain": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Username, groupname, or wildcard this limit applies to", "example": {"_type": "literalExpression", "text": "\"@wheel\""}, "loc": ["security", "pam", "services", "<name>", "limits", "*", "domain"], "readOnly": false, "type": "string"}, "security.pam.services.<name>.limits.*.item": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Item this limit applies to", "loc": ["security", "pam", "services", "<name>", "limits", "*", "item"], "readOnly": false, "type": "one of \"core\", \"data\", \"fsize\", \"memlock\", \"nofile\", \"rss\", \"stack\", \"cpu\", \"nproc\", \"as\", \"maxlogins\", \"maxsyslogins\", \"priority\", \"locks\", \"sigpending\", \"msgqueue\", \"nice\", \"rtprio\""}, "security.pam.services.<name>.limits.*.type": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"-\""}, "description": "Type of this limit", "loc": ["security", "pam", "services", "<name>", "limits", "*", "type"], "readOnly": false, "type": "one of \"-\", \"hard\", \"soft\""}, "security.pam.services.<name>.limits.*.value": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Value of this limit", "loc": ["security", "pam", "services", "<name>", "limits", "*", "value"], "readOnly": false, "type": "string or signed integer"}, "security.pam.services.<name>.logFailures": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to log authentication failures in {file}`/var/log/faillog`.", "loc": ["security", "pam", "services", "<name>", "logFailures"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.makeHomeDir": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to try to create home directories for users\nwith `$HOME`s pointing to nonexistent\nlocations on session login.\n", "loc": ["security", "pam", "services", "<name>", "makeHomeDir"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.mysqlAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.users.mysql.enable"}, "description": "If set, the `pam_mysql` module will be used to\nauthenticate users against a MySQL/MariaDB database.\n", "loc": ["security", "pam", "services", "<name>", "mysqlAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.name": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Name of the PAM service.", "example": {"_type": "literalExpression", "text": "\"sshd\""}, "loc": ["security", "pam", "services", "<name>", "name"], "readOnly": false, "type": "string"}, "security.pam.services.<name>.nodelay": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the delay after typing a wrong password should be disabled.\n", "loc": ["security", "pam", "services", "<name>", "nodelay"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.oathAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.oath.enable"}, "description": "If set, the OATH Toolkit will be used.\n", "loc": ["security", "pam", "services", "<name>", "oathAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.otpwAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.enableOTPW"}, "description": "If set, the OTPW system will be used (if\n{file}`~/.otpw` exists).\n", "loc": ["security", "pam", "services", "<name>", "otpwAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.p11Auth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.p11.enable"}, "description": "If set, keys listed in\n{file}`~/.ssh/authorized_keys` and\n{file}`~/.eid/authorized_certificates`\ncan be used to log in with the associated PKCS#11 tokens.\n", "loc": ["security", "pam", "services", "<name>", "p11Auth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.pamMount": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.mount.enable"}, "description": "Enable PAM mount (pam_mount) system to mount filesystems on user login.\n", "loc": ["security", "pam", "services", "<name>", "pamMount"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.requireWheel": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to permit root access only to members of group wheel.\n", "loc": ["security", "pam", "services", "<name>", "requireWheel"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.rootOK": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, root doesn't need to authenticate (e.g. for the\n{command}`useradd` service).\n", "loc": ["security", "pam", "services", "<name>", "rootOK"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.rssh": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, the calling user's SSH agent is used to authenticate\nagainst the configured keys. This module works in a manner\nsimilar to pam_ssh_agent_auth, but supports a wider range\nof SSH key types, including those protected by security\nkeys (FIDO2).\n", "loc": ["security", "pam", "services", "<name>", "rssh"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.setEnvironment": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the service should set the environment variables\nlisted in {option}`environment.sessionVariables`\nusing `pam_env.so`.\n", "loc": ["security", "pam", "services", "<name>", "setEnvironment"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.setLoginUid": {"declarations": ["nixos/modules/security/pam.nix"], "description": "Set the login uid of the process\n({file}`/proc/self/loginuid`) for auditing\npurposes.  The login uid is only set by \u2018entry points\u2019 like\n{command}`login` and {command}`sshd`, not by\ncommands like {command}`sudo`.\n", "loc": ["security", "pam", "services", "<name>", "setLoginUid"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.showMotd": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to show the message of the day.", "loc": ["security", "pam", "services", "<name>", "showMotd"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.slurm.adopt.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, it prevents users from logging into nodes if they have no jobs\nin the node. It also tracks any other spawned processes for accounting\nand ensures complete job cleanup when a job is completed for any\nsuccessful connection. Spawned processes get \"adopted\" as external\nsteps into the current job. As such, those steps get integrated with\nSlurm accounting and control group facilities.\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.slurm.adopt.settings": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "{\n  service = \"\u2039name\u203a\";\n}"}, "description": "Slurm Adopt Settings. More information is available at:\n  - https://slurm.schedmd.com/pam_slurm_adopt.html\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or boolean or string or signed integer or path in the Nix store)"}, "security.pam.services.<name>.slurm.adopt.settings.action_adopt_failure": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"deny\""}, "description": "What to do if the process is unable to be adopted into a job.\n`allow` matches the upstream default which is only really\nsuitable for testing; production systems will want `deny`\nas a default.\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings", "action_adopt_failure"], "readOnly": false, "type": "one of \"allow\", \"deny\""}, "security.pam.services.<name>.slurm.adopt.settings.action_generic_failure": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"ignore\""}, "description": "Catch all for failures related to kernel issues or slurmd\naccess. Ignore falls through to the next PAM module, allowing\nthe connection to go through without adoption.\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings", "action_generic_failure"], "readOnly": false, "type": "one of \"ignore\", \"allow\", \"deny\""}, "security.pam.services.<name>.slurm.adopt.settings.action_no_jobs": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"deny\""}, "description": "What to do if no jobs from the user are found, deny or ignore\n(pass along to next PAM module).\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings", "action_no_jobs"], "readOnly": false, "type": "one of \"ignore\", \"deny\""}, "security.pam.services.<name>.slurm.adopt.settings.action_unknown": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"newest\""}, "description": "If the user has jobs, attach them to the newest job. Allow\nthe connection through without adoption.\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings", "action_unknown"], "readOnly": false, "type": "one of \"newest\", \"allow\", \"deny\""}, "security.pam.services.<name>.slurm.adopt.settings.disable_x11": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"0\""}, "description": "Disable or enable x11 sessions. '0' means the adopted connection\nhas Slurm X11 forwarding with DISPLAY overwritten using X11\ntunnel endpoint details.\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings", "disable_x11"], "readOnly": false, "type": "one of \"0\", \"1\""}, "security.pam.services.<name>.slurm.adopt.settings.join_container": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"true\""}, "description": "Attach to a container created by job_container/tmpfs\n", "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings", "join_container"], "readOnly": false, "type": "one of \"true\", \"false\""}, "security.pam.services.<name>.slurm.adopt.settings.nodename": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set this only when the Slurm `NodeName` for this machine\ndiffers from `hostname -s`. If unset, `pam_slurm_adopt`\nuses the host short name.\n", "example": {"_type": "literalExpression", "text": "\"compute-a-01\""}, "loc": ["security", "pam", "services", "<name>", "slurm", "adopt", "settings", "nodename"], "readOnly": false, "type": "null or non-empty string"}, "security.pam.services.<name>.slurm.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, ONLY prevents users from logging into nodes if they have no\njobs in the node. This module is a legacy implementation with\nfunctionality limited to login restrictions.\n", "loc": ["security", "pam", "services", "<name>", "slurm", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.sshAgentAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, the calling user's SSH agent is used to authenticate\nagainst the keys in the calling user's\n{file}`~/.ssh/authorized_keys`.  This is useful\nfor {command}`sudo` on password-less remote systems.\n", "loc": ["security", "pam", "services", "<name>", "sshAgentAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.sssdStrictAccess": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "enforce sssd access control", "loc": ["security", "pam", "services", "<name>", "sssdStrictAccess"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.startSession": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, the service will register a new session with\nsystemd's login manager.  For local sessions, this will give\nthe user access to audio devices, CD-ROM drives.  In the\ndefault PolicyKit configuration, it also allows the user to\nreboot the system.\n", "loc": ["security", "pam", "services", "<name>", "startSession"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.text": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Contents of the PAM service file.", "loc": ["security", "pam", "services", "<name>", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "security.pam.services.<name>.ttyAudit.disablePattern": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "For each user matching one of comma-separated\nglob patterns, disable TTY auditing\n", "loc": ["security", "pam", "services", "<name>", "ttyAudit", "disablePattern"], "readOnly": false, "type": "null or string"}, "security.pam.services.<name>.ttyAudit.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable or disable TTY auditing for specified users\n", "loc": ["security", "pam", "services", "<name>", "ttyAudit", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.ttyAudit.enablePattern": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "For each user matching one of comma-separated\nglob patterns, enable TTY auditing\n", "loc": ["security", "pam", "services", "<name>", "ttyAudit", "enablePattern"], "readOnly": false, "type": "null or string"}, "security.pam.services.<name>.ttyAudit.openOnly": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set the TTY audit flag when opening the session,\nbut do not restore it when closing the session.\nUsing this option is necessary for some services\nthat don't fork() to run the authenticated session,\nsuch as sudo.\n", "loc": ["security", "pam", "services", "<name>", "ttyAudit", "openOnly"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.u2f.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.u2f.control"}, "description": "This option sets pam \"control\".\nIf you want to have multi factor authentication, use \"required\".\nIf you want to use U2F device instead of regular password, use \"sufficient\".\n\nRead\n{manpage}`pam.conf(5)`\nfor better understanding of this option.\n", "loc": ["security", "pam", "services", "<name>", "u2f", "control"], "readOnly": false, "type": "one of \"required\", \"requisite\", \"sufficient\", \"optional\""}, "security.pam.services.<name>.u2f.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.u2f.enable"}, "description": "If set, users listed in\n{file}`$XDG_CONFIG_HOME/Yubico/u2f_keys` (or\n{file}`$HOME/.config/Yubico/u2f_keys` if XDG variable is\nnot set) are able to log in with the associated U2F key. Path can be\nchanged using {option}`security.pam.u2f.authFile` option.\n", "loc": ["security", "pam", "services", "<name>", "u2f", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.unixAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether users can log in with passwords defined in\n{file}`/etc/shadow`.\n", "loc": ["security", "pam", "services", "<name>", "unixAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.usshAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, users with an SSH certificate containing an authorized principal\nin their SSH agent are able to log in. Specific options are controlled\nusing the {option}`security.pam.ussh` options.\n\nNote that the  {option}`security.pam.ussh.enable` must also be\nset for this option to take effect.\n", "loc": ["security", "pam", "services", "<name>", "usshAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.yubicoAuth": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.yubico.enable"}, "description": "If set, users listed in\n{file}`~/.yubico/authorized_yubikeys`\nare able to log in with the associated Yubikey tokens.\n", "loc": ["security", "pam", "services", "<name>", "yubicoAuth"], "readOnly": false, "type": "boolean"}, "security.pam.services.<name>.zfs": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "config.security.pam.zfs.enable"}, "description": "Enable unlocking and mounting of encrypted ZFS home dataset at login.\n", "loc": ["security", "pam", "services", "<name>", "zfs"], "readOnly": false, "type": "boolean"}, "security.pam.sshAgentAuth.authorizedKeysFiles": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/etc/ssh/authorized_keys.d/%u\"\n]"}, "description": "A list of paths to files in OpenSSH's `authorized_keys` format, containing\nthe keys that will be trusted by the `pam_ssh_agent_auth` module.\n\nThe following patterns are expanded when interpreting the path:\n- `%f` and `%H` respectively expand to the fully-qualified and short hostname ;\n- `%u` expands to the username ;\n- `~` or `%h` expands to the user's home directory.\n\n::: {.note}\nSpecifying user-writeable files here result in an insecure configuration:  a malicious process\ncan then edit such an authorized_keys file and bypass the ssh-agent-based authentication.\n\nSee [issue #31611](https://github.com/NixOS/nixpkgs/issues/31611)\n:::\n", "loc": ["security", "pam", "sshAgentAuth", "authorizedKeysFiles"], "readOnly": false, "type": "list of string"}, "security.pam.sshAgentAuth.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable authenticating using a signature performed by the ssh-agent.\nThis allows using SSH keys exclusively, instead of passwords, for instance on remote machines\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pam", "sshAgentAuth", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.u2f.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"sufficient\""}, "description": "This option sets pam \"control\".\nIf you want to have multi factor authentication, use \"required\".\nIf you want to use U2F device instead of regular password, use \"sufficient\".\n\nRead\n{manpage}`pam.conf(5)`\nfor better understanding of this option.\n", "loc": ["security", "pam", "u2f", "control"], "readOnly": false, "type": "one of \"required\", \"requisite\", \"sufficient\", \"optional\""}, "security.pam.u2f.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables U2F PAM (`pam-u2f`) module.\n\nIf set, users listed in\n{file}`$XDG_CONFIG_HOME/Yubico/u2f_keys` (or\n{file}`$HOME/.config/Yubico/u2f_keys` if XDG variable is\nnot set) are able to log in with the associated U2F key. The path can\nbe changed using {option}`security.pam.u2f.authFile` option.\n\nFile format is:\n```\n<username1>:<KeyHandle1>,<UserKey1>,<CoseType1>,<Options1>:<KeyHandle2>,<UserKey2>,<CoseType2>,<Options2>:...\n<username2>:<KeyHandle1>,<UserKey1>,<CoseType1>,<Options1>:<KeyHandle2>,<UserKey2>,<CoseType2>,<Options2>:...\n```\nThis file can be generated using {command}`pamu2fcfg` command.\n\nMore information can be found [here](https://developers.yubico.com/pam-u2f/).\n", "loc": ["security", "pam", "u2f", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.u2f.settings": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options to pass to the PAM module.\n\nBoolean values render just the key if true, and nothing if false.\nNull values are ignored.\nAll other values are rendered as key-value pairs.\n\n", "example": {"_type": "literalExpression", "text": "{\n  authfile = \"/etc/u2f_keys\";\n  authpending_file = \"\";\n  pinverification = 1;\n  userpresence = 0;\n}"}, "loc": ["security", "pam", "u2f", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or boolean or string or signed integer or path in the Nix store)"}, "security.pam.u2f.settings.appid": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default `pam-u2f` module sets the application\nID to `pam://$HOSTNAME`.\n\nWhen using {command}`pamu2fcfg`, you can specify your\napplication ID with the `-i` flag.\n\nMore information can be found [here](https://developers.yubico.com/pam-u2f/Manuals/pam_u2f.8.html)\n", "loc": ["security", "pam", "u2f", "settings", "appid"], "readOnly": false, "type": "null or string"}, "security.pam.u2f.settings.authfile": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default `pam-u2f` module reads the keys from\n{file}`$XDG_CONFIG_HOME/Yubico/u2f_keys` (or\n{file}`$HOME/.config/Yubico/u2f_keys` if XDG variable is\nnot set).\n\nIf you want to change auth file locations or centralize database (for\nexample use {file}`/etc/u2f-mappings`) you can set this\noption.\n\nFile format is:\n`username:first_keyHandle,first_public_key: second_keyHandle,second_public_key`\nThis file can be generated using {command}`pamu2fcfg` command.\n\nMore information can be found [here](https://developers.yubico.com/pam-u2f/).\n", "loc": ["security", "pam", "u2f", "settings", "authfile"], "readOnly": false, "type": "null or absolute path"}, "security.pam.u2f.settings.cue": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "By default `pam-u2f` module does not inform user\nthat he needs to use the u2f device, it just waits without a prompt.\n\nIf you set this option to `true`,\n`cue` option is added to `pam-u2f`\nmodule and reminder message will be displayed.\n", "loc": ["security", "pam", "u2f", "settings", "cue"], "readOnly": false, "type": "boolean"}, "security.pam.u2f.settings.debug": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Debug output to stderr.\n", "loc": ["security", "pam", "u2f", "settings", "debug"], "readOnly": false, "type": "boolean"}, "security.pam.u2f.settings.interactive": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to prompt a message and wait before testing the presence of a U2F device.\nRecommended if your device doesn\u2019t have a tactile trigger.\n", "loc": ["security", "pam", "u2f", "settings", "interactive"], "readOnly": false, "type": "boolean"}, "security.pam.u2f.settings.origin": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default `pam-u2f` module sets the origin\nto `pam://$HOSTNAME`.\nSetting origin to an host independent value will allow you to\nreuse credentials across machines\n\nWhen using {command}`pamu2fcfg`, you can specify your\napplication ID with the `-o` flag.\n\nMore information can be found [here](https://developers.yubico.com/pam-u2f/Manuals/pam_u2f.8.html)\n", "loc": ["security", "pam", "u2f", "settings", "origin"], "readOnly": false, "type": "null or string"}, "security.pam.ussh.authorizedPrincipals": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Comma-separated list of authorized principals to permit; if the user\npresents a certificate with one of these principals, then they will be\nauthorized.\n\nNote that `pam-ussh` also requires that the certificate\ncontain a principal matching the user's username. The principals from\nthis list are in addition to those principals.\n\nMutually exclusive with `authorizedPrincipalsFile`.\n", "loc": ["security", "pam", "ussh", "authorizedPrincipals"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "security.pam.ussh.authorizedPrincipalsFile": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a list of principals; if the user presents a certificate with\none of these principals, then they will be authorized.\n\nNote that `pam-ussh` also requires that the certificate\ncontain a principal matching the user's username. The principals from\nthis file are in addition to those principals.\n\nMutually exclusive with `authorizedPrincipals`.\n", "loc": ["security", "pam", "ussh", "authorizedPrincipalsFile"], "readOnly": false, "type": "null or absolute path"}, "security.pam.ussh.caFile": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default `pam-ussh` reads the trusted user CA keys\nfrom {file}`/etc/ssh/trusted_user_ca`.\n\nThis should be set the same as your `TrustedUserCAKeys`\noption for sshd.\n", "loc": ["security", "pam", "ussh", "caFile"], "readOnly": false, "type": "null or absolute path"}, "security.pam.ussh.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"sufficient\""}, "description": "This option sets pam \"control\".\nIf you want to have multi factor authentication, use \"required\".\nIf you want to use the SSH certificate instead of the regular password,\nuse \"sufficient\".\n\nRead\n{manpage}`pam.conf(5)`\nfor better understanding of this option.\n", "loc": ["security", "pam", "ussh", "control"], "readOnly": false, "type": "one of \"required\", \"requisite\", \"sufficient\", \"optional\""}, "security.pam.ussh.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables Uber's USSH PAM (`pam-ussh`) module.\n\nThis is similar to `pam-ssh-agent`, except that\nthe presence of a CA-signed SSH key with a valid principal is checked\ninstead.\n\nNote that this module must both be enabled using this option and on a\nper-PAM-service level as well (using `usshAuth`).\n\nMore information can be found [here](https://github.com/uber/pam-ussh).\n", "loc": ["security", "pam", "ussh", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.ussh.group": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, then the authenticating user must be a member of this group\nto use this module.\n", "loc": ["security", "pam", "ussh", "group"], "readOnly": false, "type": "null or string"}, "security.pam.yubico.challengeResponsePath": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If not null, set the path used by yubico pam module where the challenge expected response is stored.\n\nMore information can be found [here](https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html).\n", "loc": ["security", "pam", "yubico", "challengeResponsePath"], "readOnly": false, "type": "null or absolute path"}, "security.pam.yubico.control": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"sufficient\""}, "description": "This option sets pam \"control\".\nIf you want to have multi factor authentication, use \"required\".\nIf you want to use Yubikey instead of regular password, use \"sufficient\".\n\nRead\n{manpage}`pam.conf(5)`\nfor better understanding of this option.\n", "loc": ["security", "pam", "yubico", "control"], "readOnly": false, "type": "one of \"required\", \"requisite\", \"sufficient\", \"optional\""}, "security.pam.yubico.debug": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Debug output to stderr.\n", "loc": ["security", "pam", "yubico", "debug"], "readOnly": false, "type": "boolean"}, "security.pam.yubico.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables Yubico PAM (`yubico-pam`) module.\n\nIf set, users listed in\n{file}`~/.yubico/authorized_yubikeys`\nare able to log in with the associated Yubikey tokens.\n\nThe file must have only one line:\n`username:yubikey_token_id1:yubikey_token_id2`\nMore information can be found [here](https://developers.yubico.com/yubico-pam/).\n", "loc": ["security", "pam", "yubico", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.yubico.id": {"declarations": ["nixos/modules/security/pam.nix"], "description": "client id", "example": {"_type": "literalExpression", "text": "\"42\""}, "loc": ["security", "pam", "yubico", "id"], "readOnly": false, "type": "string"}, "security.pam.yubico.mode": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"client\""}, "description": "Mode of operation.\n\nUse \"client\" for online validation with a YubiKey validation service such as\nthe YubiCloud.\n\nUse \"challenge-response\" for offline validation using YubiKeys with HMAC-SHA-1\nChallenge-Response configurations. See the man-page {manpage}`ykpamcfg(1)` for further\ndetails on how to configure offline Challenge-Response validation.\n\nMore information can be found [here](https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html).\n", "loc": ["security", "pam", "yubico", "mode"], "readOnly": false, "type": "one of \"client\", \"challenge-response\""}, "security.pam.zfs.enable": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable unlocking and mounting of encrypted ZFS home dataset at login.\n", "loc": ["security", "pam", "zfs", "enable"], "readOnly": false, "type": "boolean"}, "security.pam.zfs.homes": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "\"rpool/home\""}, "description": "Prefix of home datasets. This value will be concatenated with\n`\"/\" + <username>` in order to determine the home dataset to unlock.\n", "example": {"_type": "literalExpression", "text": "\"rpool/home\""}, "loc": ["security", "pam", "zfs", "homes"], "readOnly": false, "type": "string"}, "security.pam.zfs.mountRecursively": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Mount child datasets of home dataset.\n", "loc": ["security", "pam", "zfs", "mountRecursively"], "readOnly": false, "type": "boolean"}, "security.pam.zfs.noUnmount": {"declarations": ["nixos/modules/security/pam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Do not unmount home dataset on logout.\n", "loc": ["security", "pam", "zfs", "noUnmount"], "readOnly": false, "type": "boolean"}, "security.pki.caBundle": {"declarations": ["nixos/modules/security/ca.nix"], "description": "(Read-only) the path to the final bundle of certificate authorities as a single file.\n", "loc": ["security", "pki", "caBundle"], "readOnly": true, "type": "absolute path"}, "security.pki.caCertificateBlacklist": {"declarations": ["nixos/modules/security/ca.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of blacklisted CA certificate names that won't be imported from\nthe Mozilla Trust Store into\n{file}`/etc/ssl/certs/ca-certificates.crt`. Use the\nnames from that file.\n", "example": {"_type": "literalExpression", "text": "[\n  \"WoSign\"\n  \"WoSign China\"\n  \"CA WoSign ECC Root\"\n  \"Certification Authority of WoSign G2\"\n]"}, "loc": ["security", "pki", "caCertificateBlacklist"], "readOnly": false, "type": "list of string"}, "security.pki.certificateFiles": {"declarations": ["nixos/modules/security/ca.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of files containing trusted root certificates in PEM\nformat. These are concatenated to form\n{file}`/etc/ssl/certs/ca-certificates.crt`, which is\nused by many programs that use OpenSSL, such as\n{command}`curl` and {command}`git`.\n", "example": {"_type": "literalExpression", "text": "[ \"${pkgs.dn42-cacert}/etc/ssl/certs/dn42-ca.crt\" ]"}, "loc": ["security", "pki", "certificateFiles"], "readOnly": false, "type": "list of absolute path"}, "security.pki.certificates": {"declarations": ["nixos/modules/security/ca.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of trusted root certificates in PEM format.\n", "example": {"_type": "literalExpression", "text": "[ ''\n    NixOS.org\n    =========\n    -----BEGIN CERTIFICATE-----\n    MIIGUDCCBTigAwIBAgIDD8KWMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJ\n    TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0\n    ...\n    -----END CERTIFICATE-----\n  ''\n]\n"}, "loc": ["security", "pki", "certificates"], "readOnly": false, "type": "list of string"}, "security.pki.useCompatibleBundle": {"declarations": ["nixos/modules/security/ca.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable usage of a compatibility bundle.\n\nSuch a bundle consists exclusively of `BEGIN CERTIFICATE` and no `BEGIN TRUSTED CERTIFICATE`,\nwhich is an OpenSSL specific PEM format.\n\nIt is known to be incompatible with certain software stacks.\n\nNevertheless, enabling this will strip all additional trust rules provided by the\ncertificates themselves. This can have security consequences depending on your usecases\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "pki", "useCompatibleBundle"], "readOnly": false, "type": "boolean"}, "security.please.enable": {"declarations": ["nixos/modules/security/please.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable please, a Sudo clone which allows a users to execute a command or edit a\nfile as another user\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "please", "enable"], "readOnly": false, "type": "boolean"}, "security.please.package": {"declarations": ["nixos/modules/security/please.nix"], "default": {"_type": "literalExpression", "text": "pkgs.please"}, "description": "The please package to use.", "loc": ["security", "please", "package"], "readOnly": false, "type": "package"}, "security.please.settings": {"declarations": ["nixos/modules/security/please.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Please configuration. Refer to\n<https://github.com/edneville/please/blob/master/please.ini.md> for\ndetails.\n", "example": {"_type": "literalExpression", "text": "{\n  jim_edit_etc_hosts_as_root = {\n    editmode = 644;\n    name = \"jim\";\n    require_pass = true;\n    rule = \"/etc/hosts\";\n    target = \"root\";\n    type = \"edit\";\n  };\n  jim_run_any_as_root = {\n    name = \"jim\";\n    require_pass = false;\n    rule = \".*\";\n    target = \"root\";\n    type = \"run\";\n  };\n}"}, "loc": ["security", "please", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "security.please.wheelNeedsPassword": {"declarations": ["nixos/modules/security/please.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether users of the `wheel` group must provide a password to run\ncommands or edit files with {command}`please` and\n{command}`pleaseedit` respectively.\n", "loc": ["security", "please", "wheelNeedsPassword"], "readOnly": false, "type": "boolean"}, "security.polkit.adminIdentities": {"declarations": ["nixos/modules/security/polkit.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"unix-group:wheel\"\n]"}, "description": "Specifies which users are considered \u201cadministrators\u201d, for those\nactions that require the user to authenticate as an\nadministrator (i.e. have an `auth_admin`\nvalue).  By default, this is all users in the `wheel` group.\n", "example": {"_type": "literalExpression", "text": "[\n  \"unix-user:alice\"\n  \"unix-group:admin\"\n]"}, "loc": ["security", "polkit", "adminIdentities"], "readOnly": false, "type": "list of string"}, "security.polkit.debug": {"declarations": ["nixos/modules/security/polkit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logs from polkit. This is required in order to see log messages from rule definitions.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "polkit", "debug"], "readOnly": false, "type": "boolean"}, "security.polkit.enable": {"declarations": ["nixos/modules/security/polkit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable polkit.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "polkit", "enable"], "readOnly": false, "type": "boolean"}, "security.polkit.extraConfig": {"declarations": ["nixos/modules/security/polkit.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any polkit rules to be added to config (in JavaScript ;-). See:\n<https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html#polkit-rules>\n", "example": {"_type": "literalExpression", "text": "''\n  /* Log authorization checks. */\n  polkit.addRule(function(action, subject) {\n    // Make sure to set { security.polkit.debug = true; } in configuration.nix\n    polkit.log(\"user \" +  subject.user + \" is attempting action \" + action.id + \" from PID \" + subject.pid);\n  });\n  \n  /* Allow any local user to do anything (dangerous!). */\n  polkit.addRule(function(action, subject) {\n    if (subject.local) return \"yes\";\n  });\n''"}, "loc": ["security", "polkit", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.polkit.package": {"declarations": ["nixos/modules/security/polkit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.polkit"}, "description": "The polkit package to use.", "loc": ["security", "polkit", "package"], "readOnly": false, "type": "package"}, "security.protectKernelImage": {"declarations": ["nixos/modules/security/misc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to prevent replacing the running kernel image.\n", "loc": ["security", "protectKernelImage"], "readOnly": false, "type": "boolean"}, "security.rtkit.args": {"declarations": ["nixos/modules/security/rtkit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Command-line options for `rtkit-daemon`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--our-realtime-priority=29\"\n  \"--max-realtime-priority=28\"\n]"}, "loc": ["security", "rtkit", "args"], "readOnly": false, "type": "list of string"}, "security.rtkit.enable": {"declarations": ["nixos/modules/security/rtkit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the RealtimeKit system service, which hands\nout realtime scheduling priority to user processes on\ndemand. For example, PulseAudio and PipeWire use this to\nacquire realtime priority.\n", "loc": ["security", "rtkit", "enable"], "readOnly": false, "type": "boolean"}, "security.rtkit.package": {"declarations": ["nixos/modules/security/rtkit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.rtkit"}, "description": "The rtkit package to use.", "loc": ["security", "rtkit", "package"], "readOnly": false, "type": "package"}, "security.run0.enableSudoAlias": {"declarations": ["nixos/modules/security/run0.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable make {command}`sudo` an alias to {command}`run0`..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "run0", "enableSudoAlias"], "readOnly": false, "type": "boolean"}, "security.run0.wheelNeedsPassword": {"declarations": ["nixos/modules/security/run0.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether users of the `wheel` group must\nprovide a password to run commands as super user via {command}`run0`.\n", "loc": ["security", "run0", "wheelNeedsPassword"], "readOnly": false, "type": "boolean"}, "security.shadow.enable": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the shadow authentication suite, which provides critical programs such as su, login, passwd.\n\nNote: This is currently experimental. Only disable this if you're\nconfident that you can recover your system if it breaks.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "shadow", "enable"], "readOnly": false, "type": "boolean"}, "security.shadow.su.package": {"declarations": ["nixos/modules/programs/shadow.nix"], "default": {"_type": "literalExpression", "text": "pkgs.shadow.su"}, "description": "The su package to use. This can be overridden by other modules (e.g. sudo-rs) to provide\nan alternative `su` implementation.\n", "loc": ["security", "shadow", "su", "package"], "readOnly": false, "type": "package"}, "security.soteria.enable": {"declarations": ["nixos/modules/security/soteria.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Soteria, a Polkit authentication agent\nfor any desktop environment.\n\n::: {.note}\nYou should only enable this if you are on a Desktop Environment that\ndoes not provide a graphical polkit authentication agent, or you are on\na standalone window manager or Wayland compositor.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "soteria", "enable"], "readOnly": false, "type": "boolean"}, "security.soteria.package": {"declarations": ["nixos/modules/security/soteria.nix"], "default": {"_type": "literalExpression", "text": "pkgs.soteria"}, "description": "The soteria package to use.", "loc": ["security", "soteria", "package"], "readOnly": false, "type": "package"}, "security.sudo-rs.configFile": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "description": "This string contains the contents of the\n{file}`sudoers` file.\n", "loc": ["security", "sudo-rs", "configFile"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.sudo-rs.defaultOptions": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"SETENV\"\n]"}, "description": "Options used for the default rules, granting `root` and the\n`wheel` group permission to run any command as any user.\n", "loc": ["security", "sudo-rs", "defaultOptions"], "readOnly": false, "type": "list of string"}, "security.sudo-rs.enable": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a memory-safe implementation of the {command}`sudo` command,\nwhich allows non-root users to execute commands as root\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "sudo-rs", "enable"], "readOnly": false, "type": "boolean"}, "security.sudo-rs.execWheelOnly": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Only allow members of the `wheel` group to execute sudo by\nsetting the executable's permissions accordingly.\nThis prevents users that are not members of `wheel` from\nexploiting vulnerabilities in sudo such as CVE-2021-3156.\n", "loc": ["security", "sudo-rs", "execWheelOnly"], "readOnly": false, "type": "boolean"}, "security.sudo-rs.extraConfig": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration text appended to {file}`sudoers`.\n", "loc": ["security", "sudo-rs", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.sudo-rs.extraRules": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Define specific rules to be in the {file}`sudoers` file.\nMore specific rules should come after more general ones in order to\nyield the expected behavior. You can use `lib.mkBefore`/`lib.mkAfter` to ensure\nthis is the case when configuration options are merged.\n", "example": {"_type": "literalExpression", "text": "[\n  # Allow execution of any command by all users in group sudo,\n  # requiring a password.\n  { groups = [ \"sudo\" ]; commands = [ \"ALL\" ]; }\n\n  # Allow execution of \"/home/root/secret.sh\" by user `backup`, `database`\n  # and the group with GID `1006` without a password.\n  { users = [ \"backup\" \"database\" ]; groups = [ 1006 ];\n    commands = [ { command = \"/home/root/secret.sh\"; options = [ \"SETENV\" \"NOPASSWD\" ]; } ]; }\n\n  # Allow all users of group `bar` to run two executables as user `foo`\n  # with arguments being pre-set.\n  { groups = [ \"bar\" ]; runAs = \"foo\";\n    commands =\n      [ \"/home/baz/cmd1.sh hello-sudo\"\n          { command = ''/home/baz/cmd2.sh \"\"''; options = [ \"SETENV\" ]; } ]; }\n]\n"}, "loc": ["security", "sudo-rs", "extraRules"], "readOnly": false, "type": "list of (submodule)"}, "security.sudo-rs.extraRules.*.commands": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The commands for which the rule should apply.\n", "loc": ["security", "sudo-rs", "extraRules", "*", "commands"], "readOnly": false, "type": "list of (string or (submodule))"}, "security.sudo-rs.extraRules.*.groups": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The groups / GIDs this rule should apply for.\n", "loc": ["security", "sudo-rs", "extraRules", "*", "groups"], "readOnly": false, "type": "list of (string or signed integer)"}, "security.sudo-rs.extraRules.*.host": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "\"ALL\""}, "description": "For what host this rule should apply.\n", "loc": ["security", "sudo-rs", "extraRules", "*", "host"], "readOnly": false, "type": "string"}, "security.sudo-rs.extraRules.*.runAs": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "\"ALL:ALL\""}, "description": "Under which user/group the specified command is allowed to run.\n\nA user can be specified using just the username: `\"foo\"`.\nIt is also possible to specify a user/group combination using `\"foo:bar\"`\nor to only allow running as a specific group with `\":bar\"`.\n", "loc": ["security", "sudo-rs", "extraRules", "*", "runAs"], "readOnly": false, "type": "string"}, "security.sudo-rs.extraRules.*.users": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The usernames / UIDs this rule should apply for.\n", "loc": ["security", "sudo-rs", "extraRules", "*", "users"], "readOnly": false, "type": "list of (string or signed integer)"}, "security.sudo-rs.package": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.sudo-rs"}, "description": "The sudo-rs package to use.", "loc": ["security", "sudo-rs", "package"], "readOnly": false, "type": "package"}, "security.sudo-rs.wheelNeedsPassword": {"declarations": ["nixos/modules/security/sudo-rs.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether users of the `wheel` group must\nprovide a password to run commands as super user via {command}`sudo`.\n", "loc": ["security", "sudo-rs", "wheelNeedsPassword"], "readOnly": false, "type": "boolean"}, "security.sudo.configFile": {"declarations": ["nixos/modules/security/sudo.nix"], "description": "This string contains the contents of the\n{file}`sudoers` file.\n", "loc": ["security", "sudo", "configFile"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.sudo.defaultOptions": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"SETENV\"\n]"}, "description": "Options used for the default rules, granting `root` and the\n`wheel` group permission to run any command as any user.\n", "loc": ["security", "sudo", "defaultOptions"], "readOnly": false, "type": "list of string"}, "security.sudo.enable": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the {command}`sudo` command, which\nallows non-root users to execute commands as root.\n", "loc": ["security", "sudo", "enable"], "readOnly": false, "type": "boolean"}, "security.sudo.execWheelOnly": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Only allow members of the `wheel` group to execute sudo by\nsetting the executable's permissions accordingly.\nThis prevents users that are not members of `wheel` from\nexploiting vulnerabilities in sudo such as CVE-2021-3156.\n", "loc": ["security", "sudo", "execWheelOnly"], "readOnly": false, "type": "boolean"}, "security.sudo.extraConfig": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration text appended to {file}`sudoers`.\n", "loc": ["security", "sudo", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "security.sudo.extraRules": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Define specific rules to be in the {file}`sudoers` file.\nMore specific rules should come after more general ones in order to\nyield the expected behavior. You can use mkBefore/mkAfter to ensure\nthis is the case when configuration options are merged.\n", "example": {"_type": "literalExpression", "text": "[\n  # Allow execution of any command by all users in group sudo,\n  # requiring a password.\n  { groups = [ \"sudo\" ]; commands = [ \"ALL\" ]; }\n\n  # Allow execution of \"/home/root/secret.sh\" by user `backup`, `database`\n  # and the group with GID `1006` without a password.\n  { users = [ \"backup\" \"database\" ]; groups = [ 1006 ];\n    commands = [ { command = \"/home/root/secret.sh\"; options = [ \"SETENV\" \"NOPASSWD\" ]; } ]; }\n\n  # Allow all users of group `bar` to run two executables as user `foo`\n  # with arguments being pre-set.\n  { groups = [ \"bar\" ]; runAs = \"foo\";\n    commands =\n      [ \"/home/baz/cmd1.sh hello-sudo\"\n          { command = ''/home/baz/cmd2.sh \"\"''; options = [ \"SETENV\" ]; } ]; }\n]\n"}, "loc": ["security", "sudo", "extraRules"], "readOnly": false, "type": "list of (submodule)"}, "security.sudo.extraRules.*.commands": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The commands for which the rule should apply.\n", "loc": ["security", "sudo", "extraRules", "*", "commands"], "readOnly": false, "type": "list of (string or (submodule))"}, "security.sudo.extraRules.*.groups": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The groups / GIDs this rule should apply for.\n", "loc": ["security", "sudo", "extraRules", "*", "groups"], "readOnly": false, "type": "list of (string or signed integer)"}, "security.sudo.extraRules.*.host": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "\"ALL\""}, "description": "For what host this rule should apply.\n", "loc": ["security", "sudo", "extraRules", "*", "host"], "readOnly": false, "type": "string"}, "security.sudo.extraRules.*.runAs": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "\"ALL:ALL\""}, "description": "Under which user/group the specified command is allowed to run.\n\nA user can be specified using just the username: `\"foo\"`.\nIt is also possible to specify a user/group combination using `\"foo:bar\"`\nor to only allow running as a specific group with `\":bar\"`.\n", "loc": ["security", "sudo", "extraRules", "*", "runAs"], "readOnly": false, "type": "string"}, "security.sudo.extraRules.*.users": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The usernames / UIDs this rule should apply for.\n", "loc": ["security", "sudo", "extraRules", "*", "users"], "readOnly": false, "type": "list of (string or signed integer)"}, "security.sudo.keepTerminfo": {"declarations": ["nixos/modules/config/terminfo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to preserve the `TERMINFO` and `TERMINFO_DIRS`\nenvironment variables, for `root` and the `wheel` group.\n", "loc": ["security", "sudo", "keepTerminfo"], "readOnly": false, "type": "boolean"}, "security.sudo.package": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.sudo"}, "description": "The sudo package to use.", "loc": ["security", "sudo", "package"], "readOnly": false, "type": "package"}, "security.sudo.wheelNeedsPassword": {"declarations": ["nixos/modules/security/sudo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether users of the `wheel` group must\nprovide a password to run commands as super user via {command}`sudo`.\n", "loc": ["security", "sudo", "wheelNeedsPassword"], "readOnly": false, "type": "boolean"}, "security.tpm2.abrmd.enable": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Trusted Platform 2 userspace resource manager daemon\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "tpm2", "abrmd", "enable"], "readOnly": false, "type": "boolean"}, "security.tpm2.abrmd.package": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "pkgs.tpm2-abrmd"}, "description": "The tpm2-abrmd package to use.", "loc": ["security", "tpm2", "abrmd", "package"], "readOnly": false, "type": "package"}, "security.tpm2.applyUdevRules": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to make the /dev/tpm[0-9] devices accessible by the tssUser, or\nthe /dev/tpmrm[0-9] by tssGroup respectively\n", "loc": ["security", "tpm2", "applyUdevRules"], "readOnly": false, "type": "boolean"}, "security.tpm2.enable": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Trusted Platform Module 2 support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "tpm2", "enable"], "readOnly": false, "type": "boolean"}, "security.tpm2.fapi.ekCertLess": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A switch to disable Endorsement Key (EK) certificate verification.\n\nA value of null indicates that the generated fapi config file does not\ncontain a ek_cert_less key. The effect of not having that key at all is\nthe same as setting its value to false.\n\nA value of false means that the tss2 cli will not work if there is no\nEK Cert installed, or if the installed EK Cert can't be validated.\n\nA value of true means that the tss2 cli will work even if there's no EK\ncert installed.\n", "loc": ["security", "tpm2", "fapi", "ekCertLess"], "readOnly": false, "type": "null or boolean"}, "security.tpm2.fapi.ekFingerprint": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The fingerprint of the endorsement key.\n\nA value of null means that you have chosen not to specify the expected\nfingerprint of the EK. You can still have an endorsement key, it just\nwon't get checked to see if it's fingerprint matches a particular value\nbefore being used.\n", "loc": ["security", "tpm2", "fapi", "ekFingerprint"], "readOnly": false, "type": "null or string"}, "security.tpm2.fapi.firmwareLogFile": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"/sys/kernel/security/tpm0/binary_bios_measurements\""}, "description": "The binary bios measurements.\n", "loc": ["security", "tpm2", "fapi", "firmwareLogFile"], "readOnly": false, "type": "string"}, "security.tpm2.fapi.imaLogFile": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"/sys/kernel/security/ima/binary_runtime_measurements\""}, "description": "The binary IMA measurements (Integrity Measurement Architecture).\n", "loc": ["security", "tpm2", "fapi", "imaLogFile"], "readOnly": false, "type": "string"}, "security.tpm2.fapi.logDir": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/tpm2-tss/eventlog/\""}, "description": "The directory for the event log.\n", "loc": ["security", "tpm2", "fapi", "logDir"], "readOnly": false, "type": "string"}, "security.tpm2.fapi.profileDir": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "${pkgs.tpm2-tss}/etc/fapi-profiles/"}, "description": "Directory that contains all cryptographic profiles known to FAPI.\n", "loc": ["security", "tpm2", "fapi", "profileDir"], "readOnly": false, "type": "string"}, "security.tpm2.fapi.profileName": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"P_ECCP256SHA256\""}, "description": "Name of the default cryptographic profile chosen from the profile_dir directory.\n", "loc": ["security", "tpm2", "fapi", "profileName"], "readOnly": false, "type": "string"}, "security.tpm2.fapi.systemDir": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/tpm2-tss/keystore\""}, "description": "The directory where system objects, policies, and imported objects are stored.\n", "loc": ["security", "tpm2", "fapi", "systemDir"], "readOnly": false, "type": "string"}, "security.tpm2.fapi.systemPcrs": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The PCR registers which are used by the system.\n", "loc": ["security", "tpm2", "fapi", "systemPcrs"], "readOnly": false, "type": "list of signed integer"}, "security.tpm2.fapi.tcti": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The TCTI which will be used.\n\nAn empty string indicates no TCTI is specified by the FAPI config.\n\nIf not specified in the FAPI config it can be specified by environment\nvariable (TPM2TOOLS_TCTI, TPM2_PKCS11_TCTI, etc) or a TCTI will be chosen\nby the FAPI library by searching for tabrmd, device, and mssim TCTIs in\nthat order.\n", "example": {"_type": "literalExpression", "text": "\"device:/dev/tpmrm0\""}, "loc": ["security", "tpm2", "fapi", "tcti"], "readOnly": false, "type": "string"}, "security.tpm2.fapi.userDir": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"~/.local/share/tpm2-tss/user/keystore/\""}, "description": "The directory where user objects are stored.\n", "loc": ["security", "tpm2", "fapi", "userDir"], "readOnly": false, "type": "string"}, "security.tpm2.pkcs11.enable": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable TPM2 PKCS#11 tool and shared library in system path\n(`/run/current-system/sw/lib/libtpm2_pkcs11.so`)\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["security", "tpm2", "pkcs11", "enable"], "readOnly": false, "type": "boolean"}, "security.tpm2.pkcs11.package": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "if config.security.tpm2.abrmd.enable then pkgs.tpm2-pkcs11.abrmd else pkgs.tpm2-pkcs11"}, "description": "tpm2-pkcs11 package to use", "loc": ["security", "tpm2", "pkcs11", "package"], "readOnly": false, "type": "package"}, "security.tpm2.tctiEnvironment.deviceConf": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"/dev/tpmrm0\""}, "description": "Configuration part of the device TCTI, e.g. the path to the TPM device.\nApplies if interface is set to \"device\".\nThe format is specified in the\n[\ntpm2-tools repository](https://github.com/tpm2-software/tpm2-tools/blob/master/man/common/tcti.md#tcti-options).\n", "loc": ["security", "tpm2", "tctiEnvironment", "deviceConf"], "readOnly": false, "type": "string"}, "security.tpm2.tctiEnvironment.enable": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set common TCTI environment variables to the specified value.\nThe variables are\n- `TPM2TOOLS_TCTI`\n- `TPM2_PKCS11_TCTI`\n", "loc": ["security", "tpm2", "tctiEnvironment", "enable"], "readOnly": false, "type": "boolean"}, "security.tpm2.tctiEnvironment.interface": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"device\""}, "description": "The name of the TPM command transmission interface (TCTI) library to\nuse.\n", "loc": ["security", "tpm2", "tctiEnvironment", "interface"], "readOnly": false, "type": "one of \"tabrmd\", \"device\""}, "security.tpm2.tctiEnvironment.tabrmdConf": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"bus_name=com.intel.tss2.Tabrmd\""}, "description": "Configuration part of the tabrmd TCTI, like the D-Bus bus name.\nApplies if interface is set to \"tabrmd\".\nThe format is specified in the\n[\ntpm2-tools repository](https://github.com/tpm2-software/tpm2-tools/blob/master/man/common/tcti.md#tcti-options).\n", "loc": ["security", "tpm2", "tctiEnvironment", "tabrmdConf"], "readOnly": false, "type": "string"}, "security.tpm2.tssGroup": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "\"tss\""}, "description": "Group of the tpm kernel resource manager (tpmrm) device-group, set if\napplyUdevRules is set.\n", "loc": ["security", "tpm2", "tssGroup"], "readOnly": false, "type": "null or string"}, "security.tpm2.tssUser": {"declarations": ["nixos/modules/security/tpm2.nix"], "default": {"_type": "literalExpression", "text": "if config.security.tpm2.abrmd.enable then \"tss\" else \"root\""}, "description": "Name of the tpm device-owner and service user, set if applyUdevRules is\nset.\n", "loc": ["security", "tpm2", "tssUser"], "readOnly": false, "type": "null or string"}, "security.unprivilegedUsernsClone": {"declarations": ["nixos/modules/security/misc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When disabled, unprivileged users will not be able to create new namespaces.\nBy default unprivileged user namespaces are disabled.\nThis option only works in a hardened profile.\n", "loc": ["security", "unprivilegedUsernsClone"], "readOnly": false, "type": "boolean"}, "security.virtualisation.flushL1DataCache": {"declarations": ["nixos/modules/security/misc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Whether the hypervisor should flush the L1 data cache before\nentering guests.\nSee also [](#opt-security.allowSimultaneousMultithreading).\n\n- `null`: uses the kernel default\n- `\"never\"`: disables L1 data cache flushing entirely.\n  May be appropriate if all guests are trusted.\n- `\"cond\"`: flushes L1 data cache only for pre-determined\n  code paths.  May leak information about the host address space\n  layout.\n- `\"always\"`: flushes L1 data cache every time the hypervisor\n  enters the guest.  May incur significant performance cost.\n", "loc": ["security", "virtualisation", "flushL1DataCache"], "readOnly": false, "type": "null or one of \"never\", \"cond\", \"always\""}, "security.wrapperDirSize": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "\"50%\""}, "description": "Size limit for the /run/wrappers tmpfs. Look at {manpage}`mount(8)`, tmpfs size option,\nfor the accepted syntax. WARNING: don't set to less than 64MB.\n", "example": {"_type": "literalExpression", "text": "\"10G\""}, "loc": ["security", "wrapperDirSize"], "readOnly": false, "type": "string"}, "security.wrappers": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option effectively allows adding setuid/setgid bits, capabilities,\nchanging file ownership and permissions of a program without directly\nmodifying it. This works by creating a wrapper program in a directory\n(not configurable), which is then added to the shell `PATH`.\n", "example": {"_type": "literalExpression", "text": "{\n  # a setuid root program\n  doas =\n    { setuid = true;\n      owner = \"root\";\n      group = \"root\";\n      source = \"${pkgs.doas}/bin/doas\";\n    };\n\n  # a setgid program\n  locate =\n    { setgid = true;\n      owner = \"root\";\n      group = \"mlocate\";\n      source = \"${pkgs.locate}/bin/locate\";\n    };\n\n  # a program with the CAP_NET_RAW capability\n  ping =\n    { owner = \"root\";\n      group = \"root\";\n      capabilities = \"cap_net_raw+ep\";\n      source = \"${pkgs.iputils.out}/bin/ping\";\n    };\n}\n"}, "loc": ["security", "wrappers"], "readOnly": false, "type": "attribute set of (submodule)"}, "security.wrappers.<name>.capabilities": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A comma-separated list of capability clauses to be given to the\nwrapper program. The format for capability clauses is described in the\n\u201cTEXTUAL REPRESENTATION\u201d section of the {manpage}`cap_from_text(3)`\nmanual page. For a list of capabilities supported by the system, check\nthe {manpage}`capabilities(7)` manual page.\n\n::: {.note}\n`cap_setpcap`, which is required for the wrapper\nprogram to be able to raise caps into the Ambient set is NOT raised\nto the Ambient set so that the real program cannot modify its own\ncapabilities!! This may be too restrictive for cases in which the\nreal program needs cap_setpcap but it at least leans on the side\nsecurity paranoid vs. too relaxed.\n:::\n", "loc": ["security", "wrappers", "<name>", "capabilities"], "readOnly": false, "type": "strings concatenated with \",\""}, "security.wrappers.<name>.enable": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the wrapper.", "loc": ["security", "wrappers", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "security.wrappers.<name>.group": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "description": "The group of the wrapper program.", "loc": ["security", "wrappers", "<name>", "group"], "readOnly": false, "type": "string"}, "security.wrappers.<name>.owner": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "description": "The owner of the wrapper program.", "loc": ["security", "wrappers", "<name>", "owner"], "readOnly": false, "type": "string"}, "security.wrappers.<name>.permissions": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "\"u+rx,g+x,o+x\""}, "description": "The permissions of the wrapper program. The format is that of a\nsymbolic or numeric file mode understood by {command}`chmod`.\n", "example": {"_type": "literalExpression", "text": "\"a+rx\""}, "loc": ["security", "wrappers", "<name>", "permissions"], "readOnly": false, "type": "file mode string"}, "security.wrappers.<name>.program": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The name of the wrapper program. Defaults to the attribute name.\n", "loc": ["security", "wrappers", "<name>", "program"], "readOnly": false, "type": "null or string"}, "security.wrappers.<name>.setgid": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add the setgid bit the wrapper program.", "loc": ["security", "wrappers", "<name>", "setgid"], "readOnly": false, "type": "boolean"}, "security.wrappers.<name>.setuid": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add the setuid bit the wrapper program.", "loc": ["security", "wrappers", "<name>", "setuid"], "readOnly": false, "type": "boolean"}, "security.wrappers.<name>.source": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "description": "The absolute path to the program to be wrapped.", "loc": ["security", "wrappers", "<name>", "source"], "readOnly": false, "type": "absolute path"}, "services.SystemdJournal2Gelf.enable": {"declarations": ["nixos/modules/services/logging/SystemdJournal2Gelf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SystemdJournal2Gelf.\n", "loc": ["services", "SystemdJournal2Gelf", "enable"], "readOnly": false, "type": "boolean"}, "services.SystemdJournal2Gelf.extraOptions": {"declarations": ["nixos/modules/services/logging/SystemdJournal2Gelf.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any extra flags to pass to SystemdJournal2Gelf. Note that\nthese are basically `journalctl` flags.\n", "loc": ["services", "SystemdJournal2Gelf", "extraOptions"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.SystemdJournal2Gelf.graylogServer": {"declarations": ["nixos/modules/services/logging/SystemdJournal2Gelf.nix"], "description": "Host and port of your graylog2 input. This should be a GELF\nUDP input.\n", "example": {"_type": "literalExpression", "text": "\"graylog2.example.com:11201\""}, "loc": ["services", "SystemdJournal2Gelf", "graylogServer"], "readOnly": false, "type": "string"}, "services.SystemdJournal2Gelf.package": {"declarations": ["nixos/modules/services/logging/SystemdJournal2Gelf.nix"], "default": {"_type": "literalExpression", "text": "pkgs.systemd-journal2gelf"}, "description": "The systemd-journal2gelf package to use.", "loc": ["services", "SystemdJournal2Gelf", "package"], "readOnly": false, "type": "package"}, "services._3proxy.confFile": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "description": "Ignore all other 3proxy options and load configuration from this file.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/3proxy/3proxy.conf\""}, "loc": ["services", "_3proxy", "confFile"], "readOnly": false, "type": "absolute path"}, "services._3proxy.denyPrivate": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to deny access to private IP ranges including loopback.\n", "loc": ["services", "_3proxy", "denyPrivate"], "readOnly": false, "type": "boolean"}, "services._3proxy.enable": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable 3proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "_3proxy", "enable"], "readOnly": false, "type": "boolean"}, "services._3proxy.extraConfig": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra configuration, appended to the 3proxy configuration file.\nConsult [documentation](https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg) for available options.\n", "loc": ["services", "_3proxy", "extraConfig"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services._3proxy.privateRanges": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"0.0.0.0/8\"\n  \"127.0.0.0/8\"\n  \"10.0.0.0/8\"\n  \"100.64.0.0/10\"\n  \"172.16.0.0/12\"\n  \"192.168.0.0/16\"\n  \"::\"\n  \"::1\"\n  \"fc00::/7\"\n]"}, "description": "What IP ranges to deny access when denyPrivate is set tu true.\n", "loc": ["services", "_3proxy", "privateRanges"], "readOnly": false, "type": "list of string"}, "services._3proxy.resolution": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Use this option to configure name resolution and DNS caching.\n", "loc": ["services", "_3proxy", "resolution"], "readOnly": false, "type": "submodule"}, "services._3proxy.resolution.nscache": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "65535"}, "description": "Set name cache size for IPv4.", "loc": ["services", "_3proxy", "resolution", "nscache"], "readOnly": false, "type": "signed integer"}, "services._3proxy.resolution.nscache6": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "65535"}, "description": "Set name cache size for IPv6.", "loc": ["services", "_3proxy", "resolution", "nscache6"], "readOnly": false, "type": "signed integer"}, "services._3proxy.resolution.nserver": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of nameservers to use.\n\nUp to 5 nservers may be specified. If no nserver is configured,\ndefault system name resolution functions are used.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.53\"\n  \"192.168.1.3:5353/tcp\"\n]"}, "loc": ["services", "_3proxy", "resolution", "nserver"], "readOnly": false, "type": "list of string"}, "services._3proxy.resolution.nsrecord": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Adds static nsrecords.", "example": {"_type": "literalExpression", "text": "{\n  \"files.local\" = \"192.168.1.12\";\n  \"site.local\" = \"192.168.1.43\";\n}\n"}, "loc": ["services", "_3proxy", "resolution", "nsrecord"], "readOnly": false, "type": "attribute set of string"}, "services._3proxy.services": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Use this option to define 3proxy services.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    type = \"proxy\";\n    bindAddress = \"192.168.1.24\";\n    bindPort = 3128;\n    auth = [ \"none\" ];\n  }\n  {\n    type = \"proxy\";\n    bindAddress = \"10.10.1.20\";\n    bindPort = 3128;\n    auth = [ \"iponly\" ];\n  }\n  {\n    type = \"socks\";\n    bindAddress = \"172.17.0.1\";\n    bindPort = 1080;\n    auth = [ \"strong\" ];\n  }\n]\n"}, "loc": ["services", "_3proxy", "services"], "readOnly": false, "type": "list of (submodule)"}, "services._3proxy.services.*.acl": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Use this option to limit user access to resources.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    rule = \"allow\";\n    users = [ \"user1\" ];\n  }\n  {\n    rule = \"allow\";\n    sources = [ \"192.168.1.0/24\" ];\n  }\n  {\n    rule = \"deny\";\n  }\n]\n"}, "loc": ["services", "_3proxy", "services", "*", "acl"], "readOnly": false, "type": "list of (submodule)"}, "services._3proxy.services.*.acl.*.rule": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "description": "ACL rule. The following values are valid:\n\n- `\"allow\"`: connections allowed.\n- `\"deny\"`: connections not allowed.\n", "example": {"_type": "literalExpression", "text": "\"allow\""}, "loc": ["services", "_3proxy", "services", "*", "acl", "*", "rule"], "readOnly": false, "type": "one of \"allow\", \"deny\""}, "services._3proxy.services.*.acl.*.sources": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of source IP range, use empty list for any.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"192.168.1.0/24\"\n]"}, "loc": ["services", "_3proxy", "services", "*", "acl", "*", "sources"], "readOnly": false, "type": "list of string"}, "services._3proxy.services.*.acl.*.targetPorts": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of target ports, use empty list for any.\n", "example": {"_type": "literalExpression", "text": "[\n  80\n  443\n]"}, "loc": ["services", "_3proxy", "services", "*", "acl", "*", "targetPorts"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services._3proxy.services.*.acl.*.targets": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of target IP ranges, use empty list for any.\nMay also contain host names instead of addresses.\nIt's possible to use wildmask in the beginning and in the the end of hostname, e.g. `*badsite.com` or `*badcontent*`.\nHostname is only checked if hostname presents in request.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"192.168.1.0/24\"\n]"}, "loc": ["services", "_3proxy", "services", "*", "acl", "*", "targets"], "readOnly": false, "type": "list of string"}, "services._3proxy.services.*.acl.*.users": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of users, use empty list for any.\n", "example": {"_type": "literalExpression", "text": "[\n  \"user1\"\n  \"user2\"\n  \"user3\"\n]"}, "loc": ["services", "_3proxy", "services", "*", "acl", "*", "users"], "readOnly": false, "type": "list of string"}, "services._3proxy.services.*.auth": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Authentication type. The following values are valid:\n\n- `\"none\"`: disables both authentication and authorization. You can not use ACLs.\n- `\"iponly\"`: specifies no authentication. ACLs authorization is used.\n- `\"strong\"`: authentication by username/password. If user is not registered their access is denied regardless of ACLs.\n\nDouble authentication is possible, e.g.\n\n```\n  {\n    auth = [ \"iponly\" \"strong\" ];\n    acl = [\n      {\n        rule = \"allow\";\n        targets = [ \"192.168.0.0/16\" ];\n      }\n      {\n        rule = \"allow\"\n        users = [ \"user1\" \"user2\" ];\n      }\n    ];\n  }\n```\nIn this example strong username authentication is not required to access 192.168.0.0/16.\n", "example": {"_type": "literalExpression", "text": "[\n  \"iponly\"\n  \"strong\"\n]"}, "loc": ["services", "_3proxy", "services", "*", "auth"], "readOnly": false, "type": "list of (one of \"none\", \"iponly\", \"strong\")"}, "services._3proxy.services.*.bindAddress": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "\"[::]\""}, "description": "Address used for service.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "_3proxy", "services", "*", "bindAddress"], "readOnly": false, "type": "string"}, "services._3proxy.services.*.bindPort": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Override default port used for service.\n", "example": {"_type": "literalExpression", "text": "3128"}, "loc": ["services", "_3proxy", "services", "*", "bindPort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services._3proxy.services.*.extraArguments": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra arguments for service.\nConsult \"Options\" section in [documentation](https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg) for available arguments.\n", "example": {"_type": "literalExpression", "text": "\"-46\""}, "loc": ["services", "_3proxy", "services", "*", "extraArguments"], "readOnly": false, "type": "null or string"}, "services._3proxy.services.*.extraConfig": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra configuration for service. Use this to configure things like bandwidth limiter or ACL-based redirection.\nConsult [documentation](https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg) for available options.\n", "loc": ["services", "_3proxy", "services", "*", "extraConfig"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services._3proxy.services.*.maxConnections": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "100"}, "description": "Maximum number of simulationeous connections to this service.\n", "example": {"_type": "literalExpression", "text": "1000"}, "loc": ["services", "_3proxy", "services", "*", "maxConnections"], "readOnly": false, "type": "signed integer"}, "services._3proxy.services.*.type": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "description": "Service type. The following values are valid:\n\n- `\"proxy\"`: HTTP/HTTPS proxy (default port 3128).\n- `\"socks\"`: SOCKS 4/4.5/5 proxy (default port 1080).\n- `\"pop3p\"`: POP3 proxy (default port 110).\n- `\"ftppr\"`: FTP proxy (default port 21).\n- `\"admin\"`: Web interface (default port 80).\n- `\"dnspr\"`: Caching DNS proxy (default port 53).\n- `\"tcppm\"`: TCP portmapper.\n- `\"udppm\"`: UDP portmapper.\n- `\"auto\"`: Proxy with protocol autoselection between proxy / socks / tlspr.\n", "example": {"_type": "literalExpression", "text": "\"proxy\""}, "loc": ["services", "_3proxy", "services", "*", "type"], "readOnly": false, "type": "one of \"proxy\", \"socks\", \"pop3p\", \"ftppr\", \"admin\", \"dnspr\", \"tcppm\", \"udppm\", \"auto\""}, "services._3proxy.usersFile": {"declarations": ["nixos/modules/services/networking/3proxy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Load users and passwords from this file.\n\nExample users file with plain-text passwords:\n\n```\n  test1:CL:password1\n  test2:CL:password2\n```\n\nExample users file with md5-crypted passwords:\n\n```\n  test1:CR:$1$tFkisVd2$1GA8JXkRmTXdLDytM/i3a1\n  test2:CR:$1$rkpibm5J$Aq1.9VtYAn0JrqZ8M.1ME.\n```\n\nYou can generate md5-crypted passwords via <https://unix4lyfe.org/crypt/>\nNote that htpasswd tool generates incompatible md5-crypted passwords.\nConsult [documentation](https://github.com/z3APA3A/3proxy/wiki/How-To-%28incomplete%29#USERS) for more information.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/3proxy/3proxy.passwd\""}, "loc": ["services", "_3proxy", "usersFile"], "readOnly": false, "type": "null or absolute path"}, "services.a2boot.enable": {"declarations": ["nixos/modules/services/network-filesystems/a2boot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the a2boot daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "a2boot", "enable"], "readOnly": false, "type": "boolean"}, "services.accounts-daemon.enable": {"declarations": ["nixos/modules/services/desktops/accountsservice.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable AccountsService, a DBus service for accessing\nthe list of user accounts and information attached to those accounts.\n", "loc": ["services", "accounts-daemon", "enable"], "readOnly": false, "type": "boolean"}, "services.acme-dns.enable": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable acme-dns.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "acme-dns", "enable"], "readOnly": false, "type": "boolean"}, "services.acme-dns.package": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "pkgs.acme-dns"}, "description": "The acme-dns package to use.", "loc": ["services", "acme-dns", "package"], "readOnly": false, "type": "package"}, "services.acme-dns.settings": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Free-form settings written directly to the `acme-dns.cfg` file.\nRefer to <https://github.com/joohoi/acme-dns/blob/master/README.md#configuration> for supported values.\n", "loc": ["services", "acme-dns", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.acme-dns.settings.api.disable_registration": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable the HTTP registration endpoint.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "acme-dns", "settings", "api", "disable_registration"], "readOnly": false, "type": "boolean"}, "services.acme-dns.settings.api.ip": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "\"[::]\""}, "description": "IP to bind the HTTP API on.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "acme-dns", "settings", "api", "ip"], "readOnly": false, "type": "string"}, "services.acme-dns.settings.api.port": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Listen port for the HTTP API.", "loc": ["services", "acme-dns", "settings", "api", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.acme-dns.settings.api.tls": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "\"none\""}, "description": "TLS backend to use.", "loc": ["services", "acme-dns", "settings", "api", "tls"], "readOnly": false, "type": "one of \"letsencrypt\", \"letsencryptstaging\", \"cert\", \"none\""}, "services.acme-dns.settings.database.connection": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme-dns/acme-dns.db\""}, "description": "Database connection string.", "example": {"_type": "literalExpression", "text": "\"postgres://user:password@localhost/acmedns\""}, "loc": ["services", "acme-dns", "settings", "database", "connection"], "readOnly": false, "type": "string"}, "services.acme-dns.settings.database.engine": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Database engine to use.", "loc": ["services", "acme-dns", "settings", "database", "engine"], "readOnly": false, "type": "one of \"sqlite\", \"postgres\""}, "services.acme-dns.settings.general.domain": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "description": "Domain name to serve the requests off of.", "example": {"_type": "literalExpression", "text": "\"acme-dns.example.com\""}, "loc": ["services", "acme-dns", "settings", "general", "domain"], "readOnly": false, "type": "string"}, "services.acme-dns.settings.general.listen": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "\"[::]:53\""}, "description": "IP+port combination to bind and serve the DNS server on.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:53\""}, "loc": ["services", "acme-dns", "settings", "general", "listen"], "readOnly": false, "type": "string"}, "services.acme-dns.settings.general.nsadmin": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "description": "Zone admin email address for `SOA`.", "example": {"_type": "literalExpression", "text": "\"admin.example.com\""}, "loc": ["services", "acme-dns", "settings", "general", "nsadmin"], "readOnly": false, "type": "string"}, "services.acme-dns.settings.general.nsname": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "description": "Zone name server.", "example": {"_type": "literalExpression", "text": "\"acme-dns.example.com\""}, "loc": ["services", "acme-dns", "settings", "general", "nsname"], "readOnly": false, "type": "string"}, "services.acme-dns.settings.general.protocol": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "\"both\""}, "description": "Protocols to serve DNS responses on.", "loc": ["services", "acme-dns", "settings", "general", "protocol"], "readOnly": false, "type": "one of \"both\", \"both4\", \"both6\", \"udp\", \"udp4\", \"udp6\", \"tcp\", \"tcp4\", \"tcp6\""}, "services.acme-dns.settings.general.records": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Predefined DNS records served in addition to the `_acme-challenge` TXT records.", "example": {"_type": "literalExpression", "text": "[\n  # replace with your acme-dns server's public IPv4\n  \"acme-dns.example.com. A 198.51.100.1\"\n  # replace with your acme-dns server's public IPv6\n  \"acme-dns.example.com. AAAA 2001:db8::1\"\n  # acme-dns.example.com should resolve any *.acme-dns.example.com records\n  \"acme-dns.example.com. NS acme-dns.example.com.\"\n]\n"}, "loc": ["services", "acme-dns", "settings", "general", "records"], "readOnly": false, "type": "list of string"}, "services.acme-dns.settings.logconfig.loglevel": {"declarations": ["nixos/modules/services/networking/acme-dns.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Level to log on.", "loc": ["services", "acme-dns", "settings", "logconfig", "loglevel"], "readOnly": false, "type": "one of \"error\", \"warning\", \"info\", \"debug\""}, "services.acpid.acEventCommands": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to execute on an ac_adapter.* event.", "loc": ["services", "acpid", "acEventCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.acpid.enable": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the ACPI daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "acpid", "enable"], "readOnly": false, "type": "boolean"}, "services.acpid.handlers": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Event handlers.\n\n::: {.note}\nHandler can be a single command.\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  ac-power = {\n    action = ''\n      vals=($1)  # space separated string to array of multiple values\n      case ''${vals[3]} in\n          00000000)\n              echo unplugged >> /tmp/acpi.log\n              ;;\n          00000001)\n              echo plugged in >> /tmp/acpi.log\n              ;;\n          *)\n              echo unknown >> /tmp/acpi.log\n              ;;\n      esac\n    '';\n    event = \"ac_adapter/*\";\n  };\n}"}, "loc": ["services", "acpid", "handlers"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.acpid.handlers.<name>.action": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "description": "Shell commands to execute when the event is triggered.", "loc": ["services", "acpid", "handlers", "<name>", "action"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.acpid.handlers.<name>.event": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "description": "Event type.", "example": {"_type": "literalExpression", "text": "\"button/power.*\" \"button/lid.*\" \"ac_adapter.*\" \"button/mute.*\" \"button/volumedown.*\" \"cd/play.*\" \"cd/next.*\""}, "loc": ["services", "acpid", "handlers", "<name>", "event"], "readOnly": false, "type": "string"}, "services.acpid.lidEventCommands": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to execute on a button/lid.* event.", "loc": ["services", "acpid", "lidEventCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.acpid.logEvents": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Log all event activity.", "loc": ["services", "acpid", "logEvents"], "readOnly": false, "type": "boolean"}, "services.acpid.powerEventCommands": {"declarations": ["nixos/modules/services/hardware/acpid.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to execute on a button/power.* event.", "loc": ["services", "acpid", "powerEventCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.activemq.baseDir": {"declarations": ["nixos/modules/services/amqp/activemq/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/activemq\""}, "description": "The base directory where ActiveMQ stores its persistent data and logs.\nThis will be overridden if you set \"activemq.base\" and \"activemq.data\"\nin the `javaProperties` option. You can also override\nthis in activemq.xml.\n", "loc": ["services", "activemq", "baseDir"], "readOnly": false, "type": "string"}, "services.activemq.configurationDir": {"declarations": ["nixos/modules/services/amqp/activemq/default.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.activemq}/conf\""}, "description": "The base directory for ActiveMQ's configuration.\nBy default, this directory is searched for a file named activemq.xml,\nwhich should contain the configuration for the broker service.\n", "loc": ["services", "activemq", "configurationDir"], "readOnly": false, "type": "string"}, "services.activemq.configurationURI": {"declarations": ["nixos/modules/services/amqp/activemq/default.nix"], "default": {"_type": "literalExpression", "text": "\"xbean:activemq.xml\""}, "description": "The URI that is passed along to the BrokerFactory to\nset up the configuration of the ActiveMQ broker service.\nYou should not need to change this. For custom configuration,\nset the `configurationDir` instead, and create\nan activemq.xml configuration file in it.\n", "loc": ["services", "activemq", "configurationURI"], "readOnly": false, "type": "string"}, "services.activemq.enable": {"declarations": ["nixos/modules/services/amqp/activemq/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the Apache ActiveMQ message broker service.\n", "loc": ["services", "activemq", "enable"], "readOnly": false, "type": "boolean"}, "services.activemq.extraJavaOptions": {"declarations": ["nixos/modules/services/amqp/activemq/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Add extra options here that you want to be sent to the\nJava runtime when the broker service is started.\n", "example": {"_type": "literalExpression", "text": "\"-Xmx2G -Xms2G -XX:MaxPermSize=512M\""}, "loc": ["services", "activemq", "extraJavaOptions"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.activemq.javaProperties": {"declarations": ["nixos/modules/services/amqp/activemq/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specifies Java properties that are sent to the ActiveMQ\nbroker service with the \"-D\" option. You can set properties\nhere to change the behaviour and configuration of the broker.\nAll essential properties that are not set here are automatically\ngiven reasonable defaults.\n", "example": {"_type": "literalExpression", "text": "{\n  \"java.net.preferIPv4Stack\" = \"true\";\n}\n"}, "loc": ["services", "activemq", "javaProperties"], "readOnly": false, "type": "attribute set"}, "services.actkbd.bindings": {"declarations": ["nixos/modules/services/hardware/actkbd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Key bindings for {command}`actkbd`.\n\nSee {command}`actkbd` {file}`README` for documentation.\n\nThe example shows a piece of what {option}`sound.mediaKeys.enable` does when enabled.\n", "example": {"_type": "literalExpression", "text": "[ { keys = [ 113 ]; events = [ \"key\" ]; command = \"${pkgs.alsa-utils}/bin/amixer -q set Master toggle\"; }\n]\n"}, "loc": ["services", "actkbd", "bindings"], "readOnly": false, "type": "list of (submodule)"}, "services.actkbd.bindings.*.attributes": {"declarations": ["nixos/modules/services/hardware/actkbd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"exec\"\n]"}, "description": "List of attributes.", "loc": ["services", "actkbd", "bindings", "*", "attributes"], "readOnly": false, "type": "list of string"}, "services.actkbd.bindings.*.command": {"declarations": ["nixos/modules/services/hardware/actkbd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "What to run.", "loc": ["services", "actkbd", "bindings", "*", "command"], "readOnly": false, "type": "string"}, "services.actkbd.bindings.*.events": {"declarations": ["nixos/modules/services/hardware/actkbd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"key\"\n]"}, "description": "List of events to match.", "loc": ["services", "actkbd", "bindings", "*", "events"], "readOnly": false, "type": "list of (one of \"key\", \"rep\", \"rel\")"}, "services.actkbd.bindings.*.keys": {"declarations": ["nixos/modules/services/hardware/actkbd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of keycodes to match.", "loc": ["services", "actkbd", "bindings", "*", "keys"], "readOnly": false, "type": "list of signed integer"}, "services.actkbd.enable": {"declarations": ["nixos/modules/services/hardware/actkbd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the {command}`actkbd` key mapping daemon.\n\nTurning this on will start an {command}`actkbd`\ninstance for every evdev input that has at least one key\n(which is okay even for systems with tiny memory footprint,\nsince actkbd normally uses \\<100 bytes of memory per\ninstance).\n\nThis allows binding keys globally without the need for e.g.\nX11.\n", "loc": ["services", "actkbd", "enable"], "readOnly": false, "type": "boolean"}, "services.actkbd.extraConfig": {"declarations": ["nixos/modules/services/hardware/actkbd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Literal contents to append to the end of actkbd configuration file.\n", "loc": ["services", "actkbd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.actual.enable": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable actual, a privacy focused app for managing your finances.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "actual", "enable"], "readOnly": false, "type": "boolean"}, "services.actual.group": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Group account under which Actual runs.\n\nIf null is specified (default), a temporary user will be created by systemd. Otherwise won't be automatically created by the service.\n", "loc": ["services", "actual", "group"], "readOnly": false, "type": "null or string"}, "services.actual.openFirewall": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the specified port.", "loc": ["services", "actual", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.actual.package": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "pkgs.actual-server"}, "description": "The actual-server package to use.", "loc": ["services", "actual", "package"], "readOnly": false, "type": "package"}, "services.actual.settings": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Server settings, refer to [the documentation](https://actualbudget.org/docs/config/) for available options.\nYou can specify secret values in this configuration by setting `somevalue._secret = \"/path/to/file\"` instead of setting `somevalue` directly.\n", "loc": ["services", "actual", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.actual.settings.dataDir": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/actual\""}, "description": "Directory under which Actual runs and saves its data.\n\nChanging this after you already have a working instance may make Actual fail to start, even if you move all files in the data dir. If migration is needed, refer to [this comment](https://github.com/actualbudget/actual/issues/3957#issuecomment-2567076794) for a fix.\n", "loc": ["services", "actual", "settings", "dataDir"], "readOnly": false, "type": "string"}, "services.actual.settings.hostname": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "\"::\""}, "description": "The address to listen on", "loc": ["services", "actual", "settings", "hostname"], "readOnly": false, "type": "string"}, "services.actual.settings.port": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port to listen on", "loc": ["services", "actual", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.actual.settings.serverFiles": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "\"\\${cfg.settings.dataDir}/server-files\""}, "description": "The server will put an account.sqlite file in this directory, which will contain the (hashed) server password, a list of all the budget files the server knows about, and the active session token (along with anything else the server may want to store in the future).\n", "loc": ["services", "actual", "settings", "serverFiles"], "readOnly": false, "type": "string"}, "services.actual.settings.userFiles": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "\"\\${cfg.settings.dataDir}/user-files\""}, "description": "The server will put all the budget files in this directory as binary blobs.\n", "loc": ["services", "actual", "settings", "userFiles"], "readOnly": false, "type": "string"}, "services.actual.user": {"declarations": ["nixos/modules/services/web-apps/actual.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User account under which Actual runs.\n\nIf null is specified (default), a temporary user will be created by systemd. Otherwise won't be automatically created by the service.\n", "loc": ["services", "actual", "user"], "readOnly": false, "type": "null or string"}, "services.adguardhome.allowDHCP": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "config.services.adguardhome.settings.dhcp.enabled or false"}, "description": "Allows AdGuard Home to open raw sockets (`CAP_NET_RAW`), which is\nrequired for the integrated DHCP server.\n\nThe default enables this conditionally if the declarative configuration\nenables the integrated DHCP server. Manually setting this option is only\nrequired for non-declarative setups.\n", "loc": ["services", "adguardhome", "allowDHCP"], "readOnly": false, "type": "boolean"}, "services.adguardhome.enable": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable AdGuard Home network-wide ad blocker.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "adguardhome", "enable"], "readOnly": false, "type": "boolean"}, "services.adguardhome.extraArgs": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line parameters to be passed to the adguardhome binary.\n", "loc": ["services", "adguardhome", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.adguardhome.host": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Host address to bind HTTP server to.\n", "loc": ["services", "adguardhome", "host"], "readOnly": false, "type": "string"}, "services.adguardhome.mutableSettings": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Allow changes made on the AdGuard Home web interface to persist between\nservice restarts.\n", "loc": ["services", "adguardhome", "mutableSettings"], "readOnly": false, "type": "boolean"}, "services.adguardhome.openFirewall": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the AdGuard Home web interface. Does not\nopen the port needed to access the DNS resolver.\n", "loc": ["services", "adguardhome", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.adguardhome.package": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "pkgs.adguardhome"}, "description": "The package that runs adguardhome.\n", "loc": ["services", "adguardhome", "package"], "readOnly": false, "type": "package"}, "services.adguardhome.port": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port to serve HTTP pages on.\n", "loc": ["services", "adguardhome", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.adguardhome.settings": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "AdGuard Home configuration. Refer to\n<https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#configuration-file>\nfor details on supported values.\n\n::: {.note}\nOn start and if {option}`mutableSettings` is `true`,\nthese options are merged into the configuration file on start, taking\nprecedence over configuration changes made on the web interface.\n\nSet this to `null` (default) for a non-declarative configuration without any\nNix-supplied values.\nDeclarative configurations are supplied with a default `schema_version`, and `http.address`.\n:::\n", "loc": ["services", "adguardhome", "settings"], "readOnly": false, "type": "null or (open submodule of (YAML 1.1 value))"}, "services.adguardhome.settings.schema_version": {"declarations": ["nixos/modules/services/networking/adguardhome.nix"], "default": {"_type": "literalExpression", "text": "cfg.package.schema_version"}, "description": "Schema version for the configuration.\nDefaults to the `schema_version` supplied by `cfg.package`.\n", "loc": ["services", "adguardhome", "settings", "schema_version"], "readOnly": false, "type": "signed integer"}, "services.aerospike.enable": {"declarations": ["nixos/modules/services/databases/aerospike.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Aerospike server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "aerospike", "enable"], "readOnly": false, "type": "boolean"}, "services.aerospike.extraConfig": {"declarations": ["nixos/modules/services/databases/aerospike.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration", "example": {"_type": "literalExpression", "text": "''\n  namespace test {\n    replication-factor 2\n    memory-size 4G\n    default-ttl 30d\n    storage-engine memory\n  }\n''"}, "loc": ["services", "aerospike", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.aerospike.networkConfig": {"declarations": ["nixos/modules/services/databases/aerospike.nix"], "default": {"_type": "literalExpression", "text": "''\n  service {\n    address any\n    port 3000\n  }\n  \n  heartbeat {\n    address any\n    mode mesh\n    port 3002\n    interval 150\n    timeout 10\n  }\n  \n  fabric {\n    address any\n    port 3001\n  }\n  \n  info {\n    address any\n    port 3003\n  }\n''"}, "description": "network section of configuration file", "loc": ["services", "aerospike", "networkConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.aerospike.package": {"declarations": ["nixos/modules/services/databases/aerospike.nix"], "default": {"_type": "literalExpression", "text": "pkgs.aerospike"}, "description": "The aerospike package to use.", "loc": ["services", "aerospike", "package"], "readOnly": false, "type": "package"}, "services.aerospike.workDir": {"declarations": ["nixos/modules/services/databases/aerospike.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/aerospike\""}, "description": "Location where Aerospike stores its files", "loc": ["services", "aerospike", "workDir"], "readOnly": false, "type": "string"}, "services.aesmd.enable": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Intel's Architectural Enclave Service Manager (AESM) for Intel SGX.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "aesmd", "enable"], "readOnly": false, "type": "boolean"}, "services.aesmd.environment": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to pass to the AESM service.", "example": {"_type": "literalExpression", "text": "{\n  AZDCAP_COLLATERAL_VERSION = \"v2\";\n  AZDCAP_DEBUG_LOG_LEVEL = \"INFO\";\n}"}, "loc": ["services", "aesmd", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.aesmd.package": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.sgx-psw"}, "description": "The sgx-psw package to use.", "loc": ["services", "aesmd", "package"], "readOnly": false, "type": "package"}, "services.aesmd.quoteProviderLibrary": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Custom quote provider library to use.", "example": {"_type": "literalExpression", "text": "pkgs.sgx-azure-dcap-client"}, "loc": ["services", "aesmd", "quoteProviderLibrary"], "readOnly": false, "type": "null or absolute path"}, "services.aesmd.settings": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "AESM configuration", "loc": ["services", "aesmd", "settings"], "readOnly": false, "type": "submodule"}, "services.aesmd.settings.defaultQuotingType": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Attestation quote type.", "example": {"_type": "literalExpression", "text": "\"ecdsa_256\""}, "loc": ["services", "aesmd", "settings", "defaultQuotingType"], "readOnly": false, "type": "null or one of \"ecdsa_256\", \"epid_linkable\", \"epid_unlinkable\""}, "services.aesmd.settings.proxy": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "HTTP network proxy.", "example": {"_type": "literalExpression", "text": "\"http://proxy_url:1234\""}, "loc": ["services", "aesmd", "settings", "proxy"], "readOnly": false, "type": "null or string"}, "services.aesmd.settings.proxyType": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "if (config.services.aesmd.settings.proxy != null) then \"manual\" else null\n"}, "description": "Type of proxy to use. The `default` uses the system's default proxy.\nIf `direct` is given, uses no proxy.\nA value of `manual` uses the proxy from\n{option}`services.aesmd.settings.proxy`.\n", "example": {"_type": "literalExpression", "text": "\"default\""}, "loc": ["services", "aesmd", "settings", "proxyType"], "readOnly": false, "type": "null or one of \"default\", \"direct\", \"manual\""}, "services.aesmd.settings.whitelistUrl": {"declarations": ["nixos/modules/services/security/aesmd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL to retrieve authorized Intel SGX enclave signers.", "example": {"_type": "literalExpression", "text": "\"http://whitelist.trustedservices.intel.com/SGX/LCWL/Linux/sgx_white_list_cert.bin\""}, "loc": ["services", "aesmd", "settings", "whitelistUrl"], "readOnly": false, "type": "null or string"}, "services.agate.addresses": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"0.0.0.0:1965\"\n]"}, "description": "Addresses to listen on, IP:PORT, if you haven't disabled forwarding\nonly set IPv4.\n", "loc": ["services", "agate", "addresses"], "readOnly": false, "type": "list of string"}, "services.agate.certificatesDir": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/agate/certificates\""}, "description": "Root of the certificate directory.", "loc": ["services", "agate", "certificatesDir"], "readOnly": false, "type": "absolute path"}, "services.agate.contentDir": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/agate/content\""}, "description": "Root of the content directory.", "loc": ["services", "agate", "contentDir"], "readOnly": false, "type": "absolute path"}, "services.agate.enable": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Agate Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "agate", "enable"], "readOnly": false, "type": "boolean"}, "services.agate.extraArgs": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"\"\n]"}, "description": "Extra arguments to use running agate.", "example": {"_type": "literalExpression", "text": "[\n  \"--log-ip\"\n]"}, "loc": ["services", "agate", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.agate.hostnames": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Domain name of this Gemini server, enables checking hostname and port\nin requests. (multiple occurrences means basic vhosts)\n", "loc": ["services", "agate", "hostnames"], "readOnly": false, "type": "list of string"}, "services.agate.language": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "RFC 4646 Language code for text/gemini documents.", "loc": ["services", "agate", "language"], "readOnly": false, "type": "null or string"}, "services.agate.onlyTls_1_3": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Only use TLSv1.3 (default also allows TLSv1.2).", "loc": ["services", "agate", "onlyTls_1_3"], "readOnly": false, "type": "boolean"}, "services.agate.package": {"declarations": ["nixos/modules/services/web-servers/agate.nix"], "default": {"_type": "literalExpression", "text": "pkgs.agate"}, "description": "The agate package to use.", "loc": ["services", "agate", "package"], "readOnly": false, "type": "package"}, "services.agorakit.appKeyFile": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "description": "A file containing the Laravel APP_KEY - a 32 character long,\nbase64 encoded key used for encryption where needed. Can be\ngenerated with <code>head -c 32 /dev/urandom | base64</code>.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/agorakit-appkey\""}, "loc": ["services", "agorakit", "appKeyFile"], "readOnly": false, "type": "absolute path"}, "services.agorakit.appURL": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"http\\${lib.optionalString tlsEnabled \\\"s\\\"}://\\${cfg.hostName}\""}, "description": "The root URL that you want to host agorakit on. All URLs in agorakit will be generated using this value.\nIf you change this in the future you may need to run a command to update stored URLs in the database.\nCommand example: <code>php artisan agorakit:update-url https://old.example.com https://new.example.com</code>\n", "example": {"_type": "literalExpression", "text": "\"https://example.com\""}, "loc": ["services", "agorakit", "appURL"], "readOnly": false, "type": "string"}, "services.agorakit.config": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Agorakit configuration options to set in the\n<filename>.env</filename> file.\n\nRefer to <link xlink:href=\"https://github.com/agorakit/agorakit\"/>\nfor details on supported values.\n\nSettings containing secret data should be set to an attribute\nset containing the attribute <literal>_secret</literal> - a\nstring pointing to a file containing the value the option\nshould be set to. See the example to get a better picture of\nthis: in the resulting <filename>.env</filename> file, the\n<literal>OIDC_CLIENT_SECRET</literal> key will be set to the\ncontents of the <filename>/run/keys/oidc_secret</filename>\nfile.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    ALLOWED_IFRAME_HOSTS = \"https://example.com\";\n    AUTH_METHOD = \"oidc\";\n    OIDC_NAME = \"MyLogin\";\n    OIDC_DISPLAY_NAME_CLAIMS = \"name\";\n    OIDC_CLIENT_ID = \"agorakit\";\n    OIDC_CLIENT_SECRET = {_secret = \"/run/keys/oidc_secret\"};\n    OIDC_ISSUER = \"https://keycloak.example.com/auth/realms/My%20Realm\";\n    OIDC_ISSUER_DISCOVER = true;\n  }\n''"}, "loc": ["services", "agorakit", "config"], "readOnly": false, "type": "attribute set of (null or boolean or signed integer or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or absolute path or string or (submodule))"}, "services.agorakit.dataDir": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/agorakit\""}, "description": "agorakit data directory", "loc": ["services", "agorakit", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.agorakit.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "agorakit", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.agorakit.database.host": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host address.", "loc": ["services", "agorakit", "database", "host"], "readOnly": false, "type": "string"}, "services.agorakit.database.name": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"agorakit\""}, "description": "Database name.", "loc": ["services", "agorakit", "database", "name"], "readOnly": false, "type": "string"}, "services.agorakit.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n<option>database.user</option>.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/agorakit-dbpassword\""}, "loc": ["services", "agorakit", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.database.port": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port.", "loc": ["services", "agorakit", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.agorakit.database.user": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "user"}, "description": "Database username.", "loc": ["services", "agorakit", "database", "user"], "readOnly": false, "type": "string"}, "services.agorakit.enable": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable agorakit.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "agorakit", "enable"], "readOnly": false, "type": "boolean"}, "services.agorakit.group": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"agorakit\""}, "description": "Group agorakit runs as.", "loc": ["services", "agorakit", "group"], "readOnly": false, "type": "string"}, "services.agorakit.hostName": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdn"}, "description": "The hostname to serve agorakit on.\n", "example": {"_type": "literalExpression", "text": "\"agorakit.example.com\""}, "loc": ["services", "agorakit", "hostName"], "readOnly": false, "type": "string"}, "services.agorakit.mail.driver": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"smtp\""}, "description": "Mail driver to use.", "loc": ["services", "agorakit", "mail", "driver"], "readOnly": false, "type": "one of \"smtp\", \"sendmail\""}, "services.agorakit.mail.encryption": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SMTP encryption mechanism to use.", "loc": ["services", "agorakit", "mail", "encryption"], "readOnly": false, "type": "null or value \"tls\" (singular enum)"}, "services.agorakit.mail.from": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"mail@agorakit.com\""}, "description": "Mail \"from\" email.", "loc": ["services", "agorakit", "mail", "from"], "readOnly": false, "type": "string"}, "services.agorakit.mail.fromName": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"agorakit\""}, "description": "Mail \"from\" name.", "loc": ["services", "agorakit", "mail", "fromName"], "readOnly": false, "type": "string"}, "services.agorakit.mail.host": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Mail host address.", "loc": ["services", "agorakit", "mail", "host"], "readOnly": false, "type": "string"}, "services.agorakit.mail.passwordFile": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n<option>mail.user</option>.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/agorakit-mailpassword\""}, "loc": ["services", "agorakit", "mail", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.mail.port": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "1025"}, "description": "Mail host port.", "loc": ["services", "agorakit", "mail", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.agorakit.mail.user": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mail username.", "example": {"_type": "literalExpression", "text": "\"agorakit\""}, "loc": ["services", "agorakit", "mail", "user"], "readOnly": false, "type": "null or string"}, "services.agorakit.maxUploadSize": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"18M\""}, "description": "The maximum size for uploads (e.g. images).", "example": {"_type": "literalExpression", "text": "\"1G\""}, "loc": ["services", "agorakit", "maxUploadSize"], "readOnly": false, "type": "string"}, "services.agorakit.nginx": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "With this option, you can customize the nginx virtualHost settings.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    serverAliases = [\n      \"agorakit.''${config.networking.domain}\"\n    ];\n    # To enable encryption and let let's encrypt take care of certificate\n    forceSSL = true;\n    enableACME = true;\n  }\n''"}, "loc": ["services", "agorakit", "nginx"], "readOnly": false, "type": "submodule"}, "services.agorakit.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "agorakit", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "agorakit", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "agorakit", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "agorakit", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.agorakit.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "agorakit", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.nginx.default": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "agorakit", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "agorakit", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "agorakit", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.agorakit.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "agorakit", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "agorakit", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "agorakit", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "agorakit", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "agorakit", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "agorakit", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "agorakit", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.agorakit.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "description": "Listen address.", "loc": ["services", "agorakit", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.agorakit.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "agorakit", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.agorakit.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "agorakit", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.agorakit.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "agorakit", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "agorakit", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "agorakit", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.agorakit.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "agorakit", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.agorakit.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.agorakit.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "agorakit", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "agorakit", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.agorakit.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "agorakit", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.agorakit.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "agorakit", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.agorakit.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "agorakit", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "agorakit", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.agorakit.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "agorakit", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "agorakit", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "agorakit", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "agorakit", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.agorakit.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "agorakit", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "agorakit", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.agorakit.nginx.root": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "agorakit", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "agorakit", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.agorakit.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "agorakit", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.agorakit.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "agorakit", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.agorakit.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "agorakit", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.agorakit.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "agorakit", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.agorakit.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "agorakit", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.agorakit.phpPackage": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.php82"}, "description": "The php82 package to use.", "loc": ["services", "agorakit", "phpPackage"], "readOnly": false, "type": "package"}, "services.agorakit.poolConfig": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the agorakit PHP pool. See the documentation on <literal>php-fpm.conf</literal>\nfor details on configuration directives.\n", "loc": ["services", "agorakit", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.agorakit.user": {"declarations": ["nixos/modules/services/web-apps/agorakit.nix"], "default": {"_type": "literalExpression", "text": "\"agorakit\""}, "description": "User agorakit runs as.", "loc": ["services", "agorakit", "user"], "readOnly": false, "type": "string"}, "services.airsonic.contextPath": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "The context path, i.e., the last part of the Airsonic\nURL. Typically '/' or '/airsonic'. Default '/'\n", "loc": ["services", "airsonic", "contextPath"], "readOnly": false, "type": "absolute path"}, "services.airsonic.enable": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Airsonic, the Free and Open Source media streaming server (fork of Subsonic and Libresonic).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "airsonic", "enable"], "readOnly": false, "type": "boolean"}, "services.airsonic.home": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/airsonic\""}, "description": "The directory where Airsonic will create files.\nMake sure it is writable.\n", "loc": ["services", "airsonic", "home"], "readOnly": false, "type": "absolute path"}, "services.airsonic.jre": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jre8"}, "description": "The jre8 package to use. ::: {.note}\nAirsonic only supports Java 8, airsonic-advanced requires at least\nJava 11.\n:::\n", "loc": ["services", "airsonic", "jre"], "readOnly": false, "type": "package"}, "services.airsonic.jvmOptions": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options for the JVM running AirSonic.\nUseful for sending jukebox output to non-default alsa\ndevices.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-Djavax.sound.sampled.Clip='#CODEC [plughw:1,0]'\"\n  \"-Djavax.sound.sampled.Port='#Port CODEC [hw:1]'\"\n  \"-Djavax.sound.sampled.SourceDataLine='#CODEC [plughw:1,0]'\"\n  \"-Djavax.sound.sampled.TargetDataLine='#CODEC [plughw:1,0]'\"\n]"}, "loc": ["services", "airsonic", "jvmOptions"], "readOnly": false, "type": "list of string"}, "services.airsonic.listenAddress": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host name or IP address on which to bind Airsonic.\nThe default value is appropriate for first launch, when the\ndefault credentials are easy to guess. It is also appropriate\nif you intend to use the virtualhost option in the service\nmodule. In other cases, you may want to change this to a\nspecific IP or 0.0.0.0 to listen on all interfaces.\n", "loc": ["services", "airsonic", "listenAddress"], "readOnly": false, "type": "string"}, "services.airsonic.maxMemory": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "100"}, "description": "The memory limit (max Java heap size) in megabytes.\nDefault: 100\n", "loc": ["services", "airsonic", "maxMemory"], "readOnly": false, "type": "signed integer"}, "services.airsonic.port": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "4040"}, "description": "The port on which Airsonic will listen for\nincoming HTTP traffic. Set to 0 to disable.\n", "loc": ["services", "airsonic", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.airsonic.transcoders": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "[ \"${pkgs.ffmpeg.bin}/bin/ffmpeg\" ]"}, "description": "List of paths to transcoder executables that should be accessible\nfrom Airsonic. Symlinks will be created to each executable inside\n${config.services.airsonic.home}/transcoders.\n", "loc": ["services", "airsonic", "transcoders"], "readOnly": false, "type": "list of absolute path"}, "services.airsonic.user": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "\"airsonic\""}, "description": "User account under which airsonic runs.", "loc": ["services", "airsonic", "user"], "readOnly": false, "type": "string"}, "services.airsonic.virtualHost": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.\n", "loc": ["services", "airsonic", "virtualHost"], "readOnly": false, "type": "null or string"}, "services.airsonic.war": {"declarations": ["nixos/modules/services/misc/airsonic.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.airsonic}/webapps/airsonic.war\""}, "description": "Airsonic war file to use.", "loc": ["services", "airsonic", "war"], "readOnly": false, "type": "absolute path"}, "services.akkoma.config": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Configuration for Akkoma. The attributes are serialised to Elixir DSL.\n\nRefer to <https://docs.akkoma.dev/stable/configuration/cheatsheet/> for\nconfiguration options.\n\nSettings containing secret data should be set to an attribute set containing the\nattribute `_secret` - a string pointing to a file containing the value the option\nshould be set to.\n", "loc": ["services", "akkoma", "config"], "readOnly": false, "type": "open submodule of attribute set of attribute set of (Elixir value)"}, "services.akkoma.config.\":joken\".\":default_signer\"": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  _secret = \"/var/lib/secrets/akkoma/jwt-signer\";\n}"}, "description": "JWT signing secret.\n\nThe attribute `_secret` should point to a file containing the secret.\n\nThis secret can be generated as follows:\n\n```ShellSession\n$ tr -dc 'A-Za-z0-9-._~' </dev/urandom | head -c 64\n```\n", "loc": ["services", "akkoma", "config", ":joken", ":default_signer"], "readOnly": false, "type": "secret value"}, "services.akkoma.config.\":logger\".\":ex_syslogger\".level": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\":info\""}, "description": "Log level.\n\nRefer to\n<https://hexdocs.pm/logger/Logger.html#module-levels>\nfor options.\n", "example": {"_type": "literalExpression", "text": "\":warning\""}, "loc": ["services", "akkoma", "config", ":logger", ":ex_syslogger", "level"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.config.\":pleroma\".\":frontends\"": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "lib.mapAttrs (key: val:\n  (pkgs.formats.elixirConf { }).lib.mkMap { name = val.name; ref = val.ref; })\n  config.services.akkoma.frontends;\n"}, "description": "Frontend configuration.\n\nUsers should rely on the default value and prefer to configure frontends through\n[{option}`config.services.akkoma.frontends`](#opt-services.akkoma.frontends).\n", "loc": ["services", "akkoma", "config", ":pleroma", ":frontends"], "readOnly": false, "type": "Elixir value"}, "services.akkoma.config.\":pleroma\".\":instance\".description": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Instance description.", "loc": ["services", "akkoma", "config", ":pleroma", ":instance", "description"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.config.\":pleroma\".\":instance\".email": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Instance administrator email.", "loc": ["services", "akkoma", "config", ":pleroma", ":instance", "email"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.config.\":pleroma\".\":instance\".name": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Instance name.", "loc": ["services", "akkoma", "config", ":pleroma", ":instance", "name"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.config.\":pleroma\".\":instance\".static_dir": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalMD", "text": "Derivation gathering the following paths into a directory:\n\n- [{option}`services.akkoma.frontends`](#opt-services.akkoma.frontends)\n- [{option}`services.akkoma.extraStatic`](#opt-services.akkoma.extraStatic)\n"}, "description": "Directory of static files.\n\nThis directory can be built using a derivation, or it can be managed as mutable\nstate by setting the option to an absolute path.\n", "loc": ["services", "akkoma", "config", ":pleroma", ":instance", "static_dir"], "readOnly": false, "type": "absolute path"}, "services.akkoma.config.\":pleroma\".\":instance\".upload_dir": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/akkoma/uploads\""}, "description": "Directory where Akkoma will put uploaded files.\n", "loc": ["services", "akkoma", "config", ":pleroma", ":instance", "upload_dir"], "readOnly": false, "type": "absolute path"}, "services.akkoma.config.\":pleroma\".\":media_proxy\".base_url": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "if lib.versionOlder config.system.stateVersion \"24.05\"\nthen \"$\\{httpConf.scheme}://$\\{httpConf.host}:$\\{toString httpConf.port}\"\nelse null;\n"}, "description": "Base path for the media proxy.\nWhilst this can just be set to a subdirectory of the main domain, it is now recommended to use a different subdomain.\n", "loc": ["services", "akkoma", "config", ":pleroma", ":media_proxy", "base_url"], "readOnly": false, "type": "null or non-empty string"}, "services.akkoma.config.\":pleroma\".\":media_proxy\".enabled": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable proxying of remote media through the instance's proxy.\n", "loc": ["services", "akkoma", "config", ":pleroma", ":media_proxy", "enabled"], "readOnly": false, "type": "boolean"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Repo\"": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  adapter = (pkgs.formats.elixirConf { }).lib.mkRaw \"Ecto.Adapters.Postgres\";\n  socket_dir = \"/run/postgresql\";\n  username = config.services.akkoma.user;\n  database = \"akkoma\";\n}\n"}, "description": "Database configuration.\n\nRefer to\n<https://hexdocs.pm/ecto_sql/Ecto.Adapters.Postgres.html#module-connection-options>\nfor options.\n", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Repo"], "readOnly": false, "type": "Elixir value"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Upload\".base_url": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "if lib.versionOlder config.system.stateVersion \"24.05\"\nthen \"$\\{httpConf.scheme}://$\\{httpConf.host}:$\\{toString httpConf.port}/media/\"\nelse null;\n"}, "description": "Base path which uploads will be stored at.\nWhilst this can just be set to a subdirectory of the main domain, it is now recommended to use a different subdomain.\n", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Upload", "base_url"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".http.ip": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"/run/akkoma/socket\""}, "description": "Listener IP address or Unix socket path.\n\nThe value is automatically converted to Elixir\u2019s internal address\nrepresentation during serialisation.\n", "example": {"_type": "literalExpression", "text": "\"::1\""}, "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "http", "ip"], "readOnly": false, "type": "absolute path or IPv4 or IPv6 address"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".http.port": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "if isAbsolutePath config.services.akkoma.config.:pleroma\".\"Pleroma.Web.Endpoint\".http.ip\n  then 0\n  else 4000;\n"}, "description": "Listener port number.\n\nMust be 0 if using a Unix socket.\n", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".live_view.signing_salt": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  _secret = \"/var/lib/secrets/akkoma/liveview-salt\";\n}"}, "description": "LiveView signing salt.\n\nThe attribute `_secret` should point to a file containing the secret.\n\nThis salt can be generated as follows:\n\n```ShellSession\n$ tr -dc 'A-Za-z0-9-._~' </dev/urandom | head -c 8\n```\n", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "live_view", "signing_salt"], "readOnly": false, "type": "secret value"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".secret_key_base": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  _secret = \"/var/lib/secrets/akkoma/key-base\";\n}"}, "description": "Secret key used as a base to generate further secrets for encrypting and\nsigning data.\n\nThe attribute `_secret` should point to a file containing the secret.\n\nThis key can generated can be generated as follows:\n\n```ShellSession\n$ tr -dc 'A-Za-z-._~' </dev/urandom | head -c 64\n```\n", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "secret_key_base"], "readOnly": false, "type": "secret value"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".signing_salt": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  _secret = \"/var/lib/secrets/akkoma/signing-salt\";\n}"}, "description": "Signing salt.\n\nThe attribute `_secret` should point to a file containing the secret.\n\nThis salt can be generated as follows:\n\n```ShellSession\n$ tr -dc 'A-Za-z0-9-._~' </dev/urandom | head -c 8\n```\n", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "signing_salt"], "readOnly": false, "type": "secret value"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".url.host": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdn"}, "description": "Domain name of the instance.", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "url", "host"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".url.port": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "443"}, "description": "External port number.", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "url", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.akkoma.config.\":pleroma\".\"Pleroma.Web.Endpoint\".url.scheme": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"https\""}, "description": "URL scheme.", "loc": ["services", "akkoma", "config", ":pleroma", "Pleroma.Web.Endpoint", "url", "scheme"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.config.\":web_push_encryption\"": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Web Push Notifications configuration.\n\nThe necessary key pair can be generated as follows:\n\n```ShellSession\n$ nix-shell -p nodejs --run 'npx web-push generate-vapid-keys'\n```\n", "loc": ["services", "akkoma", "config", ":web_push_encryption"], "readOnly": false, "type": "open submodule of (Elixir value)"}, "services.akkoma.config.\":web_push_encryption\".\":vapid_details\".private_key": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  _secret = \"/var/lib/secrets/akkoma/vapid-private\";\n}"}, "description": "base64-encoded private ECDH key.\n\nThe attribute `_secret` should point to a file containing the secret.\n", "loc": ["services", "akkoma", "config", ":web_push_encryption", ":vapid_details", "private_key"], "readOnly": false, "type": "secret value"}, "services.akkoma.config.\":web_push_encryption\".\":vapid_details\".public_key": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  _secret = \"/var/lib/secrets/akkoma/vapid-public\";\n}"}, "description": "base64-encoded public ECDH key.", "loc": ["services", "akkoma", "config", ":web_push_encryption", ":vapid_details", "public_key"], "readOnly": false, "type": "non-empty string or secret value"}, "services.akkoma.config.\":web_push_encryption\".\":vapid_details\".subject": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"mailto:${config.services.akkoma.config.\":pleroma\".\":instance\".email}\"\n"}, "description": "mailto URI for administrative contact.", "loc": ["services", "akkoma", "config", ":web_push_encryption", ":vapid_details", "subject"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.dist.address": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address for Erlang distribution protocol and Port Mapper Daemon (epmd).\n", "loc": ["services", "akkoma", "dist", "address"], "readOnly": false, "type": "IPv4 or IPv6 address"}, "services.akkoma.dist.cookie": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Erlang release cookie.\n\nIf set to `null`, a temporary random cookie will be generated.\n", "example": {"_type": "literalExpression", "text": "{\n  _secret = \"/var/lib/secrets/akkoma/releaseCookie\";\n}"}, "loc": ["services", "akkoma", "dist", "cookie"], "readOnly": false, "type": "null or secret value"}, "services.akkoma.dist.epmdPort": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "4369"}, "description": "TCP port to bind Erlang Port Mapper Daemon to.", "loc": ["services", "akkoma", "dist", "epmdPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.akkoma.dist.extraFlags": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to Erlang", "example": {"_type": "literalExpression", "text": "[\n  \"+sbwt\"\n  \"none\"\n  \"+sbwtdcpu\"\n  \"none\"\n  \"+sbwtdio\"\n  \"none\"\n]"}, "loc": ["services", "akkoma", "dist", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.akkoma.dist.portMax": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "65535"}, "description": "Upper bound for Erlang distribution protocol TCP port.", "loc": ["services", "akkoma", "dist", "portMax"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.akkoma.dist.portMin": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "49152"}, "description": "Lower bound for Erlang distribution protocol TCP port.", "loc": ["services", "akkoma", "dist", "portMin"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.akkoma.enable": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Akkoma.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "akkoma", "enable"], "readOnly": false, "type": "boolean"}, "services.akkoma.extraPackages": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "with pkgs; [ exiftool ffmpeg-headless imagemagick ]"}, "description": "List of extra packages to include in the executable search path of the service unit.\nThese are needed by various configurable components such as:\n\n- ExifTool for the `Pleroma.Upload.Filter.Exiftool` upload filter,\n- ImageMagick for still image previews in the media proxy as well as for the\n  `Pleroma.Upload.Filters.Mogrify` upload filter, and\n- ffmpeg for video previews in the media proxy.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ exiftool ffmpeg-full imagemagick ]"}, "loc": ["services", "akkoma", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.akkoma.extraStatic": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Attribute set of extra paths to add to the static files directory.\n\nDo not add frontends here. These should be configured through\n[{option}`services.akkoma.frontends`](#opt-services.akkoma.frontends).\n", "example": {"_type": "literalExpression", "text": "{\n  \"emoji/blobs.gg\" = pkgs.blobs_gg;\n  \"static/terms-of-service.html\" = pkgs.writeText \"terms-of-service.html\" ''\n    \u2026\n  '';\n  \"favicon.png\" = let\n    rev = \"697a8211b0f427a921e7935a35d14bb3e32d0a2c\";\n  in pkgs.stdenvNoCC.mkDerivation {\n    name = \"favicon.png\";\n\n    src = pkgs.fetchurl {\n      url = \"https://raw.githubusercontent.com/TilCreator/NixOwO/${rev}/NixOwO_plain.svg\";\n      hash = \"sha256-tWhHMfJ3Od58N9H5yOKPMfM56hYWSOnr/TGCBi8bo9E=\";\n    };\n\n    nativeBuildInputs = with pkgs; [ librsvg ];\n\n    dontUnpack = true;\n    installPhase = ''\n      rsvg-convert -o $out -w 96 -h 96 $src\n    '';\n  };\n}\n"}, "loc": ["services", "akkoma", "extraStatic"], "readOnly": false, "type": "null or (attribute set of path in the Nix store)"}, "services.akkoma.frontends": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{\n  primary = {\n    package = pkgs.akkoma-fe;\n    name = \"akkoma-fe\";\n    ref = \"stable\";\n  };\n  admin = {\n    package = pkgs.akkoma-admin-fe;\n    name = \"admin-fe\";\n    ref = \"stable\";\n  };\n}\n"}, "description": "Akkoma frontends.", "loc": ["services", "akkoma", "frontends"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.akkoma.frontends.<name>.name": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Akkoma frontend name.", "example": {"_type": "literalExpression", "text": "\"akkoma-fe\""}, "loc": ["services", "akkoma", "frontends", "<name>", "name"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.frontends.<name>.package": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Akkoma frontend package.", "example": {"_type": "literalExpression", "text": "pkgs.akkoma-fe"}, "loc": ["services", "akkoma", "frontends", "<name>", "package"], "readOnly": false, "type": "package"}, "services.akkoma.frontends.<name>.ref": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Akkoma frontend reference.", "example": {"_type": "literalExpression", "text": "\"stable\""}, "loc": ["services", "akkoma", "frontends", "<name>", "ref"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.group": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"akkoma\""}, "description": "Group account under which Akkoma runs.", "loc": ["services", "akkoma", "group"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.initDb.enable": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to automatically initialise the database on startup. This will create a\ndatabase role and database if they do not already exist, and (re)set the role password\nand the ownership of the database.\n\nThis setting can be used safely even if the database already exists and contains data.\n\nThe database settings are configured through\n[{option}`config.services.akkoma.config.\":pleroma\".\"Pleroma.Repo\"`](#opt-services.akkoma.config.__pleroma_._Pleroma.Repo_).\n\nIf disabled, the database has to be set up manually:\n\n```SQL\nCREATE ROLE akkoma LOGIN;\n\nCREATE DATABASE akkoma\n  OWNER akkoma\n  TEMPLATE template0\n  ENCODING 'utf8'\n  LOCALE 'C';\n\n\\connect akkoma\nCREATE EXTENSION IF NOT EXISTS citext;\nCREATE EXTENSION IF NOT EXISTS pg_trgm;\nCREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";\n```\n", "loc": ["services", "akkoma", "initDb", "enable"], "readOnly": false, "type": "boolean"}, "services.akkoma.initDb.password": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password of the database user to initialise the database with.\n\nIf set to `null`, no password will be used.\n\nThe attribute `_secret` should point to a file containing the secret.\n", "loc": ["services", "akkoma", "initDb", "password"], "readOnly": false, "type": "null or secret value"}, "services.akkoma.initDb.username": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "config.services.postgresql.superUser"}, "description": "Name of the database user to initialise the database with.\n\nThis user is required to have the `CREATEROLE` and `CREATEDB` capabilities.\n", "loc": ["services", "akkoma", "initDb", "username"], "readOnly": false, "type": "non-empty string"}, "services.akkoma.initSecrets": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to initialise non\u2010existent secrets with random values.\n\nIf enabled, appropriate secrets for the following options will be created automatically\nif the files referenced in the `_secrets` attribute do not exist during startup.\n\n- {option}`config.\":pleroma\".\"Pleroma.Web.Endpoint\".secret_key_base`\n- {option}`config.\":pleroma\".\"Pleroma.Web.Endpoint\".signing_salt`\n- {option}`config.\":pleroma\".\"Pleroma.Web.Endpoint\".live_view.signing_salt`\n- {option}`config.\":web_push_encryption\".\":vapid_details\".private_key`\n- {option}`config.\":web_push_encryption\".\":vapid_details\".public_key`\n- {option}`config.\":joken\".\":default_signer\"`\n", "loc": ["services", "akkoma", "initSecrets"], "readOnly": false, "type": "boolean"}, "services.akkoma.installWrapper": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to install a wrapper around `pleroma_ctl` to simplify administration of the\nAkkoma instance.\n", "loc": ["services", "akkoma", "installWrapper"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra configuration for the nginx virtual host of Akkoma.\n\nIf set to `null`, no virtual host will be added to the nginx configuration.\n", "loc": ["services", "akkoma", "nginx"], "readOnly": false, "type": "null or (submodule)"}, "services.akkoma.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "akkoma", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "akkoma", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "akkoma", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "akkoma", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.akkoma.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "akkoma", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.akkoma.nginx.default": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "akkoma", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "akkoma", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "akkoma", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.akkoma.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "akkoma", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "akkoma", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "akkoma", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "akkoma", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "akkoma", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "akkoma", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "akkoma", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.akkoma.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Listen address.", "loc": ["services", "akkoma", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.akkoma.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "akkoma", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.akkoma.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "akkoma", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.akkoma.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "akkoma", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "akkoma", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "akkoma", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.akkoma.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "akkoma", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.akkoma.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.akkoma.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.akkoma.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "akkoma", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.akkoma.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "akkoma", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.akkoma.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "akkoma", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.akkoma.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "akkoma", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.akkoma.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "akkoma", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "akkoma", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.akkoma.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.akkoma.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "akkoma", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "akkoma", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "akkoma", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "akkoma", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.akkoma.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "akkoma", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "akkoma", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.akkoma.nginx.root": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "akkoma", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.akkoma.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "akkoma", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.akkoma.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "akkoma", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.akkoma.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "akkoma", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.akkoma.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "akkoma", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.akkoma.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "akkoma", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.akkoma.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "akkoma", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.akkoma.package": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "pkgs.akkoma"}, "description": "The akkoma package to use.", "loc": ["services", "akkoma", "package"], "readOnly": false, "type": "package"}, "services.akkoma.user": {"declarations": ["nixos/modules/services/web-apps/akkoma.nix"], "default": {"_type": "literalExpression", "text": "\"akkoma\""}, "description": "User account under which Akkoma runs.", "loc": ["services", "akkoma", "user"], "readOnly": false, "type": "non-empty string"}, "services.alerta.authenticationRequired": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether users must authenticate when using the web UI or command-line tool", "loc": ["services", "alerta", "authenticationRequired"], "readOnly": false, "type": "boolean"}, "services.alerta.bind": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Address to bind to. The default is to bind to all addresses", "loc": ["services", "alerta", "bind"], "readOnly": false, "type": "string"}, "services.alerta.corsOrigins": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"http://localhost\"\n  \"http://localhost:5000\"\n]"}, "description": "List of URLs that can access the API for Cross-Origin Resource Sharing (CORS)", "loc": ["services", "alerta", "corsOrigins"], "readOnly": false, "type": "list of string"}, "services.alerta.databaseName": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "\"monitoring\""}, "description": "Name of the database instance to connect to", "loc": ["services", "alerta", "databaseName"], "readOnly": false, "type": "string"}, "services.alerta.databaseUrl": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "\"mongodb://localhost\""}, "description": "URL of the MongoDB or PostgreSQL database to connect to", "loc": ["services", "alerta", "databaseUrl"], "readOnly": false, "type": "string"}, "services.alerta.enable": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable alerta.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "alerta", "enable"], "readOnly": false, "type": "boolean"}, "services.alerta.extraConfig": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go into alertad.conf verbatim.", "loc": ["services", "alerta", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.alerta.logDir": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/alerta\""}, "description": "Location where the logfiles are stored", "loc": ["services", "alerta", "logDir"], "readOnly": false, "type": "absolute path"}, "services.alerta.port": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "Port of Alerta", "loc": ["services", "alerta", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.alerta.signupEnabled": {"declarations": ["nixos/modules/services/monitoring/alerta.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to prevent sign-up of new users via the web UI", "loc": ["services", "alerta", "signupEnabled"], "readOnly": false, "type": "boolean"}, "services.alice-lg.enable": {"declarations": ["nixos/modules/services/networking/alice-lg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Alice Looking Glass.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "alice-lg", "enable"], "readOnly": false, "type": "boolean"}, "services.alice-lg.package": {"declarations": ["nixos/modules/services/networking/alice-lg.nix"], "default": {"_type": "literalExpression", "text": "pkgs.alice-lg"}, "description": "The alice-lg package to use.", "loc": ["services", "alice-lg", "package"], "readOnly": false, "type": "package"}, "services.alice-lg.settings": {"declarations": ["nixos/modules/services/networking/alice-lg.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "alice-lg configuration, for configuration options see the example on [github](https://github.com/alice-lg/alice-lg/blob/main/etc/alice-lg/alice.example.conf)\n", "example": {"_type": "literalExpression", "text": "{\n  server = {\n    # configures the built-in webserver and provides global application settings\n    listen_http = \"127.0.0.1:7340\";\n    enable_prefix_lookup = true;\n    asn = 9033;\n    store_backend = postgres;\n    routes_store_refresh_parallelism = 5;\n    neighbors_store_refresh_parallelism = 10000;\n    routes_store_refresh_interval = 5;\n    neighbors_store_refresh_interval = 5;\n  };\n  postgres = {\n    url = \"postgres://postgres:postgres@localhost:5432/alice\";\n    min_connections = 2;\n    max_connections = 128;\n  };\n  pagination = {\n    routes_filtered_page_size = 250;\n    routes_accepted_page_size = 250;\n    routes_not_exported_page_size = 250;\n  };\n}\n"}, "loc": ["services", "alice-lg", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.alloy.configPath": {"declarations": ["nixos/modules/services/monitoring/alloy.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/alloy\""}, "description": "Alloy configuration file/directory path.\n\nWe default to `/etc/alloy` here, and expect the user to configure a\nconfiguration file via `environment.etc.\"alloy/config.alloy\"`.\n\nThis allows config reload, contrary to specifying a store path.\n\nAll `.alloy` files in the same directory (ignoring subdirs) are also\nhonored and are added to `systemd.services.alloy.reloadTriggers` to\nenable config reload during nixos-rebuild switch.\n\nThis can also point to another directory containing `*.alloy` files, or\na single Alloy file in the Nix store (at the cost of reload).\n\nComponent names must be unique across all Alloy configuration files, and\nconfiguration blocks must not be repeated.\n\nAlloy will continue to run if subsequent reloads of the configuration\nfile fail, potentially marking components as unhealthy depending on\nthe nature of the failure. When this happens, Alloy will continue\nfunctioning in the last valid state.\n", "loc": ["services", "alloy", "configPath"], "readOnly": false, "type": "absolute path"}, "services.alloy.enable": {"declarations": ["nixos/modules/services/monitoring/alloy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Grafana Alloy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "alloy", "enable"], "readOnly": false, "type": "boolean"}, "services.alloy.environmentFile": {"declarations": ["nixos/modules/services/monitoring/alloy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "EnvironmentFile as defined in {manpage}`systemd.exec(5)`.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/alloy.env\""}, "loc": ["services", "alloy", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.alloy.extraFlags": {"declarations": ["nixos/modules/services/monitoring/alloy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line flags passed to {command}`alloy run`.\n\nSee <https://grafana.com/docs/alloy/latest/reference/cli/run/>\n", "example": {"_type": "literalExpression", "text": "[\n  \"--server.http.listen-addr=127.0.0.1:12346\"\n  \"--disable-reporting\"\n]"}, "loc": ["services", "alloy", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.alloy.package": {"declarations": ["nixos/modules/services/monitoring/alloy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.grafana-alloy"}, "description": "The grafana-alloy package to use.", "loc": ["services", "alloy", "package"], "readOnly": false, "type": "package"}, "services.alps.bindIP": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "\"[::]\""}, "description": "The IP the service should listen on.\n", "loc": ["services", "alps", "bindIP"], "readOnly": false, "type": "string"}, "services.alps.enable": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable alps.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "alps", "enable"], "readOnly": false, "type": "boolean"}, "services.alps.imaps.host": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "\"[::1]\""}, "description": "The IMAPS server address.\n", "example": {"_type": "literalExpression", "text": "\"mail.example.org\""}, "loc": ["services", "alps", "imaps", "host"], "readOnly": false, "type": "string"}, "services.alps.imaps.port": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "993"}, "description": "The IMAPS server port.\n", "loc": ["services", "alps", "imaps", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.alps.port": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "1323"}, "description": "TCP port the service should listen on.\n", "loc": ["services", "alps", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.alps.smtps.host": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "\"services.alps.imaps.host\""}, "description": "The SMTPS server address.\n", "example": {"_type": "literalExpression", "text": "\"mail.example.org\""}, "loc": ["services", "alps", "smtps", "host"], "readOnly": false, "type": "string"}, "services.alps.smtps.port": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "465"}, "description": "The SMTPS server port.\n", "loc": ["services", "alps", "smtps", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.alps.theme": {"declarations": ["nixos/modules/services/web-apps/alps.nix"], "default": {"_type": "literalExpression", "text": "\"sourcehut\""}, "description": "The frontend's theme to use.\n", "loc": ["services", "alps", "theme"], "readOnly": false, "type": "one of \"alps\", \"sourcehut\""}, "services.amazon-cloudwatch-agent.commonConfiguration": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See {option}`commonConfigurationFile`.\n\n{option}`commonConfigurationFile` takes precedence over {option}`commonConfiguration`.\n", "example": {"_type": "literalExpression", "text": "{\n  credentials = {\n    shared_credential_file = \"/path/to/credentials\";\n    shared_credential_profile = \"profile_name\";\n  };\n  proxy = {\n    http_proxy = \"http_url\";\n    https_proxy = \"https_url\";\n    no_proxy = \"domain\";\n  };\n}"}, "loc": ["services", "amazon-cloudwatch-agent", "commonConfiguration"], "readOnly": false, "type": "TOML value"}, "services.amazon-cloudwatch-agent.commonConfigurationFile": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "tomlFormat.generate \"common-config.toml\" cfg.commonConfiguration"}, "description": "Amazon CloudWatch Agent common configuration. See\n<https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html#CloudWatch-Agent-profile-instance-first>\nfor supported values.\n\n{option}`commonConfigurationFile` takes precedence over {option}`commonConfiguration`.\n\nNote: Restricted evaluation blocks access to paths outside the Nix store.\nThis means detecting content changes for mutable paths (i.e. not input or content-addressed) can't be done.\nAs a result, `nixos-rebuild` won't reload/restart the systemd unit when mutable path contents change.\n`systemctl restart amazon-cloudwatch-agent.service` must be used instead.\n", "example": {"_type": "literalExpression", "text": "\"/etc/amazon-cloudwatch-agent/amazon-cloudwatch-agent.json\""}, "loc": ["services", "amazon-cloudwatch-agent", "commonConfigurationFile"], "readOnly": false, "type": "absolute path"}, "services.amazon-cloudwatch-agent.configuration": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See {option}`configurationFile`.\n\n{option}`configurationFile` takes precedence over {option}`configuration`.\n", "example": {"_type": "literalExpression", "text": "{\n  agent = {\n    logfile = \"/var/log/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log\";\n    metrics_collection_interval = 10;\n  };\n  logs = {\n    force_flush_interval = 15;\n    log_stream_name = \"log_stream_name\";\n    logs_collected = {\n      files = {\n        collect_list = [\n          {\n            file_path = \"/var/log/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log\";\n            log_group_name = \"amazon-cloudwatch-agent.log\";\n            log_stream_name = \"{instance_id}\";\n            timezone = \"UTC\";\n          }\n        ];\n      };\n    };\n  };\n  metrics = {\n    metrics_collected = {\n      cpu = {\n        append_dimensions = {\n          customized_dimension_key_1 = \"customized_dimension_value_1\";\n          customized_dimension_key_2 = \"customized_dimension_value_2\";\n        };\n        measurement = [\n          {\n            name = \"cpu_usage_idle\";\n            rename = \"CPU_USAGE_IDLE\";\n            unit = \"Percent\";\n          }\n          {\n            name = \"cpu_usage_nice\";\n            unit = \"Percent\";\n          }\n          \"cpu_usage_guest\"\n        ];\n        metrics_collection_interval = 10;\n        resource = [\n          \"*\"\n        ];\n        totalcpu = false;\n      };\n    };\n    namespace = \"MyCustomNamespace\";\n  };\n  traces = {\n    traces_collected = {\n      oltp = { };\n      xray = { };\n    };\n  };\n}"}, "loc": ["services", "amazon-cloudwatch-agent", "configuration"], "readOnly": false, "type": "JSON value"}, "services.amazon-cloudwatch-agent.configurationFile": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "jsonFormat.generate \"amazon-cloudwatch-agent.json\" cfg.configuration"}, "description": "Amazon CloudWatch Agent configuration file. See\n<https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html>\nfor supported values.\n\nThe following options aren't supported:\n* `agent.run_as_user`\n  * Use {option}`user` instead.\n\n{option}`configurationFile` takes precedence over {option}`configuration`.\n\nNote: Restricted evaluation blocks access to paths outside the Nix store.\nThis means detecting content changes for mutable paths (i.e. not input or content-addressed) can't be done.\nAs a result, `nixos-rebuild` won't reload/restart the systemd unit when mutable path contents change.\n`systemctl restart amazon-cloudwatch-agent.service` must be used instead.\n", "example": {"_type": "literalExpression", "text": "\"/etc/amazon-cloudwatch-agent/amazon-cloudwatch-agent.json\""}, "loc": ["services", "amazon-cloudwatch-agent", "configurationFile"], "readOnly": false, "type": "absolute path"}, "services.amazon-cloudwatch-agent.enable": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Amazon CloudWatch Agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "amazon-cloudwatch-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.amazon-cloudwatch-agent.mode": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Amazon CloudWatch Agent mode. Indicates whether the agent is running in EC2 (\"ec2\"), on-premises (\"onPremise\"),\nor if it should guess based on metadata endpoints like IMDS or the ECS task metadata endpoint (\"auto\").\n", "example": {"_type": "literalExpression", "text": "\"onPremise\""}, "loc": ["services", "amazon-cloudwatch-agent", "mode"], "readOnly": false, "type": "string"}, "services.amazon-cloudwatch-agent.package": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.amazon-cloudwatch-agent"}, "description": "The amazon-cloudwatch-agent package to use.", "loc": ["services", "amazon-cloudwatch-agent", "package"], "readOnly": false, "type": "package"}, "services.amazon-cloudwatch-agent.user": {"declarations": ["nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "The user that runs the Amazon CloudWatch Agent.\n", "example": {"_type": "literalExpression", "text": "\"amazon-cloudwatch-agent\""}, "loc": ["services", "amazon-cloudwatch-agent", "user"], "readOnly": false, "type": "string"}, "services.amazon-ssm-agent.enable": {"declarations": ["nixos/modules/services/misc/amazon-ssm-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Amazon SSM agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "amazon-ssm-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.amazon-ssm-agent.package": {"declarations": ["nixos/modules/services/misc/amazon-ssm-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.amazon-ssm-agent"}, "description": "The amazon-ssm-agent package to use.", "loc": ["services", "amazon-ssm-agent", "package"], "readOnly": false, "type": "package"}, "services.amule.ExternalConnectPasswordFile": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the password for connecting with amule-gui,\nset this only if you didn't set `settings.ExternalConnect.ECPassword`\n", "loc": ["services", "amule", "ExternalConnectPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.amule.WebServerPasswordFile": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the password for connecting to the web server,\nset this only if you didn't set `settings.ExternalConnect.ECPassword`\n", "loc": ["services", "amule", "WebServerPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.amule.amuleWebPackage": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "pkgs.amule-web"}, "description": "The amule-web package to use.", "loc": ["services", "amule", "amuleWebPackage"], "readOnly": false, "type": "package"}, "services.amule.dataDir": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/amuled\""}, "description": "Directory holding configuration and by default also incoming and temporary files", "loc": ["services", "amule", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.amule.enable": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable aMule daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "amule", "enable"], "readOnly": false, "type": "boolean"}, "services.amule.extraArgs": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional passed arguments", "loc": ["services", "amule", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.amule.group": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "\"amule\""}, "description": "Group under which amule runs", "loc": ["services", "amule", "group"], "readOnly": false, "type": "string"}, "services.amule.openExternalConnectPort": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable open the external connect port.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "amule", "openExternalConnectPort"], "readOnly": false, "type": "boolean"}, "services.amule.openPeerPorts": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable open the peer port(s) in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "amule", "openPeerPorts"], "readOnly": false, "type": "boolean"}, "services.amule.openWebServerPort": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable open the web server port.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "amule", "openWebServerPort"], "readOnly": false, "type": "boolean"}, "services.amule.package": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "pkgs.amule-daemon"}, "description": "The amule-daemon package to use.", "loc": ["services", "amule", "package"], "readOnly": false, "type": "package"}, "services.amule.settings": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Free form attribute set for aMule settings.\nThe final configuration file is generated merging the default settings with these options.\n", "example": {"_type": "literalExpression", "text": "{\n  eMule = {\n    IncomingDir = \"/mnt/hd/amule/Incoming\";\n    TempDir = \"/mnt/hd/amule/Temp\";\n  };\n  WebServer.Enabled = 1;\n}\n"}, "loc": ["services", "amule", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.amule.settings.ExternalConnect.ECPassword": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "MD5 hash of the password, obtainaible with `echo \"<password>\" | md5sum | cut -d ' ' -f 1`\n", "loc": ["services", "amule", "settings", "ExternalConnect", "ECPassword"], "readOnly": false, "type": "string"}, "services.amule.settings.ExternalConnect.ECPort": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "4712"}, "description": "TCP port for external connections, like remote control via amule-gui", "loc": ["services", "amule", "settings", "ExternalConnect", "ECPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.amule.settings.WebServer.Enabled": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Set to 1 to enable the web server", "loc": ["services", "amule", "settings", "WebServer", "Enabled"], "readOnly": false, "type": "one of 0, 1"}, "services.amule.settings.WebServer.Password": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "MD5 hash of the password, obtainaible with `echo \"<password>\" | md5sum | cut -d ' ' -f 1`\n", "loc": ["services", "amule", "settings", "WebServer", "Password"], "readOnly": false, "type": "string"}, "services.amule.settings.WebServer.Port": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "4711"}, "description": "Web server port", "loc": ["services", "amule", "settings", "WebServer", "Port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.amule.settings.eMule.IncomingDir": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "${config.services.amule.dataDir}/Incoming"}, "description": "Directory where aMule moves completed downloads.\nFiles in this directory are automatically shared.\nEnsure the aMule service has write permissions\n", "loc": ["services", "amule", "settings", "eMule", "IncomingDir"], "readOnly": false, "type": "absolute path"}, "services.amule.settings.eMule.Port": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "4662"}, "description": "TCP port for eD2k connections.\nRequired for connecting to servers and achieving a High ID.\n", "loc": ["services", "amule", "settings", "eMule", "Port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.amule.settings.eMule.TempDir": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "${config.services.amule.dataDir}/Temp"}, "description": "Directory where aMule stores incomplete downloads (.part/.part.met files).\n", "loc": ["services", "amule", "settings", "eMule", "TempDir"], "readOnly": false, "type": "absolute path"}, "services.amule.settings.eMule.UDPPort": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "4672"}, "description": "UDP port for eD2k traffic (searches, source exchange) and all Kad network communication.\nEssential for a High ID on both networks and proper Kad functioning.\n", "loc": ["services", "amule", "settings", "eMule", "UDPPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.amule.user": {"declarations": ["nixos/modules/services/networking/amuled.nix"], "default": {"_type": "literalExpression", "text": "\"amule\""}, "description": "The user the aMule daemon should run as", "loc": ["services", "amule", "user"], "readOnly": false, "type": "string"}, "services.ananicy.enable": {"declarations": ["nixos/modules/services/misc/ananicy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ananicy, an auto nice daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ananicy", "enable"], "readOnly": false, "type": "boolean"}, "services.ananicy.extraCgroups": {"declarations": ["nixos/modules/services/misc/ananicy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Cgroups to write in 'nixCgroups.cgroups'. See:\n<https://gitlab.com/ananicy-cpp/ananicy-cpp/#cgroups>\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    CPUQuota = 80;\n    cgroup = \"cpu80\";\n  }\n]"}, "loc": ["services", "ananicy", "extraCgroups"], "readOnly": false, "type": "list of (attribute set)"}, "services.ananicy.extraRules": {"declarations": ["nixos/modules/services/misc/ananicy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Rules to write in 'nixRules.rules'. See:\n<https://github.com/Nefelim4ag/Ananicy#configuration>\n<https://gitlab.com/ananicy-cpp/ananicy-cpp/#global-configuration>\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    name = \"eog\";\n    type = \"Image-Viewer\";\n  }\n  {\n    name = \"fdupes\";\n    type = \"BG_CPUIO\";\n  }\n]"}, "loc": ["services", "ananicy", "extraRules"], "readOnly": false, "type": "list of (attribute set)"}, "services.ananicy.extraTypes": {"declarations": ["nixos/modules/services/misc/ananicy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Types to write in 'nixTypes.types'. See:\n<https://gitlab.com/ananicy-cpp/ananicy-cpp/#types>\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    nice = 19;\n    other_parameter = \"value\";\n    type = \"my_type\";\n  }\n  {\n    ioclass = \"idle\";\n    nice = 19;\n    sched = \"batch\";\n    type = \"compiler\";\n  }\n]"}, "loc": ["services", "ananicy", "extraTypes"], "readOnly": false, "type": "list of (attribute set)"}, "services.ananicy.package": {"declarations": ["nixos/modules/services/misc/ananicy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ananicy"}, "description": "The ananicy package to use.", "example": {"_type": "literalExpression", "text": "ananicy-cpp"}, "loc": ["services", "ananicy", "package"], "readOnly": false, "type": "package"}, "services.ananicy.rulesProvider": {"declarations": ["nixos/modules/services/misc/ananicy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ananicy"}, "description": "Which package to copy default rules,types,cgroups from.\n", "example": {"_type": "literalExpression", "text": "ananicy-cpp"}, "loc": ["services", "ananicy", "rulesProvider"], "readOnly": false, "type": "package"}, "services.ananicy.settings": {"declarations": ["nixos/modules/services/misc/ananicy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See <https://github.com/Nefelim4ag/Ananicy/blob/master/ananicy.d/ananicy.conf>\n", "example": {"_type": "literalExpression", "text": "{\n  apply_nice = false;\n}"}, "loc": ["services", "ananicy", "settings"], "readOnly": false, "type": "attribute set of (signed integer or boolean or string)"}, "services.angrr.configFile": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "\"TOML file generated from {option}`services.angrr.settings`\""}, "description": "Path to the angrr configuration file in TOML format.\n\nIf not set, the configuration generated from {option}`services.angrr.settings` will be used.\nIf specified, {option}`services.angrr.settings` will be ignored.\n", "loc": ["services", "angrr", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.angrr.enable": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable angrr.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "angrr", "enable"], "readOnly": false, "type": "boolean"}, "services.angrr.enableNixGcIntegration": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "description": "Whether to enable nix-gc.service integration.\n", "loc": ["services", "angrr", "enableNixGcIntegration"], "readOnly": false, "type": "boolean"}, "services.angrr.extraArgs": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line arguments pass to angrr.\n", "loc": ["services", "angrr", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.angrr.logLevel": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Set the log level of angrr.\n", "loc": ["services", "angrr", "logLevel"], "readOnly": false, "type": "one of \"off\", \"error\", \"warn\", \"info\", \"debug\", \"trace\""}, "services.angrr.package": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.angrr"}, "description": "The angrr package to use.", "loc": ["services", "angrr", "package"], "readOnly": false, "type": "package"}, "services.angrr.settings": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "description": "Global configuration for angrr in TOML format.\n", "example": {"_type": "literalExpression", "text": "{\n  profile-policies = {\n    system = {\n      keep-booted-system = true;\n      keep-current-system = true;\n      keep-latest-n = 5;\n      keep-since = \"14d\";\n      profile-paths = [\n        \"/nix/var/nix/profiles/system\"\n      ];\n    };\n    user = {\n      enable = false;\n      keep-booted-system = false;\n      keep-current-system = false;\n      keep-latest-n = 1;\n      keep-since = \"1d\";\n      profile-paths = [\n        \"~/.local/state/nix/profiles/profile\"\n        \"/nix/var/nix/profiles/per-user/root/profile\"\n      ];\n    };\n  };\n  temporary-root-policies = {\n    direnv = {\n      path-regex = \"/\\\\.direnv/\";\n      period = \"14d\";\n    };\n    result = {\n      path-regex = \"/result[^/]*$\";\n      period = \"3d\";\n    };\n  };\n}"}, "loc": ["services", "angrr", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.angrr.settings.owned-only": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Only monitors owned symbolic link target of GC roots.\n\n- \"auto\": behaves like true for normal users, false for root.\n- \"true\": only monitor GC roots owned by the current user.\n- \"false\": monitor all GC roots.\n", "loc": ["services", "angrr", "settings", "owned-only"], "readOnly": false, "type": "one of \"auto\", \"true\", \"false\""}, "services.angrr.settings.profile-policies": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Profile GC root policies.\n", "loc": ["services", "angrr", "settings", "profile-policies"], "readOnly": false, "type": "attribute set of (open submodule of (TOML value))"}, "services.angrr.settings.profile-policies.<name>.enable": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this angrr policy.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "angrr", "settings", "profile-policies", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.angrr.settings.profile-policies.<name>.keep-booted-system": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to keep the last booted system generation. Only useful for system profiles.\n", "loc": ["services", "angrr", "settings", "profile-policies", "<name>", "keep-booted-system"], "readOnly": false, "type": "boolean"}, "services.angrr.settings.profile-policies.<name>.keep-current-system": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to keep the current system generation. Only useful for system profiles.\n", "loc": ["services", "angrr", "settings", "profile-policies", "<name>", "keep-current-system"], "readOnly": false, "type": "boolean"}, "services.angrr.settings.profile-policies.<name>.keep-latest-n": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Keep the latest N GC roots in this profile.\n", "loc": ["services", "angrr", "settings", "profile-policies", "<name>", "keep-latest-n"], "readOnly": false, "type": "null or signed integer"}, "services.angrr.settings.profile-policies.<name>.keep-since": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Retention period for the GC roots in this profile.\n", "loc": ["services", "angrr", "settings", "profile-policies", "<name>", "keep-since"], "readOnly": false, "type": "null or string"}, "services.angrr.settings.profile-policies.<name>.profile-paths": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Paths to the Nix profile.\n\nWhen angrr runs in owned-only mode, and the option begins with `~`,\nit will be expanded to the home directory of the current user.\n\nWhen angrr does not run in owned-only mode, and the option begins with `~`,\nit will be expanded to the home of all users discovered respectively.\n", "loc": ["services", "angrr", "settings", "profile-policies", "<name>", "profile-paths"], "readOnly": false, "type": "list of string"}, "services.angrr.settings.temporary-root-policies": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Policies for temporary GC roots(e.g. result and direnv).\n", "loc": ["services", "angrr", "settings", "temporary-root-policies"], "readOnly": false, "type": "attribute set of (open submodule of (TOML value))"}, "services.angrr.settings.temporary-root-policies.<name>.enable": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this angrr policy.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.angrr.settings.temporary-root-policies.<name>.filter": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "External filter program to further filter GC roots matched by this policy.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "filter"], "readOnly": false, "type": "null or (open submodule of (TOML value))"}, "services.angrr.settings.temporary-root-policies.<name>.filter.arguments": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line arguments pass to the external filter program.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "filter", "arguments"], "readOnly": false, "type": "list of string"}, "services.angrr.settings.temporary-root-policies.<name>.filter.program": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "description": "Path to the external filter program.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "filter", "program"], "readOnly": false, "type": "string"}, "services.angrr.settings.temporary-root-policies.<name>.ignore-prefixes": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of path prefixes to ignore.\n\nIf null is specified, angrr builtin settings will be used.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "ignore-prefixes"], "readOnly": false, "type": "null or (list of string)"}, "services.angrr.settings.temporary-root-policies.<name>.ignore-prefixes-in-home": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path prefixes to ignore under home directory.\n\nIf null is specified, angrr builtin settings will be used.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "ignore-prefixes-in-home"], "readOnly": false, "type": "null or (list of string)"}, "services.angrr.settings.temporary-root-policies.<name>.path-regex": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "description": "Regex pattern to match the GC root path.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "path-regex"], "readOnly": false, "type": "string"}, "services.angrr.settings.temporary-root-policies.<name>.period": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Retention period for the GC roots matched by this policy.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "period"], "readOnly": false, "type": "null or string"}, "services.angrr.settings.temporary-root-policies.<name>.priority": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "100"}, "description": "Priority of this policy.\n\nLower number means higher priority, if multiple policies monitor the\nsame path, the one with higher priority will be applied.\n", "loc": ["services", "angrr", "settings", "temporary-root-policies", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.angrr.settings.touch.project-globs": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"!.git\"\n]"}, "description": "List of glob patterns to include or exclude files when touching GC roots.\n\nOnly applied when `angrr touch` is invoked with the `--project` flag.\nPatterns use an inverted gitignore-style semantics.\nSee <https://docs.rs/ignore/latest/ignore/overrides/struct.OverrideBuilder.html#method.add>.\n", "loc": ["services", "angrr", "settings", "touch", "project-globs"], "readOnly": false, "type": "list of string"}, "services.angrr.timer.dates": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "\"03:00\""}, "description": "How often or when the retention policy is performed.\n", "loc": ["services", "angrr", "timer", "dates"], "readOnly": false, "type": "string"}, "services.angrr.timer.enable": {"declarations": ["nixos/modules/services/misc/angrr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable angrr timer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "angrr", "timer", "enable"], "readOnly": false, "type": "boolean"}, "services.anki-sync-server.address": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "\"::1\""}, "description": "IP address anki-sync-server listens to.\nNote host names are not resolved.\n", "loc": ["services", "anki-sync-server", "address"], "readOnly": false, "type": "string"}, "services.anki-sync-server.baseDirectory": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "\"%S/%N\""}, "description": "Base directory where user(s) synchronized data will be stored.", "loc": ["services", "anki-sync-server", "baseDirectory"], "readOnly": false, "type": "string"}, "services.anki-sync-server.enable": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable anki-sync-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "anki-sync-server", "enable"], "readOnly": false, "type": "boolean"}, "services.anki-sync-server.openFirewall": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the specified port.", "loc": ["services", "anki-sync-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.anki-sync-server.package": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.anki-sync-server"}, "description": "The anki-sync-server package to use.", "loc": ["services", "anki-sync-server", "package"], "readOnly": false, "type": "package"}, "services.anki-sync-server.port": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "27701"}, "description": "Port number anki-sync-server listens to.", "loc": ["services", "anki-sync-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.anki-sync-server.users": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "description": "List of user-password pairs to provide to the sync server.", "loc": ["services", "anki-sync-server", "users"], "readOnly": false, "type": "list of (submodule)"}, "services.anki-sync-server.users.*.password": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password accepted by anki-sync-server for the associated username.\n**WARNING**: This option is **not secure**. This password will\nbe stored in *plaintext* and will be visible to *all users*.\nSee {option}`services.anki-sync-server.users.passwordFile` for\na more secure option.\n", "loc": ["services", "anki-sync-server", "users", "*", "password"], "readOnly": false, "type": "null or string"}, "services.anki-sync-server.users.*.passwordFile": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the password accepted by anki-sync-server for\nthe associated username.  Make sure to make readable only by\nroot.\n", "loc": ["services", "anki-sync-server", "users", "*", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.anki-sync-server.users.*.username": {"declarations": ["nixos/modules/services/misc/anki-sync-server.nix"], "description": "User name accepted by anki-sync-server.", "loc": ["services", "anki-sync-server", "users", "*", "username"], "readOnly": false, "type": "string"}, "services.anubis.defaultOptions": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Default options for all instances of Anubis.", "loc": ["services", "anubis", "defaultOptions"], "readOnly": false, "type": "submodule"}, "services.anubis.defaultOptions.enable": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this instance of Anubis.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "anubis", "defaultOptions", "enable"], "readOnly": false, "type": "boolean"}, "services.anubis.defaultOptions.extraFlags": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of extra flags to be passed to Anubis.", "example": {"_type": "literalExpression", "text": "[\n  \"-metrics-bind \\\"\\\"\"\n]"}, "loc": ["services", "anubis", "defaultOptions", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.anubis.defaultOptions.group": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "\"anubis\""}, "description": "The group under which Anubis is run.\n\nThis module utilizes systemd's DynamicUser feature. See the corresponding section in\n{manpage}`systemd.exec(5)` for more details.\n", "loc": ["services", "anubis", "defaultOptions", "group"], "readOnly": false, "type": "string"}, "services.anubis.defaultOptions.policy": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Anubis policy configuration.\n\nSee [the documentation](https://anubis.techaro.lol/docs/admin/policies) for details.\n", "loc": ["services", "anubis", "defaultOptions", "policy"], "readOnly": false, "type": "submodule"}, "services.anubis.defaultOptions.policy.extraBots": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional bot rules appended to the policy.\n\nWhen {option}`useDefaultBotRules` is `true`, these rules are added after\nAnubis's default rules. When `false`, only these rules are used.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    name = \"my-bot\";\n    user_agent_regex = \"MyBot/.*\";\n    action = \"ALLOW\";\n  }\n]\n"}, "loc": ["services", "anubis", "defaultOptions", "policy", "extraBots"], "readOnly": false, "type": "list of (JSON value)"}, "services.anubis.defaultOptions.policy.settings": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional policy settings merged into the policy file.\n\nCommon settings include `dnsbl`, `store`, `logging`, `thresholds`,\n`impressum`, `openGraph`, and `statusCodes`.\n\nSee [the documentation](https://anubis.techaro.lol/docs/admin/policies) for\navailable options.\n", "example": {"_type": "literalExpression", "text": "{\n  dnsbl = false;\n  store = {\n    backend = \"bbolt\";\n    parameters.path = \"/var/lib/anubis/data.bdb\";\n  };\n}\n"}, "loc": ["services", "anubis", "defaultOptions", "policy", "settings"], "readOnly": false, "type": "JSON value"}, "services.anubis.defaultOptions.policy.useDefaultBotRules": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to include Anubis's default bot detection rules via the\n`(data)/meta/default-config.yaml` import.\n\nSet to `false` to define your own bot rules from scratch using\n{option}`extraBots`.\n", "loc": ["services", "anubis", "defaultOptions", "policy", "useDefaultBotRules"], "readOnly": false, "type": "boolean"}, "services.anubis.defaultOptions.settings": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Freeform configuration via environment variables for Anubis.\n\nSee [the documentation](https://anubis.techaro.lol/docs/admin/installation) for a complete list of\navailable environment variables.\n", "loc": ["services", "anubis", "defaultOptions", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string or signed integer or boolean)"}, "services.anubis.defaultOptions.settings.BIND_NETWORK": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "\"unix\""}, "description": "The network family that Anubis should bind to.\n\nAccepts anything supported by Go's [`net.Listen`](https://pkg.go.dev/net#Listen).\n\nCommon values are `tcp` and `unix`.\n", "example": {"_type": "literalExpression", "text": "\"tcp\""}, "loc": ["services", "anubis", "defaultOptions", "settings", "BIND_NETWORK"], "readOnly": false, "type": "string"}, "services.anubis.defaultOptions.settings.DIFFICULTY": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "The difficulty required for clients to solve the challenge.\n\nCurrently, this means the amount of leading zeros in a successful response.\n", "example": {"_type": "literalExpression", "text": "5"}, "loc": ["services", "anubis", "defaultOptions", "settings", "DIFFICULTY"], "readOnly": false, "type": "signed integer"}, "services.anubis.defaultOptions.settings.METRICS_BIND_NETWORK": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "\"unix\""}, "description": "The network family that the metrics server should bind to.\n\nAccepts anything supported by Go's [`net.Listen`](https://pkg.go.dev/net#Listen).\n\nCommon values are `tcp` and `unix`.\n", "example": {"_type": "literalExpression", "text": "\"tcp\""}, "loc": ["services", "anubis", "defaultOptions", "settings", "METRICS_BIND_NETWORK"], "readOnly": false, "type": "string"}, "services.anubis.defaultOptions.settings.OG_PASSTHROUGH": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Open Graph tag passthrough.\n\nThis enables social previews of resources protected by\nAnubis without having to exempt each scraper individually.\n", "loc": ["services", "anubis", "defaultOptions", "settings", "OG_PASSTHROUGH"], "readOnly": false, "type": "boolean"}, "services.anubis.defaultOptions.settings.POLICY_FNAME": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The policy file to use. Leave this as `null` to use the policy generated from\n{option}`services.anubis.instances.<name>.policy`.\n", "loc": ["services", "anubis", "defaultOptions", "settings", "POLICY_FNAME"], "readOnly": false, "type": "null or absolute path"}, "services.anubis.defaultOptions.settings.SERVE_ROBOTS_TXT": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to serve a default robots.txt that denies access to common AI bots by name and all other\nbots by wildcard.\n", "loc": ["services", "anubis", "defaultOptions", "settings", "SERVE_ROBOTS_TXT"], "readOnly": false, "type": "boolean"}, "services.anubis.defaultOptions.settings.WEBMASTER_EMAIL": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, shows a contact email address when rendering error pages.\n\nThis email address will be how users can get in contact with administrators.\n", "example": {"_type": "literalExpression", "text": "\"alice@example.com\""}, "loc": ["services", "anubis", "defaultOptions", "settings", "WEBMASTER_EMAIL"], "readOnly": false, "type": "null or string"}, "services.anubis.defaultOptions.user": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "\"anubis\""}, "description": "The user under which Anubis is run.\n\nThis module utilizes systemd's DynamicUser feature. See the corresponding section in\n{manpage}`systemd.exec(5)` for more details.\n", "loc": ["services", "anubis", "defaultOptions", "user"], "readOnly": false, "type": "string"}, "services.anubis.instances": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "An attribute set of Anubis instances.\n\nThe attribute name may be an empty string, in which case the `-<name>` suffix is not added to the service name\nand socket paths.\n", "loc": ["services", "anubis", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.anubis.instances.<name>.enable": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this instance of Anubis.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "anubis", "instances", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.anubis.instances.<name>.extraFlags": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.extraFlags"}, "description": "A list of extra flags to be passed to Anubis.", "example": {"_type": "literalExpression", "text": "[\n  \"-metrics-bind \\\"\\\"\"\n]"}, "loc": ["services", "anubis", "instances", "<name>", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.anubis.instances.<name>.group": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.group"}, "description": "The group under which Anubis is run.\n\nThis module utilizes systemd's DynamicUser feature. See the corresponding section in\n{manpage}`systemd.exec(5)` for more details.\n", "loc": ["services", "anubis", "instances", "<name>", "group"], "readOnly": false, "type": "string"}, "services.anubis.instances.<name>.policy": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Anubis policy configuration.\n\nSee [the documentation](https://anubis.techaro.lol/docs/admin/policies) for details.\n", "loc": ["services", "anubis", "instances", "<name>", "policy"], "readOnly": false, "type": "submodule"}, "services.anubis.instances.<name>.policy.extraBots": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.policy.extraBots"}, "description": "Additional bot rules appended to the policy.\n\nWhen {option}`useDefaultBotRules` is `true`, these rules are added after\nAnubis's default rules. When `false`, only these rules are used.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    name = \"my-bot\";\n    user_agent_regex = \"MyBot/.*\";\n    action = \"ALLOW\";\n  }\n]\n"}, "loc": ["services", "anubis", "instances", "<name>", "policy", "extraBots"], "readOnly": false, "type": "list of (JSON value)"}, "services.anubis.instances.<name>.policy.settings": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.policy.settings"}, "description": "Additional policy settings merged into the policy file.\n\nCommon settings include `dnsbl`, `store`, `logging`, `thresholds`,\n`impressum`, `openGraph`, and `statusCodes`.\n\nSee [the documentation](https://anubis.techaro.lol/docs/admin/policies) for\navailable options.\n", "example": {"_type": "literalExpression", "text": "{\n  dnsbl = false;\n  store = {\n    backend = \"bbolt\";\n    parameters.path = \"/var/lib/anubis/data.bdb\";\n  };\n}\n"}, "loc": ["services", "anubis", "instances", "<name>", "policy", "settings"], "readOnly": false, "type": "JSON value"}, "services.anubis.instances.<name>.policy.useDefaultBotRules": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.policy.useDefaultBotRules"}, "description": "Whether to include Anubis's default bot detection rules via the\n`(data)/meta/default-config.yaml` import.\n\nSet to `false` to define your own bot rules from scratch using\n{option}`extraBots`.\n", "loc": ["services", "anubis", "instances", "<name>", "policy", "useDefaultBotRules"], "readOnly": false, "type": "boolean"}, "services.anubis.instances.<name>.settings": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Freeform configuration via environment variables for Anubis.\n\nSee [the documentation](https://anubis.techaro.lol/docs/admin/installation) for a complete list of\navailable environment variables.\n", "loc": ["services", "anubis", "instances", "<name>", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string or signed integer or boolean)"}, "services.anubis.instances.<name>.settings.BIND": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "\"/run/anubis/anubis-\u2039name\u203a/anubis.sock\""}, "description": "The address that Anubis listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for syntax.\nWhen using unix sockets:\n- use the prefix \"/run/anubis/anubis/\" if the instance name is the empty string,\n- \"/run/anubis/anubis-<name>/\" otherwise.\n\nDefaults to Unix domain sockets. To use TCP sockets, set this to a TCP address and `BIND_NETWORK` to `\"tcp\"`.\n", "example": {"_type": "literalExpression", "text": "\":8080\""}, "loc": ["services", "anubis", "instances", "<name>", "settings", "BIND"], "readOnly": false, "type": "string"}, "services.anubis.instances.<name>.settings.BIND_NETWORK": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.settings.BIND_NETWORK"}, "description": "The network family that Anubis should bind to.\n\nAccepts anything supported by Go's [`net.Listen`](https://pkg.go.dev/net#Listen).\n\nCommon values are `tcp` and `unix`.\n", "example": {"_type": "literalExpression", "text": "\"tcp\""}, "loc": ["services", "anubis", "instances", "<name>", "settings", "BIND_NETWORK"], "readOnly": false, "type": "string"}, "services.anubis.instances.<name>.settings.DIFFICULTY": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.settings.DIFFICULTY"}, "description": "The difficulty required for clients to solve the challenge.\n\nCurrently, this means the amount of leading zeros in a successful response.\n", "example": {"_type": "literalExpression", "text": "5"}, "loc": ["services", "anubis", "instances", "<name>", "settings", "DIFFICULTY"], "readOnly": false, "type": "signed integer"}, "services.anubis.instances.<name>.settings.METRICS_BIND": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "\"/run/anubis/anubis-\u2039name\u203a/anubis-metrics.sock\""}, "description": "The address Anubis' metrics server listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for\nsyntax.\nWhen using unix sockets:\n- use the prefix \"/run/anubis/anubis/\" if the instance name is the empty string,\n- \"/run/anubis/anubis-<name>/\" otherwise.\n\nThe metrics server is enabled by default and may be disabled. However, due to implementation details, this is\nonly possible by setting a command line flag. See {option}`services.anubis.defaultOptions.extraFlags` for an\nexample.\n\nDefaults to Unix domain sockets. To use TCP sockets, set this to a TCP address and `METRICS_BIND_NETWORK` to\n`\"tcp\"`.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:8081\""}, "loc": ["services", "anubis", "instances", "<name>", "settings", "METRICS_BIND"], "readOnly": false, "type": "string"}, "services.anubis.instances.<name>.settings.METRICS_BIND_NETWORK": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.settings.METRICS_BIND_NETWORK"}, "description": "The network family that the metrics server should bind to.\n\nAccepts anything supported by Go's [`net.Listen`](https://pkg.go.dev/net#Listen).\n\nCommon values are `tcp` and `unix`.\n", "example": {"_type": "literalExpression", "text": "\"tcp\""}, "loc": ["services", "anubis", "instances", "<name>", "settings", "METRICS_BIND_NETWORK"], "readOnly": false, "type": "string"}, "services.anubis.instances.<name>.settings.OG_PASSTHROUGH": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.settings.OG_PASSTHROUGH"}, "description": "Whether to enable Open Graph tag passthrough.\n\nThis enables social previews of resources protected by\nAnubis without having to exempt each scraper individually.\n", "loc": ["services", "anubis", "instances", "<name>", "settings", "OG_PASSTHROUGH"], "readOnly": false, "type": "boolean"}, "services.anubis.instances.<name>.settings.POLICY_FNAME": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.settings.POLICY_FNAME"}, "description": "The policy file to use. Leave this as `null` to use the policy generated from\n{option}`services.anubis.instances.<name>.policy`.\n", "loc": ["services", "anubis", "instances", "<name>", "settings", "POLICY_FNAME"], "readOnly": false, "type": "null or absolute path"}, "services.anubis.instances.<name>.settings.SERVE_ROBOTS_TXT": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.settings.SERVE_ROBOTS_TXT"}, "description": "Whether to serve a default robots.txt that denies access to common AI bots by name and all other\nbots by wildcard.\n", "loc": ["services", "anubis", "instances", "<name>", "settings", "SERVE_ROBOTS_TXT"], "readOnly": false, "type": "boolean"}, "services.anubis.instances.<name>.settings.TARGET": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "description": "The reverse proxy target that Anubis is protecting. This is a required option.\n\nThe usage of Unix domain sockets is supported by the following syntax: `unix:///path/to/socket.sock`.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:8000\""}, "loc": ["services", "anubis", "instances", "<name>", "settings", "TARGET"], "readOnly": false, "type": "string"}, "services.anubis.instances.<name>.settings.WEBMASTER_EMAIL": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.settings.WEBMASTER_EMAIL"}, "description": "If set, shows a contact email address when rendering error pages.\n\nThis email address will be how users can get in contact with administrators.\n", "example": {"_type": "literalExpression", "text": "\"alice@example.com\""}, "loc": ["services", "anubis", "instances", "<name>", "settings", "WEBMASTER_EMAIL"], "readOnly": false, "type": "null or string"}, "services.anubis.instances.<name>.user": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "config.services.anubis.defaultOptions.user"}, "description": "The user under which Anubis is run.\n\nThis module utilizes systemd's DynamicUser feature. See the corresponding section in\n{manpage}`systemd.exec(5)` for more details.\n", "loc": ["services", "anubis", "instances", "<name>", "user"], "readOnly": false, "type": "string"}, "services.anubis.package": {"declarations": ["nixos/modules/services/networking/anubis.nix"], "default": {"_type": "literalExpression", "text": "pkgs.anubis"}, "description": "The anubis package to use.", "loc": ["services", "anubis", "package"], "readOnly": false, "type": "package"}, "services.anuko-time-tracker.dataDir": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/anuko-time-tracker\""}, "description": "Default data folder for Anuko Time Tracker.", "example": {"_type": "literalExpression", "text": "\"/mnt/anuko-time-tracker\""}, "loc": ["services", "anuko-time-tracker", "dataDir"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "anuko-time-tracker", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.database.host": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host.", "loc": ["services", "anuko-time-tracker", "database", "host"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.database.name": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"anuko_time_tracker\""}, "description": "Database name.", "loc": ["services", "anuko-time-tracker", "database", "name"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database user password file.", "loc": ["services", "anuko-time-tracker", "database", "passwordFile"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.database.user": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"anuko_time_tracker\""}, "description": "Database username.", "loc": ["services", "anuko-time-tracker", "database", "user"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.enable": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Anuko Time Tracker.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "anuko-time-tracker", "enable"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.hostname": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdn"}, "description": "The hostname to serve Anuko Time Tracker on.\n", "example": {"_type": "literalExpression", "text": "\"anuko.example.com\""}, "loc": ["services", "anuko-time-tracker", "hostname"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.nginx": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "With this option, you can customize the Nginx virtualHost settings.\n", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [\n    \"anuko.${config.networking.domain}\"\n  ];\n\n  # To enable encryption and let let's encrypt take care of certificate\n  forceSSL = true;\n  enableACME = true;\n}\n"}, "loc": ["services", "anuko-time-tracker", "nginx"], "readOnly": false, "type": "submodule"}, "services.anuko-time-tracker.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "anuko-time-tracker", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "anuko-time-tracker", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "anuko-time-tracker", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "anuko-time-tracker", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.anuko-time-tracker.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "anuko-time-tracker", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.anuko-time-tracker.nginx.default": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "anuko-time-tracker", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "anuko-time-tracker", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "anuko-time-tracker", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.anuko-time-tracker.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "anuko-time-tracker", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "anuko-time-tracker", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "anuko-time-tracker", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "anuko-time-tracker", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "anuko-time-tracker", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "anuko-time-tracker", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "anuko-time-tracker", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.anuko-time-tracker.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "description": "Listen address.", "loc": ["services", "anuko-time-tracker", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "anuko-time-tracker", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.anuko-time-tracker.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "anuko-time-tracker", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.anuko-time-tracker.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "anuko-time-tracker", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "anuko-time-tracker", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "anuko-time-tracker", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.anuko-time-tracker.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "anuko-time-tracker", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.anuko-time-tracker.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.anuko-time-tracker.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.anuko-time-tracker.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.anuko-time-tracker.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.anuko-time-tracker.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.anuko-time-tracker.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.anuko-time-tracker.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.anuko-time-tracker.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.anuko-time-tracker.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "anuko-time-tracker", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "anuko-time-tracker", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "anuko-time-tracker", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "anuko-time-tracker", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.anuko-time-tracker.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "anuko-time-tracker", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "anuko-time-tracker", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.nginx.root": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "anuko-time-tracker", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.anuko-time-tracker.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "anuko-time-tracker", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.anuko-time-tracker.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "anuko-time-tracker", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "anuko-time-tracker", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.anuko-time-tracker.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "anuko-time-tracker", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.anuko-time-tracker.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "anuko-time-tracker", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.anuko-time-tracker.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "anuko-time-tracker", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.anuko-time-tracker.package": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "pkgs.anuko-time-tracker"}, "description": "The anuko-time-tracker package to use.", "loc": ["services", "anuko-time-tracker", "package"], "readOnly": false, "type": "package"}, "services.anuko-time-tracker.poolConfig": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for Anuko Time Tracker's PHP-FPM pool.\n", "loc": ["services", "anuko-time-tracker", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.anuko-time-tracker.settings.defaultCurrency": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"$\""}, "description": "Defines a default currency symbol for new groups.\nUse \u20ac, \u00a3, a more specific dollar like US$, CAD, etc.\n", "example": {"_type": "literalExpression", "text": "\"\u20ac\""}, "loc": ["services", "anuko-time-tracker", "settings", "defaultCurrency"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.defaultLanguage": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Defines Anuko Time Tracker default language. It is used on Time Tracker login page.\nAfter login, a language set for user group is used.\nEmpty string means the language is defined by user browser.\n", "example": {"_type": "literalExpression", "text": "\"nl\""}, "loc": ["services", "anuko-time-tracker", "settings", "defaultLanguage"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.email.mode": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"smtp\""}, "description": "Mail sending mode. Can be 'mail' or 'smtp'.", "loc": ["services", "anuko-time-tracker", "settings", "email", "mode"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.email.sender": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"Anuko Time Tracker <bounces@example.com>\""}, "description": "Default sender for mail.", "loc": ["services", "anuko-time-tracker", "settings", "email", "sender"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.email.smtpAuth": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "MTA requires authentication.", "loc": ["services", "anuko-time-tracker", "settings", "email", "smtpAuth"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.settings.email.smtpDebug": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Debug mail sending.", "loc": ["services", "anuko-time-tracker", "settings", "email", "smtpDebug"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.settings.email.smtpHost": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "MTA hostname.", "loc": ["services", "anuko-time-tracker", "settings", "email", "smtpHost"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.email.smtpPasswordFile": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file containing the MTA authentication password.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/anuko-time-tracker/secrets/smtp-password\""}, "loc": ["services", "anuko-time-tracker", "settings", "email", "smtpPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.anuko-time-tracker.settings.email.smtpPort": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "MTA port.", "loc": ["services", "anuko-time-tracker", "settings", "email", "smtpPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.anuko-time-tracker.settings.email.smtpUser": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "MTA authentication username.", "loc": ["services", "anuko-time-tracker", "settings", "email", "smtpUser"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.emailRequired": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Defines whether an email is required for new registrations.", "loc": ["services", "anuko-time-tracker", "settings", "emailRequired"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.settings.exportDecimalDuration": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Defines whether time duration values are decimal in CSV and XML data\nexports (1.25 vs 1:15).\n", "loc": ["services", "anuko-time-tracker", "settings", "exportDecimalDuration"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.settings.forumLink": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"https://www.anuko.com/forum/viewforum.php?f=4\""}, "description": "Forum link from the main menu.", "loc": ["services", "anuko-time-tracker", "settings", "forumLink"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.helpLink": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"https://www.anuko.com/time-tracker/user-guide/index.htm\""}, "description": "Help link from the main menu.", "loc": ["services", "anuko-time-tracker", "settings", "helpLink"], "readOnly": false, "type": "string"}, "services.anuko-time-tracker.settings.multiorgMode": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Defines whether users see the Register option in the menu of Time Tracker that allows them\nto self-register and create new organizations (top groups).\n", "loc": ["services", "anuko-time-tracker", "settings", "multiorgMode"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.settings.reportFooter": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Defines whether to use a footer on reports.", "loc": ["services", "anuko-time-tracker", "settings", "reportFooter"], "readOnly": false, "type": "boolean"}, "services.anuko-time-tracker.settings.weekendStartDay": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "6"}, "description": "This option defines which days are highlighted with weekend color.\n6 means Saturday. For Saudi Arabia, etc. set it to 4 for Thursday and Friday to be\nweekend days.\n", "loc": ["services", "anuko-time-tracker", "settings", "weekendStartDay"], "readOnly": false, "type": "signed integer"}, "services.anuko-time-tracker.user": {"declarations": ["nixos/modules/services/web-apps/anuko-time-tracker.nix"], "default": {"_type": "literalExpression", "text": "\"anuko_time_tracker\""}, "description": "User under which Anuko Time Tracker runs.", "loc": ["services", "anuko-time-tracker", "user"], "readOnly": false, "type": "string"}, "services.apache-kafka.clusterId": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "KRaft mode ClusterId used for formatting log directories. Can be generated with `kafka-storage.sh random-uuid`\n", "loc": ["services", "apache-kafka", "clusterId"], "readOnly": false, "type": "null or string"}, "services.apache-kafka.configFiles.log4jProperties": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "\"pkgs.writeText \\\"log4j.properties\\\" cfg.log4jProperties\""}, "description": "Kafka log4j property configuration file path", "loc": ["services", "apache-kafka", "configFiles", "log4jProperties"], "readOnly": false, "type": "absolute path"}, "services.apache-kafka.configFiles.serverProperties": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "description": "Kafka server.properties configuration file path.\nDefaults to the rendered `settings`.\n", "loc": ["services", "apache-kafka", "configFiles", "serverProperties"], "readOnly": false, "type": "absolute path"}, "services.apache-kafka.enable": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Apache Kafka event streaming broker.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "apache-kafka", "enable"], "readOnly": false, "type": "boolean"}, "services.apache-kafka.formatLogDirs": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to format log dirs in KRaft mode if all log dirs are\nunformatted, ie. they contain no meta.properties.\n", "loc": ["services", "apache-kafka", "formatLogDirs"], "readOnly": false, "type": "boolean"}, "services.apache-kafka.formatLogDirsIgnoreFormatted": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ignore already formatted log dirs when formatting log dirs,\ninstead of failing. Useful when replacing or adding disks.\n", "loc": ["services", "apache-kafka", "formatLogDirsIgnoreFormatted"], "readOnly": false, "type": "boolean"}, "services.apache-kafka.jre": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "pkgs.apacheKafka.passthru.jre"}, "description": "The JRE with which to run Kafka", "loc": ["services", "apache-kafka", "jre"], "readOnly": false, "type": "package"}, "services.apache-kafka.jvmOptions": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options for the JVM running Kafka.", "example": {"_type": "literalExpression", "text": "[\n  \"-Djava.net.preferIPv4Stack=true\"\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.local.only=true\"\n]"}, "loc": ["services", "apache-kafka", "jvmOptions"], "readOnly": false, "type": "list of string"}, "services.apache-kafka.log4jProperties": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "''\n  log4j.rootLogger=INFO, stdout\n  \n  log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n  log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n\n''"}, "description": "Kafka log4j property configuration.", "loc": ["services", "apache-kafka", "log4jProperties"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.apache-kafka.package": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "pkgs.apacheKafka"}, "description": "The apacheKafka package to use.", "loc": ["services", "apache-kafka", "package"], "readOnly": false, "type": "package"}, "services.apache-kafka.settings": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "description": "[Kafka broker configuration](https://kafka.apache.org/documentation.html#brokerconfigs)\n{file}`server.properties`.\n\nNote that .properties files contain mappings from string to string.\nKeys with dots are NOT represented by nested attrs in these settings,\nbut instead as quoted strings (ie. `settings.\"broker.id\"`, NOT\n`settings.broker.id`).\n", "loc": ["services", "apache-kafka", "settings"], "readOnly": false, "type": "open submodule of lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))"}, "services.apache-kafka.settings.\"broker.id\"": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Broker ID. -1 or null to auto-allocate in zookeeper mode.", "loc": ["services", "apache-kafka", "settings", "broker.id"], "readOnly": false, "type": "null or signed integer"}, "services.apache-kafka.settings.\"log.dirs\"": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Log file directories.", "loc": ["services", "apache-kafka", "settings", "log.dirs"], "readOnly": false, "type": "list of absolute path"}, "services.apache-kafka.settings.listeners": {"declarations": ["nixos/modules/services/misc/apache-kafka.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"PLAINTEXT://localhost:9092\"\n]"}, "description": "Kafka Listener List.\nSee [listeners](https://kafka.apache.org/documentation/#brokerconfigs_listeners).\n", "loc": ["services", "apache-kafka", "settings", "listeners"], "readOnly": false, "type": "list of string"}, "services.apcupsd.configText": {"declarations": ["nixos/modules/services/monitoring/apcupsd.nix"], "default": {"_type": "literalExpression", "text": "''\n  UPSTYPE usb\n  NISIP 127.0.0.1\n  BATTERYLEVEL 50\n  MINUTES 5\n''"}, "description": "Contents of the runtime configuration file, apcupsd.conf. The default\nsettings makes apcupsd autodetect USB UPSes, limit network access to\nlocalhost and shutdown the system when the battery level is below 50\npercent, or when the UPS has calculated that it has 5 minutes or less\nof remaining power-on time. See man apcupsd.conf for details.\n", "loc": ["services", "apcupsd", "configText"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.apcupsd.enable": {"declarations": ["nixos/modules/services/monitoring/apcupsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the APC UPS daemon. apcupsd monitors your UPS and\npermits orderly shutdown of your computer in the event of a power\nfailure. User manual: http://www.apcupsd.com/manual/manual.html.\nNote that apcupsd runs as root (to allow shutdown of computer).\nYou can check the status of your UPS with the \"apcaccess\" command.\n", "loc": ["services", "apcupsd", "enable"], "readOnly": false, "type": "boolean"}, "services.apcupsd.hooks": {"declarations": ["nixos/modules/services/monitoring/apcupsd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Each attribute in this option names an apcupsd event and the string\nvalue it contains will be executed in a shell, in response to that\nevent (prior to the default action). See \"man apccontrol\" for the\nlist of events and what they represent.\n\nA hook script can stop apccontrol from doing its default action by\nexiting with value 99. Do not do this unless you know what you're\ndoing.\n", "example": {"_type": "literalExpression", "text": "{\n  doshutdown = \"# shell commands to notify that the computer is shutting down\";\n}"}, "loc": ["services", "apcupsd", "hooks"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.arbtt.enable": {"declarations": ["nixos/modules/services/monitoring/arbtt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Arbtt statistics capture service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "arbtt", "enable"], "readOnly": false, "type": "boolean"}, "services.arbtt.logFile": {"declarations": ["nixos/modules/services/monitoring/arbtt.nix"], "default": {"_type": "literalExpression", "text": "\"%h/.arbtt/capture.log\""}, "description": "The log file for captured samples.\n", "example": {"_type": "literalExpression", "text": "\"/home/username/.arbtt-capture.log\""}, "loc": ["services", "arbtt", "logFile"], "readOnly": false, "type": "string"}, "services.arbtt.package": {"declarations": ["nixos/modules/services/monitoring/arbtt.nix"], "default": {"_type": "literalExpression", "text": "pkgs.haskellPackages.arbtt"}, "description": "The arbtt package to use.", "loc": ["services", "arbtt", "package"], "readOnly": false, "type": "package"}, "services.arbtt.sampleRate": {"declarations": ["nixos/modules/services/monitoring/arbtt.nix"], "default": {"_type": "literalExpression", "text": "60"}, "description": "The sampling interval in seconds.\n", "example": {"_type": "literalExpression", "text": "120"}, "loc": ["services", "arbtt", "sampleRate"], "readOnly": false, "type": "signed integer"}, "services.aria2.downloadDirPermission": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "\"0770\""}, "description": "The permission for `settings.dir`.\n\nThe default is 0770, which denies access for users not in the `aria2`\ngroup.\n\nYou may want to adjust `serviceUMask` as well, which further restricts\nthe file permission for newly created files (i.e. the downloads).\n", "loc": ["services", "aria2", "downloadDirPermission"], "readOnly": false, "type": "string"}, "services.aria2.enable": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether or not to enable the headless Aria2 daemon service.\n\nAria2 daemon can be controlled via the RPC interface using one of many\nWebUIs (http://localhost:6800/ by default).\n\nTargets are downloaded to `/var/lib/aria2/Downloads` by default and are\naccessible to users in the `aria2` group.\n", "loc": ["services", "aria2", "enable"], "readOnly": false, "type": "boolean"}, "services.aria2.openPorts": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open listen and RPC ports found in `settings.listen-port` and\n`settings.rpc-listen-port` options in the firewall.\n", "loc": ["services", "aria2", "openPorts"], "readOnly": false, "type": "boolean"}, "services.aria2.rpcSecretFile": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "description": "A file containing the RPC secret authorization token.\nRead <https://aria2.github.io/manual/en/html/aria2c.html#rpc-auth> to know how this option value is used.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/aria2-rpc-token.txt\""}, "loc": ["services", "aria2", "rpcSecretFile"], "readOnly": false, "type": "absolute path"}, "services.aria2.serviceUMask": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "\"0022\""}, "description": "The file mode creation mask for Aria2 service.\n\nThe default is 0022 for compatibility reason, as this is the default\nused by systemd. However, this results in file permission 0644 for new\nfiles, and denies `aria2` group member from modifying the file.\n\nYou may want to set this value to `0002` so you can manage the file\nmore easily.\n", "example": {"_type": "literalExpression", "text": "\"0002\""}, "loc": ["services", "aria2", "serviceUMask"], "readOnly": false, "type": "string"}, "services.aria2.settings": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Generates the {file}`aria2.conf` file. Refer to [the documentation][0] for\nall possible settings.\n\n[0]: <https://aria2.github.io/manual/en/html/aria2c.html#synopsis>\n", "loc": ["services", "aria2", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or signed integer or floating point number or (optionally newline-terminated) single-line string)"}, "services.aria2.settings.conf-path": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/aria2/aria2.conf\""}, "description": "Configuration file path.", "loc": ["services", "aria2", "settings", "conf-path"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "services.aria2.settings.dir": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/aria2/Downloads\""}, "description": "Directory to store downloaded files.", "loc": ["services", "aria2", "settings", "dir"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "services.aria2.settings.enable-rpc": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable JSON-RPC/XML-RPC server.", "loc": ["services", "aria2", "settings", "enable-rpc"], "readOnly": false, "type": "boolean"}, "services.aria2.settings.listen-port": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "[\n  {\n    from = 6881;\n    to = 6999;\n  }\n]"}, "description": "Set UDP listening port range used by DHT(IPv4, IPv6) and UDP tracker.", "loc": ["services", "aria2", "settings", "listen-port"], "readOnly": false, "type": "list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.aria2.settings.rpc-listen-port": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "6800"}, "description": "Specify a port number for JSON-RPC/XML-RPC server to listen to. Possible Values: 1024-65535", "loc": ["services", "aria2", "settings", "rpc-listen-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.aria2.settings.save-session": {"declarations": ["nixos/modules/services/networking/aria2.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/aria2/aria2.session\""}, "description": "Save error/unfinished downloads to FILE on exit.", "loc": ["services", "aria2", "settings", "save-session"], "readOnly": false, "type": "(optionally newline-terminated) single-line string"}, "services.armagetronad.servers": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Armagetron server definitions.", "loc": ["services", "armagetronad", "servers"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.armagetronad.servers.<name>.dns": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DNS address to use for this server. Optional.", "loc": ["services", "armagetronad", "servers", "<name>", "dns"], "readOnly": false, "type": "null or string"}, "services.armagetronad.servers.<name>.enable": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable armagetronad.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "armagetronad", "servers", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.armagetronad.servers.<name>.host": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Host to listen on. Used for SERVER_IP.", "loc": ["services", "armagetronad", "servers", "<name>", "host"], "readOnly": false, "type": "string"}, "services.armagetronad.servers.<name>.name": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "description": "The name of this server.", "loc": ["services", "armagetronad", "servers", "<name>", "name"], "readOnly": false, "type": "string"}, "services.armagetronad.servers.<name>.openFirewall": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Set to true to open the configured UDP port for Armagetron Advanced.", "loc": ["services", "armagetronad", "servers", "<name>", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.armagetronad.servers.<name>.package": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "pkgs.armagetronad-dedicated"}, "description": "The armagetronad-dedicated package to use. Ensure that you use a derivation which contains the path `bin/armagetronad-dedicated`.\n", "example": {"_type": "literalExpression", "text": "pkgs.armagetronad.\"0.2.9-sty+ct+ap\".dedicated\n"}, "loc": ["services", "armagetronad", "servers", "<name>", "package"], "readOnly": false, "type": "package"}, "services.armagetronad.servers.<name>.port": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "4534"}, "description": "Port to listen on. Used for SERVER_PORT.", "loc": ["services", "armagetronad", "servers", "<name>", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.armagetronad.servers.<name>.roundSettings": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Armagetron Advanced server per-round configuration. Refer to:\n<https://wiki.armagetronad.org/index.php?title=Console_Commands>\nor `armagetronad-dedicated --doc` for a list.\n\nThis attrset is used to populate `everytime.cfg`; see:\n<https://wiki.armagetronad.org/index.php/Configuration_Files>\n", "example": {"_type": "literalExpression", "text": "{\n  SAY = [\n    \"Hosted on NixOS\"\n    \"https://nixos.org\"\n    \"iD Tech High Rubber rul3z!! Happy New Year 2008!!1\"\n  ];\n}\n"}, "loc": ["services", "armagetronad", "servers", "<name>", "roundSettings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.armagetronad.servers.<name>.settings": {"declarations": ["nixos/modules/services/games/armagetronad.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Armagetron Advanced server rules configuration. Refer to:\n<https://wiki.armagetronad.org/index.php?title=Console_Commands>\nor `armagetronad-dedicated --doc` for a list.\n\nThis attrset is used to populate `settings_custom.cfg`; see:\n<https://wiki.armagetronad.org/index.php/Configuration_Files>\n", "example": {"_type": "literalExpression", "text": "{\n  CYCLE_RUBBER = 40;\n}\n"}, "loc": ["services", "armagetronad", "servers", "<name>", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.arsenik.anglemod": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Choose here if you want to add an angle mod: ZXCVB are shifted to the left.\nSee https://colemakmods.github.io/ergonomic-mods/angle.html for more details.\n", "loc": ["services", "arsenik", "anglemod"], "readOnly": false, "type": "boolean"}, "services.arsenik.enable": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable A 33-key layout that works with all keyboards..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "arsenik", "enable"], "readOnly": false, "type": "boolean"}, "services.arsenik.hold_timeout": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "200"}, "description": "The key must be held XX ms to become a layer shift.", "loc": ["services", "arsenik", "hold_timeout"], "readOnly": false, "type": "signed integer"}, "services.arsenik.hrm": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable homerow.", "loc": ["services", "arsenik", "hrm"], "readOnly": false, "type": "boolean"}, "services.arsenik.lafayette": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add AltGr programmation layer like Ergo\u2011L", "loc": ["services", "arsenik", "lafayette"], "readOnly": false, "type": "boolean"}, "services.arsenik.layout": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "\"ergol\""}, "description": "Your keyboard layout. Possible values are:\nergol qwerty-lafayette qwerty azerty qwertz bepo optimot\n", "loc": ["services", "arsenik", "layout"], "readOnly": false, "type": "string"}, "services.arsenik.long_hold_timeout": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "300"}, "description": "Slightly higher value for typing keys, to prevent unexpected hold effect.", "loc": ["services", "arsenik", "long_hold_timeout"], "readOnly": false, "type": "signed integer"}, "services.arsenik.lt": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable layer-taps.", "loc": ["services", "arsenik", "lt"], "readOnly": false, "type": "boolean"}, "services.arsenik.mac": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Original key arrangement on your keyboard: Mac or PC.", "loc": ["services", "arsenik", "mac"], "readOnly": false, "type": "boolean"}, "services.arsenik.num": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add NumRow layer", "loc": ["services", "arsenik", "num"], "readOnly": false, "type": "boolean"}, "services.arsenik.package": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "pkgs.arsenik"}, "description": "The arsenik package to use.", "loc": ["services", "arsenik", "package"], "readOnly": false, "type": "package"}, "services.arsenik.run": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "\"M-p\""}, "description": "The keyboard shortcut of your application launcher.", "loc": ["services", "arsenik", "run"], "readOnly": false, "type": "string"}, "services.arsenik.tap_timeout": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "200"}, "description": "The key must be pressed twice in XX ms to enable repetitions.", "loc": ["services", "arsenik", "tap_timeout"], "readOnly": false, "type": "signed integer"}, "services.arsenik.vim": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Navigation layer: ESDF or HJKL?", "loc": ["services", "arsenik", "vim"], "readOnly": false, "type": "boolean"}, "services.arsenik.wide": {"declarations": ["nixos/modules/services/hardware/arsenik.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "The right hand is moved one key to the right.", "loc": ["services", "arsenik", "wide"], "readOnly": false, "type": "boolean"}, "services.artalk.allowModify": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "allow Artalk store the settings to config file persistently", "loc": ["services", "artalk", "allowModify"], "readOnly": false, "type": "boolean"}, "services.artalk.configFile": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/artalk/config.yml\""}, "description": "Artalk config file path. If it is not exist, Artalk will generate one.", "loc": ["services", "artalk", "configFile"], "readOnly": false, "type": "string"}, "services.artalk.enable": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable artalk, a comment system.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "artalk", "enable"], "readOnly": false, "type": "boolean"}, "services.artalk.group": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "\"artalk\""}, "description": "Artalk group name.", "loc": ["services", "artalk", "group"], "readOnly": false, "type": "string"}, "services.artalk.package": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "pkgs.artalk"}, "description": "The artalk package to use.", "loc": ["services", "artalk", "package"], "readOnly": false, "type": "package"}, "services.artalk.settings": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The artalk configuration.\n\nIf you set allowModify to true, Artalk will be able to store the settings in the config file persistently. This section's content will update in the config file after the service restarts.\n\nOptions containing secret data should be set to an attribute set\ncontaining the attribute `_secret` - a string pointing to a file\ncontaining the value the option should be set to.\n", "loc": ["services", "artalk", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.artalk.settings.host": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Artalk server listen host\n", "loc": ["services", "artalk", "settings", "host"], "readOnly": false, "type": "string"}, "services.artalk.settings.port": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "23366"}, "description": "Artalk server listen port\n", "loc": ["services", "artalk", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.artalk.user": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "\"artalk\""}, "description": "Artalk user name.", "loc": ["services", "artalk", "user"], "readOnly": false, "type": "string"}, "services.artalk.workdir": {"declarations": ["nixos/modules/services/web-apps/artalk.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/artalk\""}, "description": "Artalk working directory", "loc": ["services", "artalk", "workdir"], "readOnly": false, "type": "string"}, "services.asterisk.confFiles": {"declarations": ["nixos/modules/services/networking/asterisk.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Sets the content of config files (typically ending with\n`.conf`) in the Asterisk configuration directory.\n\nNote that if you want to change {file}`asterisk.conf`, it\nis preferable to use the {option}`services.asterisk.extraConfig`\noption over this option. If `\"asterisk.conf\"` is\nspecified with the {option}`confFiles` option (not recommended),\nyou must be prepared to set your own `astetcdir`\npath.\n\nSee\n<https://www.asterisk.org/community/documentation/>\nfor more examples of what is possible here.\n", "example": {"_type": "literalExpression", "text": "{\n  \"extensions.conf\" = ''\n    [tests]\n    ; Dial 100 for \"hello, world\"\n    exten => 100,1,Answer()\n    same  =>     n,Wait(1)\n    same  =>     n,Playback(hello-world)\n    same  =>     n,Hangup()\n\n    [softphones]\n    include => tests\n\n    [unauthorized]\n  '';\n  \"sip.conf\" = ''\n    [general]\n    allowguest=no              ; Require authentication\n    context=unauthorized       ; Send unauthorized users to /dev/null\n    srvlookup=no               ; Don't do DNS lookup\n    udpbindaddr=0.0.0.0        ; Listen on all interfaces\n    nat=force_rport,comedia    ; Assume device is behind NAT\n\n    [softphone](!)\n    type=friend                ; Match on username first, IP second\n    context=softphones         ; Send to softphones context in\n                               ; extensions.conf file\n    host=dynamic               ; Device will register with asterisk\n    disallow=all               ; Manually specify codecs to allow\n    allow=g722\n    allow=ulaw\n    allow=alaw\n\n    [myphone](softphone)\n    secret=GhoshevFew          ; Change this password!\n  '';\n  \"logger.conf\" = ''\n    [general]\n\n    [logfiles]\n    ; Add debug output to log\n    syslog.local0 => notice,warning,error,debug\n  '';\n}\n"}, "loc": ["services", "asterisk", "confFiles"], "readOnly": false, "type": "attribute set of string"}, "services.asterisk.enable": {"declarations": ["nixos/modules/services/networking/asterisk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Asterisk PBX server.\n", "loc": ["services", "asterisk", "enable"], "readOnly": false, "type": "boolean"}, "services.asterisk.extraArguments": {"declarations": ["nixos/modules/services/networking/asterisk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line arguments to pass to Asterisk.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-vvvddd\"\n  \"-e\"\n  \"1024\"\n]"}, "loc": ["services", "asterisk", "extraArguments"], "readOnly": false, "type": "list of string"}, "services.asterisk.extraConfig": {"declarations": ["nixos/modules/services/networking/asterisk.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration options appended to the default\n{file}`asterisk.conf` file.\n", "example": {"_type": "literalExpression", "text": "''\n  [options]\n  verbose=3\n  debug=3\n''"}, "loc": ["services", "asterisk", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.asterisk.package": {"declarations": ["nixos/modules/services/networking/asterisk.nix"], "default": {"_type": "literalExpression", "text": "pkgs.asterisk"}, "description": "The asterisk package to use.", "loc": ["services", "asterisk", "package"], "readOnly": false, "type": "package"}, "services.asterisk.useTheseDefaultConfFiles": {"declarations": ["nixos/modules/services/networking/asterisk.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"ari.conf\"\n  \"acl.conf\"\n  \"agents.conf\"\n  \"amd.conf\"\n  \"calendar.conf\"\n  \"cdr.conf\"\n  \"cdr_syslog.conf\"\n  \"cdr_custom.conf\"\n  \"cel.conf\"\n  \"cel_custom.conf\"\n  \"cli_aliases.conf\"\n  \"confbridge.conf\"\n  \"dundi.conf\"\n  \"features.conf\"\n  \"hep.conf\"\n  \"iax.conf\"\n  \"pjsip.conf\"\n  \"pjsip_wizard.conf\"\n  \"phone.conf\"\n  \"phoneprov.conf\"\n  \"queues.conf\"\n  \"res_config_sqlite3.conf\"\n  \"res_parking.conf\"\n  \"statsd.conf\"\n  \"udptl.conf\"\n  \"unistim.conf\"\n]"}, "description": "Sets these config files to the default content. The default value for\n          this option contains all necesscary files to avoid errors at startup.\n          This does not override settings via {option}`services.asterisk.confFiles`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"sip.conf\"\n  \"dundi.conf\"\n]"}, "loc": ["services", "asterisk", "useTheseDefaultConfFiles"], "readOnly": false, "type": "list of string"}, "services.asusd.animeConfig": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The content of /etc/asusd/anime.ron.\nSee <https://asus-linux.org/manual/asusctl-manual/#anime-control>.\n", "loc": ["services", "asusd", "animeConfig"], "readOnly": false, "type": "null or (submodule)"}, "services.asusd.animeConfig.source": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the source file.", "loc": ["services", "asusd", "animeConfig", "source"], "readOnly": false, "type": "null or absolute path"}, "services.asusd.animeConfig.text": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["services", "asusd", "animeConfig", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.asusd.asusdConfig": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The content of /etc/asusd/asusd.ron.\nSee <https://asus-linux.org/manual/asusctl-manual/>.\n", "loc": ["services", "asusd", "asusdConfig"], "readOnly": false, "type": "null or (submodule)"}, "services.asusd.asusdConfig.source": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the source file.", "loc": ["services", "asusd", "asusdConfig", "source"], "readOnly": false, "type": "null or absolute path"}, "services.asusd.asusdConfig.text": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["services", "asusd", "asusdConfig", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.asusd.auraConfigs": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The content of /etc/asusd/aura_<name>.ron.\nSee <https://asus-linux.org/manual/asusctl-manual/#led-keyboard-control>.\n", "loc": ["services", "asusd", "auraConfigs"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.asusd.auraConfigs.<name>.source": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the source file.", "loc": ["services", "asusd", "auraConfigs", "<name>", "source"], "readOnly": false, "type": "null or absolute path"}, "services.asusd.auraConfigs.<name>.text": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["services", "asusd", "auraConfigs", "<name>", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.asusd.enable": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the asusd service for ASUS ROG laptops.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "asusd", "enable"], "readOnly": false, "type": "boolean"}, "services.asusd.fanCurvesConfig": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The content of /etc/asusd/fan_curves.ron.\nSee <https://asus-linux.org/manual/asusctl-manual/#fan-curves>.\n", "loc": ["services", "asusd", "fanCurvesConfig"], "readOnly": false, "type": "null or (submodule)"}, "services.asusd.fanCurvesConfig.source": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the source file.", "loc": ["services", "asusd", "fanCurvesConfig", "source"], "readOnly": false, "type": "null or absolute path"}, "services.asusd.fanCurvesConfig.text": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["services", "asusd", "fanCurvesConfig", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.asusd.package": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.asusctl"}, "description": "The asusctl package to use.", "loc": ["services", "asusd", "package"], "readOnly": false, "type": "package"}, "services.asusd.profileConfig": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The content of /etc/asusd/profile.ron.\nSee <https://asus-linux.org/manual/asusctl-manual/#profiles>.\n", "loc": ["services", "asusd", "profileConfig"], "readOnly": false, "type": "null or (submodule)"}, "services.asusd.profileConfig.source": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the source file.", "loc": ["services", "asusd", "profileConfig", "source"], "readOnly": false, "type": "null or absolute path"}, "services.asusd.profileConfig.text": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["services", "asusd", "profileConfig", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.asusd.userLedModesConfig": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The content of /etc/asusd/asusd-user-ledmodes.ron.\nSee <https://asus-linux.org/manual/asusctl-manual/#led-keyboard-control>.\n", "loc": ["services", "asusd", "userLedModesConfig"], "readOnly": false, "type": "null or (submodule)"}, "services.asusd.userLedModesConfig.source": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the source file.", "loc": ["services", "asusd", "userLedModesConfig", "source"], "readOnly": false, "type": "null or absolute path"}, "services.asusd.userLedModesConfig.text": {"declarations": ["nixos/modules/services/hardware/asusd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Text of the file.", "loc": ["services", "asusd", "userLedModesConfig", "text"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.atalkd.configFile": {"declarations": ["nixos/modules/services/networking/atalkd.nix"], "default": {"_type": "literalExpression", "text": "\"/nix/store/xxx-atalkd.conf\""}, "description": "Optional path to a custom {file}`atalkd.conf` file. When set, this overrides the generated\nconfiguration from `services.atalkd.interfaces`.\n", "loc": ["services", "atalkd", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.atalkd.enable": {"declarations": ["nixos/modules/services/networking/atalkd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the AppleTalk daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "atalkd", "enable"], "readOnly": false, "type": "boolean"}, "services.atalkd.interfaces": {"declarations": ["nixos/modules/services/networking/atalkd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Per-interface configuration for atalkd.", "loc": ["services", "atalkd", "interfaces"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.atalkd.interfaces.<name>.config": {"declarations": ["nixos/modules/services/networking/atalkd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional configuration string for this interface.", "loc": ["services", "atalkd", "interfaces", "<name>", "config"], "readOnly": false, "type": "null or string"}, "services.atd.allowEveryone": {"declarations": ["nixos/modules/services/scheduling/atd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to make {file}`/var/spool/at{jobs,spool}`\nwriteable by everyone (and sticky).  This is normally not\nneeded since the {command}`at` commands are\nsetuid/setgid `atd`.\n", "loc": ["services", "atd", "allowEveryone"], "readOnly": false, "type": "boolean"}, "services.atd.enable": {"declarations": ["nixos/modules/services/scheduling/atd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the {command}`at` daemon, a command scheduler.\n", "loc": ["services", "atd", "enable"], "readOnly": false, "type": "boolean"}, "services.atftpd.enable": {"declarations": ["nixos/modules/services/networking/atftpd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the atftpd TFTP server. By default, the server\nbinds to address 0.0.0.0.\n", "loc": ["services", "atftpd", "enable"], "readOnly": false, "type": "boolean"}, "services.atftpd.extraOptions": {"declarations": ["nixos/modules/services/networking/atftpd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments to pass to atftp.\n", "example": {"_type": "literalExpression", "text": "[ \"--bind-address 192.168.9.1\"\n  \"--verbose=7\"\n]\n"}, "loc": ["services", "atftpd", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.atftpd.root": {"declarations": ["nixos/modules/services/networking/atftpd.nix"], "default": {"_type": "literalExpression", "text": "\"/srv/tftp\""}, "description": "Document root directory for the atftpd.\n", "loc": ["services", "atftpd", "root"], "readOnly": false, "type": "absolute path"}, "services.athens.basicAuthPass": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for basic auth. Warning: this is stored in plain text in the config file.\n", "example": {"_type": "literalExpression", "text": "\"swordfish\""}, "loc": ["services", "athens", "basicAuthPass"], "readOnly": false, "type": "null or string"}, "services.athens.basicAuthUser": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username for basic auth.\n", "example": {"_type": "literalExpression", "text": "\"user\""}, "loc": ["services", "athens", "basicAuthUser"], "readOnly": false, "type": "null or string"}, "services.athens.cloudRuntime": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"none\""}, "description": "Specifies the Cloud Provider on which the Proxy/registry is running.\n", "example": {"_type": "literalExpression", "text": "\"GCP\""}, "loc": ["services", "athens", "cloudRuntime"], "readOnly": false, "type": "one of \"GCP\", \"none\""}, "services.athens.downloadMode": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"async_redirect\""}, "description": "Defines how Athens behaves when a module@version\nis not found in storage. There are 7 options:\n1. \"sync\": download the module synchronously and\nreturn the results to the client.\n2. \"async\": return 404, but asynchronously store the module\nin the storage backend.\n3. \"redirect\": return a 301 redirect status to the client\nwith the base URL as the DownloadRedirectURL from below.\n4. \"async_redirect\": same as option number 3 but it will\nasynchronously store the module to the backend.\n5. \"none\": return 404 if a module is not found and do nothing.\n6. \"file:<path>\": will point to an HCL file that specifies\nany of the 5 options above based on different import paths.\n7. \"custom:<base64-encoded-hcl>\" is the same as option 6\nbut the file is fully encoded in the option. This is\nuseful for using an environment variable in serverless\ndeployments.\n", "loc": ["services", "athens", "downloadMode"], "readOnly": false, "type": "one of \"sync\", \"async\", \"redirect\", \"async_redirect\", \"none\" or string matching the pattern ^file:.*$|^custom:.*$"}, "services.athens.downloadURL": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"https://proxy.golang.org\""}, "description": "URL used if DownloadMode is set to redirect.", "loc": ["services", "athens", "downloadURL"], "readOnly": false, "type": "string"}, "services.athens.enable": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Go module datastore and proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "athens", "enable"], "readOnly": false, "type": "boolean"}, "services.athens.enablePprof": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable pprof endpoints.", "loc": ["services", "athens", "enablePprof"], "readOnly": false, "type": "boolean"}, "services.athens.extraConfig": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options for the athens config file.\n", "loc": ["services", "athens", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.athens.filterFile": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Filename for the include exclude filter.", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"filterFile\" ''\n  - github.com/azure\n  + github.com/azure/azure-sdk-for-go\n  D golang.org/x/tools\n''\n"}, "loc": ["services", "athens", "filterFile"], "readOnly": false, "type": "null or absolute path"}, "services.athens.forceSSL": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force SSL redirects for incoming requests.\n", "loc": ["services", "athens", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.athens.githubToken": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Creates .netrc file with the given token to be used for GitHub.\nWarning: this is stored in plain text in the config file.\n", "example": {"_type": "literalExpression", "text": "\"ghp_1234567890\""}, "loc": ["services", "athens", "githubToken"], "readOnly": false, "type": "null or string"}, "services.athens.globalEndpoint": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Endpoint for a package registry in case of a proxy cache miss.\n", "example": {"_type": "literalExpression", "text": "\"http://upstream-athens.example.com:3000\""}, "loc": ["services", "athens", "globalEndpoint"], "readOnly": false, "type": "string"}, "services.athens.goBinary": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "pkgs.go"}, "description": "The Go package used by Athens at runtime.\n\nAthens primarily runs two Go commands:\n1. `go mod download -json <module>@<version>`\n2. `go list -m -json <module>@latest`\n", "example": {"_type": "literalExpression", "text": "\"pkgs.go_1_23\""}, "loc": ["services", "athens", "goBinary"], "readOnly": false, "type": "package"}, "services.athens.goBinaryEnvVars": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to pass to the Go binary.", "example": {"_type": "literalExpression", "text": "''\n  { \"GOPROXY\" = \"direct\", \"GODEBUG\" = \"true\" }\n''"}, "loc": ["services", "athens", "goBinaryEnvVars"], "readOnly": false, "type": "attribute set"}, "services.athens.goEnv": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"development\""}, "description": "Specifies the type of environment to run. One of 'development' or 'production'.", "example": {"_type": "literalExpression", "text": "\"production\""}, "loc": ["services", "athens", "goEnv"], "readOnly": false, "type": "one of \"development\", \"production\""}, "services.athens.goGetDir": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Temporary directory that Athens will use to\nfetch modules from VCS prior to persisting\nthem to a storage backend.\n\nIf the value is empty, Athens will use the\ndefault OS temp directory.\n", "example": {"_type": "literalExpression", "text": "\"/tmp/athens\""}, "loc": ["services", "athens", "goGetDir"], "readOnly": false, "type": "null or absolute path"}, "services.athens.goGetWorkers": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Number of workers concurrently downloading modules.", "example": {"_type": "literalExpression", "text": "32"}, "loc": ["services", "athens", "goGetWorkers"], "readOnly": false, "type": "signed integer"}, "services.athens.hgrcPath": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the .hgrc file.\n", "example": {"_type": "literalExpression", "text": "\"/home/user/.hgrc\""}, "loc": ["services", "athens", "hgrcPath"], "readOnly": false, "type": "null or absolute path"}, "services.athens.index.mysql.database": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"athens\""}, "description": "Database name for the MySQL database.", "loc": ["services", "athens", "index", "mysql", "database"], "readOnly": false, "type": "string"}, "services.athens.index.mysql.host": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Host for the MySQL database.", "loc": ["services", "athens", "index", "mysql", "host"], "readOnly": false, "type": "string"}, "services.athens.index.mysql.params.parseTime": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"true\""}, "description": "Parse time for the MySQL database.", "loc": ["services", "athens", "index", "mysql", "params", "parseTime"], "readOnly": false, "type": "null or string"}, "services.athens.index.mysql.params.timeout": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"30s\""}, "description": "Timeout for the MySQL database.", "loc": ["services", "athens", "index", "mysql", "params", "timeout"], "readOnly": false, "type": "null or string"}, "services.athens.index.mysql.password": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for the MySQL database. Warning: this is stored in plain text in the config file.", "loc": ["services", "athens", "index", "mysql", "password"], "readOnly": false, "type": "null or string"}, "services.athens.index.mysql.port": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Port for the MySQL database.", "loc": ["services", "athens", "index", "mysql", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.athens.index.mysql.protocol": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"tcp\""}, "description": "Protocol for the MySQL database.", "loc": ["services", "athens", "index", "mysql", "protocol"], "readOnly": false, "type": "string"}, "services.athens.index.mysql.user": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "User for the MySQL database.", "loc": ["services", "athens", "index", "mysql", "user"], "readOnly": false, "type": "string"}, "services.athens.index.postgres.database": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"athens\""}, "description": "Database name for the Postgres database.", "loc": ["services", "athens", "index", "postgres", "database"], "readOnly": false, "type": "string"}, "services.athens.index.postgres.host": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Host for the Postgres database.", "loc": ["services", "athens", "index", "postgres", "host"], "readOnly": false, "type": "string"}, "services.athens.index.postgres.params.connect_timeout": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"30s\""}, "description": "Connect timeout for the Postgres database.", "loc": ["services", "athens", "index", "postgres", "params", "connect_timeout"], "readOnly": false, "type": "null or string"}, "services.athens.index.postgres.params.sslmode": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"disable\""}, "description": "SSL mode for the Postgres database.", "loc": ["services", "athens", "index", "postgres", "params", "sslmode"], "readOnly": false, "type": "null or string"}, "services.athens.index.postgres.password": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for the Postgres database. Warning: this is stored in plain text in the config file.", "loc": ["services", "athens", "index", "postgres", "password"], "readOnly": false, "type": "null or string"}, "services.athens.index.postgres.port": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "Port for the Postgres database.", "loc": ["services", "athens", "index", "postgres", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.athens.index.postgres.user": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"postgres\""}, "description": "User for the Postgres database.", "loc": ["services", "athens", "index", "postgres", "user"], "readOnly": false, "type": "string"}, "services.athens.indexType": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"none\""}, "description": "Type of index backend Athens will use.\n", "loc": ["services", "athens", "indexType"], "readOnly": false, "type": "one of \"none\", \"memory\", \"mysql\", \"postgres\""}, "services.athens.logLevel": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"warning\""}, "description": "Log level for Athens.\nSupports all logrus log levels (https://github.com/Sirupsen/logrus#level-logging)\".\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "athens", "logLevel"], "readOnly": false, "type": "null or one of \"panic\", \"fatal\", \"error\", \"warning\", \"info\", \"debug\", \"trace\""}, "services.athens.netrcPath": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the .netrc file.\n", "example": {"_type": "literalExpression", "text": "\"/home/user/.netrc\""}, "loc": ["services", "athens", "netrcPath"], "readOnly": false, "type": "null or absolute path"}, "services.athens.networkMode": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"strict\""}, "description": "Configures how Athens will return the results\nof the /list endpoint as it can be assembled from both its own\nstorage and the upstream VCS.\n\nNote, that for better error messaging, this would also affect how other\nendpoints behave.\n\nModes:\n1. strict: merge VCS versions with storage versions, but fail if either of them fails.\n2. offline: only get storage versions, never reach out to VCS.\n3. fallback: only return storage versions, if VCS fails. Note this means that you may\nsee inconsistent results since fallback mode does a best effort of giving you what's\navailable at the time of requesting versions.\n", "loc": ["services", "athens", "networkMode"], "readOnly": false, "type": "one of \"strict\", \"offline\", \"fallback\""}, "services.athens.noSumPatterns": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of patterns that Athens sum db proxy will return a 403 for.\n", "example": {"_type": "literalExpression", "text": "[\n  \"github.com/mycompany/*\"\n]"}, "loc": ["services", "athens", "noSumPatterns"], "readOnly": false, "type": "list of string"}, "services.athens.package": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "pkgs.athens"}, "description": "Which athens derivation to use", "example": {"_type": "literalExpression", "text": "\"pkgs.athens\""}, "loc": ["services", "athens", "package"], "readOnly": false, "type": "package"}, "services.athens.pathPrefix": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets basepath for all routes.\n", "example": {"_type": "literalExpression", "text": "\"/athens\""}, "loc": ["services", "athens", "pathPrefix"], "readOnly": false, "type": "null or string"}, "services.athens.port": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port number Athens listens on.\n", "example": {"_type": "literalExpression", "text": "443"}, "loc": ["services", "athens", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.athens.pprofPort": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "3301"}, "description": "Port number for pprof endpoints.", "example": {"_type": "literalExpression", "text": "443"}, "loc": ["services", "athens", "pprofPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.athens.protocolWorkers": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "30"}, "description": "Number of workers concurrently serving protocol paths.", "loc": ["services", "athens", "protocolWorkers"], "readOnly": false, "type": "signed integer"}, "services.athens.robotsFile": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Provides /robots.txt for net crawlers.", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"robots.txt\" \"# my custom robots.txt ...\""}, "loc": ["services", "athens", "robotsFile"], "readOnly": false, "type": "null or absolute path"}, "services.athens.shutdownTimeout": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "60"}, "description": "Number of seconds to wait for the server to shutdown gracefully.\n", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "athens", "shutdownTimeout"], "readOnly": false, "type": "signed integer"}, "services.athens.singleFlight.etcd.endpoints": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "URLs that determine all distributed etcd servers.", "example": {"_type": "literalExpression", "text": "[\n  \"localhost:2379\"\n]"}, "loc": ["services", "athens", "singleFlight", "etcd", "endpoints"], "readOnly": false, "type": "list of string"}, "services.athens.singleFlight.redis.endpoint": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "URL of the redis server.", "example": {"_type": "literalExpression", "text": "\"localhost:6379\""}, "loc": ["services", "athens", "singleFlight", "redis", "endpoint"], "readOnly": false, "type": "string"}, "services.athens.singleFlight.redis.lockConfig.maxRetries": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Maximum number of retries for the lock.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "athens", "singleFlight", "redis", "lockConfig", "maxRetries"], "readOnly": false, "type": "signed integer"}, "services.athens.singleFlight.redis.lockConfig.timeout": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "15"}, "description": "Timeout for the lock in seconds.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "athens", "singleFlight", "redis", "lockConfig", "timeout"], "readOnly": false, "type": "signed integer"}, "services.athens.singleFlight.redis.lockConfig.ttl": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "900"}, "description": "TTL for the lock in seconds.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "athens", "singleFlight", "redis", "lockConfig", "ttl"], "readOnly": false, "type": "signed integer"}, "services.athens.singleFlight.redis.password": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Password for the redis server. Warning: this is stored in plain text in the config file.", "example": {"_type": "literalExpression", "text": "\"swordfish\""}, "loc": ["services", "athens", "singleFlight", "redis", "password"], "readOnly": false, "type": "string"}, "services.athens.singleFlight.redisSentinel.endpoints": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "URLs that determine all distributed redis servers.", "example": {"_type": "literalExpression", "text": "[\n  \"localhost:26379\"\n]"}, "loc": ["services", "athens", "singleFlight", "redisSentinel", "endpoints"], "readOnly": false, "type": "list of string"}, "services.athens.singleFlight.redisSentinel.lockConfig.maxRetries": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Maximum number of retries for the lock.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "athens", "singleFlight", "redisSentinel", "lockConfig", "maxRetries"], "readOnly": false, "type": "signed integer"}, "services.athens.singleFlight.redisSentinel.lockConfig.timeout": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "15"}, "description": "Timeout for the lock in seconds.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "athens", "singleFlight", "redisSentinel", "lockConfig", "timeout"], "readOnly": false, "type": "signed integer"}, "services.athens.singleFlight.redisSentinel.lockConfig.ttl": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "900"}, "description": "TTL for the lock in seconds.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "athens", "singleFlight", "redisSentinel", "lockConfig", "ttl"], "readOnly": false, "type": "signed integer"}, "services.athens.singleFlight.redisSentinel.masterName": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Name of the sentinel master server.", "example": {"_type": "literalExpression", "text": "\"redis-1\""}, "loc": ["services", "athens", "singleFlight", "redisSentinel", "masterName"], "readOnly": false, "type": "string"}, "services.athens.singleFlight.redisSentinel.sentinelPassword": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Password for the sentinel server. Warning: this is stored in plain text in the config file.", "example": {"_type": "literalExpression", "text": "\"swordfish\""}, "loc": ["services", "athens", "singleFlight", "redisSentinel", "sentinelPassword"], "readOnly": false, "type": "string"}, "services.athens.singleFlightType": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"memory\""}, "description": "Determines what mechanism Athens uses to manage concurrency flowing into the Athens backend.\n", "loc": ["services", "athens", "singleFlightType"], "readOnly": false, "type": "one of \"memory\", \"etcd\", \"redis\", \"redis-sentinel\", \"gcp\", \"azureblob\""}, "services.athens.statsExporter": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Stats exporter to use.", "loc": ["services", "athens", "statsExporter"], "readOnly": false, "type": "null or value \"prometheus\" (singular enum)"}, "services.athens.storage.azureblob.accountKey": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Account key for the Azure Blob storage backend. Warning: this is stored in plain text in the config file.", "loc": ["services", "athens", "storage", "azureblob", "accountKey"], "readOnly": false, "type": "null or string"}, "services.athens.storage.azureblob.accountName": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Account name for the Azure Blob storage backend.", "loc": ["services", "athens", "storage", "azureblob", "accountName"], "readOnly": false, "type": "null or string"}, "services.athens.storage.azureblob.containerName": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Container name for the Azure Blob storage backend.", "loc": ["services", "athens", "storage", "azureblob", "containerName"], "readOnly": false, "type": "null or string"}, "services.athens.storage.cdn.endpoint": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "hostname of the CDN server.", "example": {"_type": "literalExpression", "text": "\"cdn.example.com\""}, "loc": ["services", "athens", "storage", "cdn", "endpoint"], "readOnly": false, "type": "null or string"}, "services.athens.storage.disk.rootPath": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/athens\""}, "description": "Athens disk root folder.", "loc": ["services", "athens", "storage", "disk", "rootPath"], "readOnly": false, "type": "null or absolute path"}, "services.athens.storage.external.url": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL of the backend storage layer.", "example": {"_type": "literalExpression", "text": "\"https://athens.example.com\""}, "loc": ["services", "athens", "storage", "external", "url"], "readOnly": false, "type": "null or string"}, "services.athens.storage.gcp.bucket": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "GCP backend storage bucket.", "example": {"_type": "literalExpression", "text": "\"my-bucket\""}, "loc": ["services", "athens", "storage", "gcp", "bucket"], "readOnly": false, "type": "null or string"}, "services.athens.storage.gcp.jsonKey": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Base64 encoded GCP service account key. Warning: this is stored in plain text in the config file.", "loc": ["services", "athens", "storage", "gcp", "jsonKey"], "readOnly": false, "type": "null or string"}, "services.athens.storage.gcp.projectID": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "GCP project ID.", "example": {"_type": "literalExpression", "text": "\"my-project\""}, "loc": ["services", "athens", "storage", "gcp", "projectID"], "readOnly": false, "type": "null or string"}, "services.athens.storage.mongo.certPath": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the certificate file for the mongo database.", "example": {"_type": "literalExpression", "text": "\"/etc/ssl/mongo.pem\""}, "loc": ["services", "athens", "storage", "mongo", "certPath"], "readOnly": false, "type": "null or absolute path"}, "services.athens.storage.mongo.defaultDBName": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the mongo database.", "example": {"_type": "literalExpression", "text": "\"athens\""}, "loc": ["services", "athens", "storage", "mongo", "defaultDBName"], "readOnly": false, "type": "null or string"}, "services.athens.storage.mongo.insecure": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow insecure connections to the mongo database.", "loc": ["services", "athens", "storage", "mongo", "insecure"], "readOnly": false, "type": "boolean"}, "services.athens.storage.mongo.url": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL of the mongo database.", "example": {"_type": "literalExpression", "text": "\"mongodb://localhost:27017\""}, "loc": ["services", "athens", "storage", "mongo", "url"], "readOnly": false, "type": "null or string"}, "services.athens.storage.s3.awsContainerCredentialsRelativeURI": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Container relative url (used by fargate).", "loc": ["services", "athens", "storage", "s3", "awsContainerCredentialsRelativeURI"], "readOnly": false, "type": "null or string"}, "services.athens.storage.s3.bucket": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Bucket name for the S3 storage backend.", "example": {"_type": "literalExpression", "text": "\"gomods\""}, "loc": ["services", "athens", "storage", "s3", "bucket"], "readOnly": false, "type": "null or string"}, "services.athens.storage.s3.credentialsEndpoint": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Credentials endpoint for the S3 storage backend.", "loc": ["services", "athens", "storage", "s3", "credentialsEndpoint"], "readOnly": false, "type": "string"}, "services.athens.storage.s3.endpoint": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Endpoint for the S3 storage backend.", "loc": ["services", "athens", "storage", "s3", "endpoint"], "readOnly": false, "type": "null or string"}, "services.athens.storage.s3.forcePathStyle": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force path style for the S3 storage backend.", "loc": ["services", "athens", "storage", "s3", "forcePathStyle"], "readOnly": false, "type": "boolean"}, "services.athens.storage.s3.key": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Access key id for the S3 storage backend.", "loc": ["services", "athens", "storage", "s3", "key"], "readOnly": false, "type": "null or string"}, "services.athens.storage.s3.region": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Region of the S3 storage backend.", "example": {"_type": "literalExpression", "text": "\"eu-west-3\""}, "loc": ["services", "athens", "storage", "s3", "region"], "readOnly": false, "type": "null or string"}, "services.athens.storage.s3.secret": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Secret key for the S3 storage backend. Warning: this is stored in plain text in the config file.", "loc": ["services", "athens", "storage", "s3", "secret"], "readOnly": false, "type": "string"}, "services.athens.storage.s3.token": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Token for the S3 storage backend. Warning: this is stored in plain text in the config file.", "loc": ["services", "athens", "storage", "s3", "token"], "readOnly": false, "type": "null or string"}, "services.athens.storage.s3.useDefaultConfiguration": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use default configuration for the S3 storage backend.", "loc": ["services", "athens", "storage", "s3", "useDefaultConfiguration"], "readOnly": false, "type": "boolean"}, "services.athens.storageType": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "\"disk\""}, "description": "Specifies the type of storage backend to use.", "loc": ["services", "athens", "storageType"], "readOnly": false, "type": "one of \"memory\", \"disk\", \"mongo\", \"gcp\", \"s3\", \"azureblob\", \"external\""}, "services.athens.sumDBs": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"https://sum.golang.org\"\n]"}, "description": "List of fully qualified URLs that Athens will proxy\nthat the go command can use a checksum verifier.\n", "loc": ["services", "athens", "sumDBs"], "readOnly": false, "type": "list of string"}, "services.athens.timeout": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "300"}, "description": "Timeout for external network calls in seconds.", "example": {"_type": "literalExpression", "text": "3"}, "loc": ["services", "athens", "timeout"], "readOnly": false, "type": "signed integer"}, "services.athens.tlsCertFile": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the TLS certificate file.", "example": {"_type": "literalExpression", "text": "\"/etc/ssl/certs/athens.crt\""}, "loc": ["services", "athens", "tlsCertFile"], "readOnly": false, "type": "null or absolute path"}, "services.athens.tlsKeyFile": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the TLS key file.", "example": {"_type": "literalExpression", "text": "\"/etc/ssl/certs/athens.key\""}, "loc": ["services", "athens", "tlsKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.athens.traceExporter": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Trace exporter to use.\n", "loc": ["services", "athens", "traceExporter"], "readOnly": false, "type": "null or one of \"jaeger\", \"datadog\""}, "services.athens.traceExporterURL": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL endpoint that traces will be sent to.\n", "example": {"_type": "literalExpression", "text": "\"http://localhost:14268\""}, "loc": ["services", "athens", "traceExporterURL"], "readOnly": false, "type": "null or string"}, "services.athens.unixSocket": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the unix socket file.\nIf set, Athens will listen on the unix socket instead of TCP socket.\n", "example": {"_type": "literalExpression", "text": "\"/run/athens.sock\""}, "loc": ["services", "athens", "unixSocket"], "readOnly": false, "type": "null or absolute path"}, "services.athens.validatorHook": {"declarations": ["nixos/modules/services/development/athens.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Endpoint to validate modules against.\n\nNot used if empty.\n", "example": {"_type": "literalExpression", "text": "\"https://validation.example.com\""}, "loc": ["services", "athens", "validatorHook"], "readOnly": false, "type": "null or string"}, "services.atticd.enable": {"declarations": ["nixos/modules/services/networking/atticd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the atticd, the Nix Binary Cache server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "atticd", "enable"], "readOnly": false, "type": "boolean"}, "services.atticd.environmentFile": {"declarations": ["nixos/modules/services/networking/atticd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to an EnvironmentFile containing required environment\nvariables:\n\n- ATTIC_SERVER_TOKEN_RS256_SECRET_BASE64: The base64-encoded RSA PEM PKCS1 of the\n  RS256 JWT secret. Generate it with `openssl genrsa -traditional 4096 | base64 -w0`.\n", "loc": ["services", "atticd", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.atticd.group": {"declarations": ["nixos/modules/services/networking/atticd.nix"], "default": {"_type": "literalExpression", "text": "\"atticd\""}, "description": "The group under which attic runs.\n", "loc": ["services", "atticd", "group"], "readOnly": false, "type": "string"}, "services.atticd.mode": {"declarations": ["nixos/modules/services/networking/atticd.nix"], "default": {"_type": "literalExpression", "text": "\"monolithic\""}, "description": "Mode in which to run the server.\n\n'monolithic' runs all components, and is suitable for single-node deployments.\n\n'api-server' runs only the API server, and is suitable for clustering.\n\n'garbage-collector' only runs the garbage collector periodically.\n\nA simple NixOS-based Attic deployment will typically have one 'monolithic' and any number of 'api-server' nodes.\n\nThere are several other supported modes that perform one-off operations, but these are the only ones that make sense to run via the NixOS module.\n", "loc": ["services", "atticd", "mode"], "readOnly": false, "type": "one of \"monolithic\", \"api-server\", \"garbage-collector\""}, "services.atticd.package": {"declarations": ["nixos/modules/services/networking/atticd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.attic-server"}, "description": "The attic-server package to use.", "loc": ["services", "atticd", "package"], "readOnly": false, "type": "package"}, "services.atticd.settings": {"declarations": ["nixos/modules/services/networking/atticd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Structured configurations of atticd.\nSee <https://github.com/zhaofengli/attic/blob/main/server/src/config-template.toml>\n", "loc": ["services", "atticd", "settings"], "readOnly": false, "type": "TOML value"}, "services.atticd.user": {"declarations": ["nixos/modules/services/networking/atticd.nix"], "default": {"_type": "literalExpression", "text": "\"atticd\""}, "description": "The user under which attic runs.\n", "loc": ["services", "atticd", "user"], "readOnly": false, "type": "string"}, "services.atuin.database.createLocally": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "atuin", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.atuin.database.uri": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "\"postgresql:///atuin?host=/run/postgresql\""}, "description": "URI to the database.\nCan be set to null in which case ATUIN_DB_URI should be set through an EnvironmentFile\n", "example": {"_type": "literalExpression", "text": "\"postgresql://atuin@localhost:5432/atuin\""}, "loc": ["services", "atuin", "database", "uri"], "readOnly": false, "type": "null or string"}, "services.atuin.enable": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Atuin server for shell history sync.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "atuin", "enable"], "readOnly": false, "type": "boolean"}, "services.atuin.environmentFile": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file, used to set any secret ATUIN_* environment variables, such as ATUIN_DB_URI containing a password.\nSee https://docs.atuin.sh/cli/self-hosting/server-setup/#configuration for available environment variables.\n", "loc": ["services", "atuin", "environmentFile"], "readOnly": false, "type": "null or absolute path not in the Nix store"}, "services.atuin.host": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host address the atuin server should listen on.", "loc": ["services", "atuin", "host"], "readOnly": false, "type": "string"}, "services.atuin.maxHistoryLength": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "8192"}, "description": "The max length of each history item the atuin server should store.", "loc": ["services", "atuin", "maxHistoryLength"], "readOnly": false, "type": "signed integer"}, "services.atuin.openFirewall": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the atuin server.", "loc": ["services", "atuin", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.atuin.openRegistration": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow new user registrations with the atuin server.", "loc": ["services", "atuin", "openRegistration"], "readOnly": false, "type": "boolean"}, "services.atuin.package": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "pkgs.atuin"}, "description": "The atuin package to use.", "loc": ["services", "atuin", "package"], "readOnly": false, "type": "package"}, "services.atuin.path": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A path to prepend to all the routes of the server.", "loc": ["services", "atuin", "path"], "readOnly": false, "type": "string"}, "services.atuin.port": {"declarations": ["nixos/modules/services/misc/atuin.nix"], "default": {"_type": "literalExpression", "text": "8888"}, "description": "The port the atuin server should listen on.", "loc": ["services", "atuin", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.audiobookshelf.dataDir": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "\"audiobookshelf\""}, "description": "Path to Audiobookshelf config and metadata inside of /var/lib.", "loc": ["services", "audiobookshelf", "dataDir"], "readOnly": false, "type": "string"}, "services.audiobookshelf.enable": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Audiobookshelf, self-hosted audiobook and podcast server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "audiobookshelf", "enable"], "readOnly": false, "type": "boolean"}, "services.audiobookshelf.group": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "\"audiobookshelf\""}, "description": "Group under which Audiobookshelf runs.", "loc": ["services", "audiobookshelf", "group"], "readOnly": false, "type": "string"}, "services.audiobookshelf.host": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host Audiobookshelf binds to.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "audiobookshelf", "host"], "readOnly": false, "type": "string"}, "services.audiobookshelf.openFirewall": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the Audiobookshelf web interface.", "loc": ["services", "audiobookshelf", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.audiobookshelf.package": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "pkgs.audiobookshelf"}, "description": "The audiobookshelf package to use.", "loc": ["services", "audiobookshelf", "package"], "readOnly": false, "type": "package"}, "services.audiobookshelf.port": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "8000"}, "description": "The TCP port Audiobookshelf will listen on.", "loc": ["services", "audiobookshelf", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.audiobookshelf.user": {"declarations": ["nixos/modules/services/web-apps/audiobookshelf.nix"], "default": {"_type": "literalExpression", "text": "\"audiobookshelf\""}, "description": "User account under which Audiobookshelf runs.", "loc": ["services", "audiobookshelf", "user"], "readOnly": false, "type": "string"}, "services.authelia.instances": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Multi-domain protection currently requires multiple instances of Authelia.\nIf you don't require multiple instances of Authelia you can define just the one.\n\n<https://www.authelia.com/roadmap/active/multi-domain-protection/>\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    main = {\n      enable = true;\n      secrets.storageEncryptionKeyFile = \"/etc/authelia/storageEncryptionKeyFile\";\n      secrets.jwtSecretFile = \"/etc/authelia/jwtSecretFile\";\n      settings = {\n        theme = \"light\";\n        default_2fa_method = \"totp\";\n        log.level = \"debug\";\n        server.disable_healthcheck = true;\n      };\n    };\n    preprod = {\n      enable = false;\n      secrets.storageEncryptionKeyFile = \"/mnt/pre-prod/authelia/storageEncryptionKeyFile\";\n      secrets.jwtSecretFile = \"/mnt/pre-prod/jwtSecretFile\";\n      settings = {\n        theme = \"dark\";\n        default_2fa_method = \"webauthn\";\n        server.host = \"0.0.0.0\";\n      };\n    };\n    test.enable = true;\n    test.secrets.manual = true;\n    test.settings.theme = \"grey\";\n    test.settings.server.disable_healthcheck = true;\n    test.settingsFiles = [ \"/mnt/test/authelia\" \"/mnt/test-authelia.conf\" ];\n    };\n  }\n''"}, "loc": ["services", "authelia", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.authelia.instances.<name>.enable": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Authelia instance.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "authelia", "instances", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.authelia.instances.<name>.environmentVariables": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to provide to authelia.\nIf you are providing secrets please consider the options under {option}`services.authelia.<instance>.secrets`\nor make sure you use the `_FILE` suffix.\nIf you provide the raw secret rather than the location of a secret file that secret will be preserved in the nix store.\nFor more details: <https://www.authelia.com/configuration/methods/secrets/>\n", "loc": ["services", "authelia", "instances", "<name>", "environmentVariables"], "readOnly": false, "type": "attribute set of string"}, "services.authelia.instances.<name>.group": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "if name == \"\" then \"authelia\" else \"authelia-${name}\"\n"}, "description": "The name of the group for this authelia instance.", "loc": ["services", "authelia", "instances", "<name>", "group"], "readOnly": false, "type": "string"}, "services.authelia.instances.<name>.name": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Name is used as a suffix for the service name, user, and group.\nBy default it takes the value you use for `<instance>` in:\n{option}`services.authelia.instances.<instance>`\n\nWhen set to the empty string `\"\"`, the service name, user, and group\nwill be just `authelia` without a suffix.\n", "loc": ["services", "authelia", "instances", "<name>", "name"], "readOnly": false, "type": "string"}, "services.authelia.instances.<name>.package": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "pkgs.authelia"}, "description": "The authelia package to use.", "loc": ["services", "authelia", "instances", "<name>", "package"], "readOnly": false, "type": "package"}, "services.authelia.instances.<name>.secrets": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "It is recommended you keep your secrets separate from the configuration.\nIt's especially important to keep the raw secrets out of your nix configuration,\nas the values will be preserved in your nix store.\nThis attribute allows you to configure the location of secret files to be loaded at runtime.\n\n<https://www.authelia.com/configuration/methods/secrets/>\n", "loc": ["services", "authelia", "instances", "<name>", "secrets"], "readOnly": false, "type": "submodule"}, "services.authelia.instances.<name>.secrets.jwtSecretFile": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to your JWT secret used during identity verificaton.\n", "loc": ["services", "authelia", "instances", "<name>", "secrets", "jwtSecretFile"], "readOnly": false, "type": "null or absolute path"}, "services.authelia.instances.<name>.secrets.manual": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configuring authelia's secret files via the secrets attribute set\nis intended to be convenient and help catch cases where values are required\nto run at all.\nIf a user wants to set these values themselves and bypass the validation they can set this value to true.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "authelia", "instances", "<name>", "secrets", "manual"], "readOnly": false, "type": "boolean"}, "services.authelia.instances.<name>.secrets.oidcHmacSecretFile": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to your HMAC secret used to sign OIDC JWTs.\n", "loc": ["services", "authelia", "instances", "<name>", "secrets", "oidcHmacSecretFile"], "readOnly": false, "type": "null or absolute path"}, "services.authelia.instances.<name>.secrets.oidcIssuerPrivateKeyFile": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to your private key file used to encrypt OIDC JWTs.\n", "loc": ["services", "authelia", "instances", "<name>", "secrets", "oidcIssuerPrivateKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.authelia.instances.<name>.secrets.sessionSecretFile": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to your session secret. Only used when redis is used as session storage.\n", "loc": ["services", "authelia", "instances", "<name>", "secrets", "sessionSecretFile"], "readOnly": false, "type": "null or absolute path"}, "services.authelia.instances.<name>.secrets.storageEncryptionKeyFile": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to your storage encryption key.\n", "loc": ["services", "authelia", "instances", "<name>", "secrets", "storageEncryptionKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.authelia.instances.<name>.settings": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Your Authelia config.yml as a Nix attribute set.\nThere are several values that are defined and documented in nix such as `default_2fa_method`,\nbut additional items can also be included.\n\n<https://github.com/authelia/authelia/blob/master/config.template.yml>\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    theme = \"light\";\n    default_2fa_method = \"totp\";\n    log.level = \"debug\";\n    server.disable_healthcheck = true;\n  }\n''"}, "loc": ["services", "authelia", "instances", "<name>", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.authelia.instances.<name>.settings.default_2fa_method": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Default 2FA method for new users and fallback for preferred but disabled methods.\n", "example": {"_type": "literalExpression", "text": "\"webauthn\""}, "loc": ["services", "authelia", "instances", "<name>", "settings", "default_2fa_method"], "readOnly": false, "type": "one of \"\", \"totp\", \"webauthn\", \"mobile_push\""}, "services.authelia.instances.<name>.settings.log.file_path": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File path where the logs will be written. If not set logs are written to stdout.", "example": {"_type": "literalExpression", "text": "\"/var/log/authelia/authelia.log\""}, "loc": ["services", "authelia", "instances", "<name>", "settings", "log", "file_path"], "readOnly": false, "type": "null or absolute path"}, "services.authelia.instances.<name>.settings.log.format": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "\"json\""}, "description": "Format the logs are written as.", "example": {"_type": "literalExpression", "text": "\"text\""}, "loc": ["services", "authelia", "instances", "<name>", "settings", "log", "format"], "readOnly": false, "type": "one of \"json\", \"text\""}, "services.authelia.instances.<name>.settings.log.keep_stdout": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to also log to stdout when a `file_path` is defined.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "authelia", "instances", "<name>", "settings", "log", "keep_stdout"], "readOnly": false, "type": "boolean"}, "services.authelia.instances.<name>.settings.log.level": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "\"debug\""}, "description": "Level of verbosity for logs.", "example": {"_type": "literalExpression", "text": "\"info\""}, "loc": ["services", "authelia", "instances", "<name>", "settings", "log", "level"], "readOnly": false, "type": "one of \"trace\", \"debug\", \"info\", \"warn\", \"error\""}, "services.authelia.instances.<name>.settings.server.address": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "\"tcp://:9091/\""}, "description": "The address to listen on.", "example": {"_type": "literalExpression", "text": "\"unix:///var/run/authelia.sock?path=authelia&umask=0117\""}, "loc": ["services", "authelia", "instances", "<name>", "settings", "server", "address"], "readOnly": false, "type": "string"}, "services.authelia.instances.<name>.settings.telemetry.metrics.address": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "\"tcp://127.0.0.1:9959\""}, "description": "The address to listen on for metrics. This should be on a different port to the main `server.port` value.", "example": {"_type": "literalExpression", "text": "\"tcp://0.0.0.0:8888\""}, "loc": ["services", "authelia", "instances", "<name>", "settings", "telemetry", "metrics", "address"], "readOnly": false, "type": "string"}, "services.authelia.instances.<name>.settings.telemetry.metrics.enabled": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Metrics.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "authelia", "instances", "<name>", "settings", "telemetry", "metrics", "enabled"], "readOnly": false, "type": "boolean"}, "services.authelia.instances.<name>.settings.theme": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "\"light\""}, "description": "The theme to display.", "example": {"_type": "literalExpression", "text": "\"dark\""}, "loc": ["services", "authelia", "instances", "<name>", "settings", "theme"], "readOnly": false, "type": "one of \"light\", \"dark\", \"grey\", \"auto\""}, "services.authelia.instances.<name>.settingsFiles": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Here you can provide authelia with configuration files or directories.\nIt is possible to give authelia multiple files and use the nix generated configuration\nfile set via {option}`services.authelia.<instance>.settings`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/authelia/config.yml\"\n  \"/etc/authelia/access-control.yml\"\n  \"/etc/authelia/config/\"\n]"}, "loc": ["services", "authelia", "instances", "<name>", "settingsFiles"], "readOnly": false, "type": "list of absolute path"}, "services.authelia.instances.<name>.user": {"declarations": ["nixos/modules/services/security/authelia.nix"], "default": {"_type": "literalExpression", "text": "if name == \"\" then \"authelia\" else \"authelia-${name}\"\n"}, "description": "The name of the user for this authelia instance.", "loc": ["services", "authelia", "instances", "<name>", "user"], "readOnly": false, "type": "string"}, "services.auto-epp.enable": {"declarations": ["nixos/modules/services/hardware/auto-epp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable auto-epp for amd active pstate.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "auto-epp", "enable"], "readOnly": false, "type": "boolean"}, "services.auto-epp.package": {"declarations": ["nixos/modules/services/hardware/auto-epp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.auto-epp"}, "description": "The auto-epp package to use.", "loc": ["services", "auto-epp", "package"], "readOnly": false, "type": "package"}, "services.auto-epp.settings": {"declarations": ["nixos/modules/services/hardware/auto-epp.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for the auto-epp application.\nSee upstream example: <https://github.com/jothi-prasath/auto-epp/blob/master/sample-auto-epp.conf>\n", "loc": ["services", "auto-epp", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.auto-epp.settings.Settings.epp_state_for_AC": {"declarations": ["nixos/modules/services/hardware/auto-epp.nix"], "default": {"_type": "literalExpression", "text": "\"balance_performance\""}, "description": "energy_performance_preference when on plugged in\n\n::: {.note}\nSee available epp states by running:\n{command}`cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences`\n:::\n", "loc": ["services", "auto-epp", "settings", "Settings", "epp_state_for_AC"], "readOnly": false, "type": "string"}, "services.auto-epp.settings.Settings.epp_state_for_BAT": {"declarations": ["nixos/modules/services/hardware/auto-epp.nix"], "default": {"_type": "literalExpression", "text": "\"power\""}, "description": "`energy_performance_preference` when on battery\n\n::: {.note}\nSee available epp states by running:\n{command}`cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences`\n:::\n", "loc": ["services", "auto-epp", "settings", "Settings", "epp_state_for_BAT"], "readOnly": false, "type": "string"}, "services.autobrr.enable": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Autobrr.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "autobrr", "enable"], "readOnly": false, "type": "boolean"}, "services.autobrr.openFirewall": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the Autobrr web interface.", "loc": ["services", "autobrr", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.autobrr.package": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.autobrr"}, "description": "The autobrr package to use.", "loc": ["services", "autobrr", "package"], "readOnly": false, "type": "package"}, "services.autobrr.secretFile": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "description": "File containing the session secret for the Autobrr web interface.", "loc": ["services", "autobrr", "secretFile"], "readOnly": false, "type": "absolute path"}, "services.autobrr.settings": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Autobrr configuration options.\n\nRefer to <https://autobrr.com/configuration/autobrr>\nfor a full list.\n", "example": {"_type": "literalExpression", "text": "{\n  logLevel = \"DEBUG\";\n  port = 7654;\n}"}, "loc": ["services", "autobrr", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.autobrr.settings.checkForUpdates": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether autobrr needs to check for updates.", "loc": ["services", "autobrr", "settings", "checkForUpdates"], "readOnly": false, "type": "boolean"}, "services.autobrr.settings.host": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host address autobrr listens on.", "loc": ["services", "autobrr", "settings", "host"], "readOnly": false, "type": "string"}, "services.autobrr.settings.port": {"declarations": ["nixos/modules/services/misc/autobrr.nix"], "default": {"_type": "literalExpression", "text": "7474"}, "description": "The port autobrr listens on.", "loc": ["services", "autobrr", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.autofs.autoMaster": {"declarations": ["nixos/modules/services/misc/autofs.nix"], "description": "Contents of `/etc/auto.master` file. See {manpage}`auto.master(5)` and {manpage}`autofs(5)`.\n", "example": {"_type": "literalExpression", "text": "let\n  mapConf = pkgs.writeText \"auto\" ''\n   kernel    -ro,soft,intr       ftp.kernel.org:/pub/linux\n   boot      -fstype=ext2        :/dev/hda1\n   windoze   -fstype=smbfs       ://windoze/c\n   removable -fstype=ext2        :/dev/hdd\n   cd        -fstype=iso9660,ro  :/dev/hdc\n   floppy    -fstype=auto        :/dev/fd0\n   server    -rw,hard,intr       / -ro myserver.me.org:/ \\\n                                 /usr myserver.me.org:/usr \\\n                                 /home myserver.me.org:/home\n  '';\nin ''\n  /auto file:${mapConf}\n''\n"}, "loc": ["services", "autofs", "autoMaster"], "readOnly": false, "type": "string"}, "services.autofs.debug": {"declarations": ["nixos/modules/services/misc/autofs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Pass -d and -7 to automount and write log to the system journal.\n", "loc": ["services", "autofs", "debug"], "readOnly": false, "type": "boolean"}, "services.autofs.enable": {"declarations": ["nixos/modules/services/misc/autofs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Mount filesystems on demand. Unmount them automatically.\nYou may also be interested in afuse.\n", "loc": ["services", "autofs", "enable"], "readOnly": false, "type": "boolean"}, "services.autofs.timeout": {"declarations": ["nixos/modules/services/misc/autofs.nix"], "default": {"_type": "literalExpression", "text": "600"}, "description": "Set the global minimum timeout, in seconds, until directories are unmounted", "loc": ["services", "autofs", "timeout"], "readOnly": false, "type": "signed integer"}, "services.automatic-timezoned.enable": {"declarations": ["nixos/modules/services/system/automatic-timezoned.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable `automatic-timezoned`, simple daemon for keeping the system\ntimezone up-to-date based on the current location. It uses geoclue2 to\ndetermine the current location and systemd-timedated to actually set\nthe timezone.\n\nTo avoid silent overriding by the service, if you have explicitly set a\ntimezone, either remove it or ensure that it is set with a lower priority\nthan the default value using `lib.mkDefault` or `lib.mkOverride`. This is\nto make the choice deliberate. An error will be presented otherwise.\n", "loc": ["services", "automatic-timezoned", "enable"], "readOnly": false, "type": "boolean"}, "services.automatic-timezoned.package": {"declarations": ["nixos/modules/services/system/automatic-timezoned.nix"], "default": {"_type": "literalExpression", "text": "pkgs.automatic-timezoned"}, "description": "The automatic-timezoned package to use.", "loc": ["services", "automatic-timezoned", "package"], "readOnly": false, "type": "package"}, "services.automx2.domain": {"declarations": ["nixos/modules/services/mail/automx2.nix"], "description": "E-Mail-Domain for which mail client autoconfig/autoconfigure should be set up.\nThe `autoconfig` and `autodiscover` subdomains are automatically prepended and set up with ACME.\nThe names of those domains are hardcoded in the mail clients and are not configurable.\n", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "automx2", "domain"], "readOnly": false, "type": "string"}, "services.automx2.enable": {"declarations": ["nixos/modules/services/mail/automx2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automx2.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "automx2", "enable"], "readOnly": false, "type": "boolean"}, "services.automx2.package": {"declarations": ["nixos/modules/services/mail/automx2.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3Packages.automx2"}, "description": "The automx2 package to use.", "loc": ["services", "automx2", "package"], "readOnly": false, "type": "package"}, "services.automx2.port": {"declarations": ["nixos/modules/services/mail/automx2.nix"], "default": {"_type": "literalExpression", "text": "4243"}, "description": "Port used by automx2.", "loc": ["services", "automx2", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.automx2.settings": {"declarations": ["nixos/modules/services/mail/automx2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Bootstrap json to populate database.\nSee [docs](https://rseichter.github.io/automx2/#_sqlite) for details.\n", "loc": ["services", "automx2", "settings"], "readOnly": false, "type": "JSON value"}, "services.automysqlbackup.calendar": {"declarations": ["nixos/modules/services/backup/automysqlbackup.nix"], "default": {"_type": "literalExpression", "text": "\"01:15:00\""}, "description": "Configured when to run the backup service systemd unit (DayOfWeek Year-Month-Day Hour:Minute:Second).\n", "loc": ["services", "automysqlbackup", "calendar"], "readOnly": false, "type": "string"}, "services.automysqlbackup.enable": {"declarations": ["nixos/modules/services/backup/automysqlbackup.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable AutoMySQLBackup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "automysqlbackup", "enable"], "readOnly": false, "type": "boolean"}, "services.automysqlbackup.settings": {"declarations": ["nixos/modules/services/backup/automysqlbackup.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "automysqlbackup configuration. Refer to\n{file}`${pkgs.automysqlbackup}/etc/automysqlbackup.conf`\nfor details on supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  db_names = [ \"nextcloud\" \"matomo\" ];\n  table_exclude = [ \"nextcloud.oc_users\" \"nextcloud.oc_whats_new\" ];\n  mailcontent = \"log\";\n  mail_address = \"admin@example.org\";\n}\n"}, "loc": ["services", "automysqlbackup", "settings"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean or list of string)"}, "services.autorandr.defaultTarget": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "Fallback if no monitor layout can be detected. See the docs\n(https://github.com/phillipberndt/autorandr/blob/v1.0/README.md#how-to-use)\nfor further reference.\n", "loc": ["services", "autorandr", "defaultTarget"], "readOnly": false, "type": "string"}, "services.autorandr.enable": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable handling of hotplug and sleep events by autorandr.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "autorandr", "enable"], "readOnly": false, "type": "boolean"}, "services.autorandr.hooks": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Global hook scripts", "example": {"_type": "literalExpression", "text": "{\n  postswitch = {\n    \"notify-i3\" = \"${pkgs.i3}/bin/i3-msg restart\";\n    \"change-background\" = readFile ./change-background.sh;\n    \"change-dpi\" = ''\n      case \"$AUTORANDR_CURRENT_PROFILE\" in\n        default)\n          DPI=120\n          ;;\n        home)\n          DPI=192\n          ;;\n        work)\n          DPI=144\n          ;;\n        *)\n          echo \"Unknown profle: $AUTORANDR_CURRENT_PROFILE\"\n          exit 1\n      esac\n      echo \"Xft.dpi: $DPI\" | ${pkgs.xrdb}/bin/xrdb -merge\n    '';\n  };\n}\n"}, "loc": ["services", "autorandr", "hooks"], "readOnly": false, "type": "submodule"}, "services.autorandr.hooks.postswitch": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Postswitch hook executed after mode switch.", "loc": ["services", "autorandr", "hooks", "postswitch"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.autorandr.hooks.predetect": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Predetect hook executed before autorandr attempts to run xrandr.\n", "loc": ["services", "autorandr", "hooks", "predetect"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.autorandr.hooks.preswitch": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Preswitch hook executed before mode switch.", "loc": ["services", "autorandr", "hooks", "preswitch"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.autorandr.ignoreLid": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Treat outputs as connected even if their lids are closed", "loc": ["services", "autorandr", "ignoreLid"], "readOnly": false, "type": "boolean"}, "services.autorandr.matchEdid": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Match displays based on edid instead of name", "loc": ["services", "autorandr", "matchEdid"], "readOnly": false, "type": "boolean"}, "services.autorandr.profiles": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Autorandr profiles specification.", "example": {"_type": "literalExpression", "text": "{\n  \"work\" = {\n    fingerprint = {\n      eDP1 = \"<EDID>\";\n      DP1 = \"<EDID>\";\n    };\n    config = {\n      eDP1.enable = false;\n      DP1 = {\n        enable = true;\n        crtc = 0;\n        primary = true;\n        position = \"0x0\";\n        mode = \"3840x2160\";\n        gamma = \"1.0:0.909:0.833\";\n        rate = \"60.00\";\n        rotate = \"left\";\n      };\n    };\n    hooks.postswitch = readFile ./work-postswitch.sh;\n  };\n}\n"}, "loc": ["services", "autorandr", "profiles"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.autorandr.profiles.<name>.config": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Per output profile configuration.", "loc": ["services", "autorandr", "profiles", "<name>", "config"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.autorandr.profiles.<name>.config.<name>.crtc": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Output video display controller.", "example": {"_type": "literalExpression", "text": "0"}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "crtc"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "services.autorandr.profiles.<name>.config.<name>.dpi": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Output DPI configuration.", "example": {"_type": "literalExpression", "text": "96"}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "dpi"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.autorandr.profiles.<name>.config.<name>.enable": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the output.", "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.autorandr.profiles.<name>.config.<name>.gamma": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Output gamma configuration.", "example": {"_type": "literalExpression", "text": "\"1.0:0.909:0.833\""}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "gamma"], "readOnly": false, "type": "string"}, "services.autorandr.profiles.<name>.config.<name>.mode": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Output resolution.", "example": {"_type": "literalExpression", "text": "\"3840x2160\""}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "mode"], "readOnly": false, "type": "string"}, "services.autorandr.profiles.<name>.config.<name>.position": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Output position", "example": {"_type": "literalExpression", "text": "\"5760x0\""}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "position"], "readOnly": false, "type": "string"}, "services.autorandr.profiles.<name>.config.<name>.primary": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether output should be marked as primary", "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "primary"], "readOnly": false, "type": "boolean"}, "services.autorandr.profiles.<name>.config.<name>.rate": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Output framerate.", "example": {"_type": "literalExpression", "text": "\"60.00\""}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "rate"], "readOnly": false, "type": "string"}, "services.autorandr.profiles.<name>.config.<name>.rotate": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Output rotate configuration.", "example": {"_type": "literalExpression", "text": "\"left\""}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "rotate"], "readOnly": false, "type": "null or one of \"normal\", \"left\", \"right\", \"inverted\""}, "services.autorandr.profiles.<name>.config.<name>.scale": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Output scale configuration.\n\nEither configure by pixels or a scaling factor. When using pixel method the\n{manpage}`xrandr(1)`\noption\n`--scale-from`\nwill be used; when using factor method the option\n`--scale`\nwill be used.\n\nThis option is a shortcut version of the transform option and they are mutually\nexclusive.\n", "example": {"_type": "literalExpression", "text": "{\n  x = 1.25;\n  y = 1.25;\n}\n"}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "scale"], "readOnly": false, "type": "null or (submodule)"}, "services.autorandr.profiles.<name>.config.<name>.scale.method": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "\"factor\""}, "description": "Output scaling method.", "example": {"_type": "literalExpression", "text": "\"pixel\""}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "scale", "method"], "readOnly": false, "type": "one of \"factor\", \"pixel\""}, "services.autorandr.profiles.<name>.config.<name>.scale.x": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "description": "Horizontal scaling factor/pixels.", "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "scale", "x"], "readOnly": false, "type": "floating point number or (positive integer, meaning >0)"}, "services.autorandr.profiles.<name>.config.<name>.scale.y": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "description": "Vertical scaling factor/pixels.", "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "scale", "y"], "readOnly": false, "type": "floating point number or (positive integer, meaning >0)"}, "services.autorandr.profiles.<name>.config.<name>.transform": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Refer to\n{manpage}`xrandr(1)`\nfor the documentation of the transform matrix.\n", "example": {"_type": "literalExpression", "text": "[\n  [ 0.6 0.0 0.0 ]\n  [ 0.0 0.6 0.0 ]\n  [ 0.0 0.0 1.0 ]\n]\n"}, "loc": ["services", "autorandr", "profiles", "<name>", "config", "<name>", "transform"], "readOnly": false, "type": "null or (3\u00d73 matrix of floating point numbers)"}, "services.autorandr.profiles.<name>.fingerprint": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Output name to EDID mapping.\nUse `autorandr --fingerprint` to get current setup values.\n", "loc": ["services", "autorandr", "profiles", "<name>", "fingerprint"], "readOnly": false, "type": "attribute set of string"}, "services.autorandr.profiles.<name>.hooks": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Profile hook scripts.", "loc": ["services", "autorandr", "profiles", "<name>", "hooks"], "readOnly": false, "type": "submodule"}, "services.autorandr.profiles.<name>.hooks.postswitch": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Postswitch hook executed after mode switch.", "loc": ["services", "autorandr", "profiles", "<name>", "hooks", "postswitch"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.autorandr.profiles.<name>.hooks.predetect": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Predetect hook executed before autorandr attempts to run xrandr.\n", "loc": ["services", "autorandr", "profiles", "<name>", "hooks", "predetect"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.autorandr.profiles.<name>.hooks.preswitch": {"declarations": ["nixos/modules/services/misc/autorandr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Preswitch hook executed before mode switch.", "loc": ["services", "autorandr", "profiles", "<name>", "hooks", "preswitch"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.autossh-ng.sessions": {"declarations": ["nixos/modules/services/networking/autossh-ng.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of SSH sessions to start as systemd services. Each service is\nnamed 'autossh-ng-{session.name}'.\n", "example": {"_type": "literalExpression", "text": "{\n  socket-peer = {\n    destination = \"billremote@socks.host.net\";\n    extraArguments = \"-L2222:localhost:22 -i \\${config.age.secrets.privatekey.path}\";\n    user = \"bill\";\n  };\n}"}, "loc": ["services", "autossh-ng", "sessions"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.autossh-ng.sessions.<name>.destination": {"declarations": ["nixos/modules/services/networking/autossh-ng.nix"], "description": "Destination to connect to", "example": {"_type": "literalExpression", "text": "\"billremote@socks.host.net\""}, "loc": ["services", "autossh-ng", "sessions", "<name>", "destination"], "readOnly": false, "type": "string"}, "services.autossh-ng.sessions.<name>.extraArguments": {"declarations": ["nixos/modules/services/networking/autossh-ng.nix"], "description": "Arguments to be passed to the ssh process process.\nSome meaningful options include\n-D (open SOCKS proxy on local port),\n-R (forward remote port),\n-L (forward local port),\n-v (Enable debug),\n-i (identity file to use).\nCheck ssh manual for the complete list.\n", "example": {"_type": "literalExpression", "text": "\"-L2222:localhost:22 -i \\${config.age.secrets.privatekey.path}\""}, "loc": ["services", "autossh-ng", "sessions", "<name>", "extraArguments"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.autossh-ng.sessions.<name>.hostKeyChecking": {"declarations": ["nixos/modules/services/networking/autossh-ng.nix"], "description": "Whether to enable host key checking. The advantage of enabling\nhost key checking is that it protects against AitM attacks, on\nthe other hand disabling host key checking makes the autossh\nconnection resilient against host key rotations of the destination\nmachine.\n", "loc": ["services", "autossh-ng", "sessions", "<name>", "hostKeyChecking"], "readOnly": false, "type": "boolean"}, "services.autossh-ng.sessions.<name>.knownHostsFile": {"declarations": ["nixos/modules/services/networking/autossh-ng.nix"], "description": "If you enabled host key checking, use this file to verify\ndestination host keys against.\n", "example": {"_type": "literalExpression", "text": "\"/home/bill/.ssh/known_hosts\""}, "loc": ["services", "autossh-ng", "sessions", "<name>", "knownHostsFile"], "readOnly": false, "type": "absolute path"}, "services.autossh-ng.sessions.<name>.user": {"declarations": ["nixos/modules/services/networking/autossh-ng.nix"], "description": "Name of the user the local session should run as", "example": {"_type": "literalExpression", "text": "\"bill\""}, "loc": ["services", "autossh-ng", "sessions", "<name>", "user"], "readOnly": false, "type": "string"}, "services.autossh.sessions": {"declarations": ["nixos/modules/services/networking/autossh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of AutoSSH sessions to start as systemd services. Each service is\nnamed 'autossh-{session.name}'.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    extraArguments = \"-N -D4343 billremote@socks.host.net\";\n    monitoringPort = 20000;\n    name = \"socks-peer\";\n    user = \"bill\";\n  }\n]"}, "loc": ["services", "autossh", "sessions"], "readOnly": false, "type": "list of (submodule)"}, "services.autossh.sessions.*.extraArguments": {"declarations": ["nixos/modules/services/networking/autossh.nix"], "description": "Arguments to be passed to AutoSSH and retransmitted to SSH\nprocess. Some meaningful options include -N (don't run remote\ncommand), -D (open SOCKS proxy on local port), -R (forward\nremote port), -L (forward local port), -v (Enable debug). Check\nssh manual for the complete list.\n", "example": {"_type": "literalExpression", "text": "\"-N -D4343 bill@socks.example.net\""}, "loc": ["services", "autossh", "sessions", "*", "extraArguments"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.autossh.sessions.*.monitoringPort": {"declarations": ["nixos/modules/services/networking/autossh.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Port to be used by AutoSSH for peer monitoring. Note, that\nAutoSSH also uses mport+1. Value of 0 disables the keep-alive\nstyle monitoring\n", "example": {"_type": "literalExpression", "text": "20000"}, "loc": ["services", "autossh", "sessions", "*", "monitoringPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.autossh.sessions.*.name": {"declarations": ["nixos/modules/services/networking/autossh.nix"], "description": "Name of the local AutoSSH session", "example": {"_type": "literalExpression", "text": "\"socks-peer\""}, "loc": ["services", "autossh", "sessions", "*", "name"], "readOnly": false, "type": "string"}, "services.autossh.sessions.*.user": {"declarations": ["nixos/modules/services/networking/autossh.nix"], "description": "Name of the user the AutoSSH session should run as", "example": {"_type": "literalExpression", "text": "\"bill\""}, "loc": ["services", "autossh", "sessions", "*", "user"], "readOnly": false, "type": "string"}, "services.autosuspend.checks": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Checks for activity.  For more information, see:\n - <https://autosuspend.readthedocs.io/en/latest/configuration_file.html#activity-check-configuration>\n - <https://autosuspend.readthedocs.io/en/latest/available_checks.html>\n", "example": {"_type": "literalExpression", "text": "{\n  # Basic activity check configuration.\n  # The check class name is derived from the section header (Ping in this case).\n  # Remember to enable desired checks. They are disabled by default.\n  Ping = {\n    hosts = \"192.168.0.7\";\n  };\n\n  # This check is disabled.\n  Smb.enabled = false;\n\n  # Example for a custom check name.\n  # This will use the Users check with the custom name RemoteUsers.\n  # Custom names are necessary in case a check class is used multiple times.\n  # Custom names can also be used for clarification.\n  RemoteUsers = {\n    class = \"Users\";\n    name = \".*\";\n    terminal = \".*\";\n    host = \"[0-9].*\";\n  };\n\n  # Here the Users activity check is used again with different settings and a different name\n  LocalUsers = {\n    class = \"Users\";\n    name = \".*\";\n    terminal = \".*\";\n    host = \"localhost\";\n  };\n}\n"}, "loc": ["services", "autosuspend", "checks"], "readOnly": false, "type": "attribute set of (open submodule of section of an INI file (attrs of INI atom (null, bool, int, float or string)))"}, "services.autosuspend.checks.<name>.class": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the class implementing the check.  If this option is not specified, the check's\nname must represent a valid internal check class.\n", "loc": ["services", "autosuspend", "checks", "<name>", "class"], "readOnly": false, "type": "null or one of \"ActiveCalendarEvent\", \"ActiveConnection\", \"ExternalCommand\", \"JsonPath\", \"Kodi\", \"KodiIdleTime\", \"LastLogActivity\", \"Load\", \"LogindSessionsIdle\", \"Mpd\", \"NetworkBandwidth\", \"Ping\", \"Processes\", \"Smb\", \"Users\", \"XIdleTime\", \"XPath\""}, "services.autosuspend.checks.<name>.enabled": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this activity check.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "autosuspend", "checks", "<name>", "enabled"], "readOnly": false, "type": "boolean"}, "services.autosuspend.enable": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the autosuspend daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "autosuspend", "enable"], "readOnly": false, "type": "boolean"}, "services.autosuspend.package": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "pkgs.autosuspend"}, "description": "The autosuspend package to use.", "loc": ["services", "autosuspend", "package"], "readOnly": false, "type": "package"}, "services.autosuspend.settings": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for autosuspend, see\n<https://autosuspend.readthedocs.io/en/latest/configuration_file.html#general-configuration>\nfor supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  enable = true;\n  interval = 30;\n  idle_time = 120;\n}\n"}, "loc": ["services", "autosuspend", "settings"], "readOnly": false, "type": "open submodule of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.autosuspend.settings.suspend_cmd": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "\"systemctl suspend\""}, "description": "The command to execute in case the host shall be suspended. This line can contain\nadditional command line arguments to the command to execute.\n", "loc": ["services", "autosuspend", "settings", "suspend_cmd"], "readOnly": false, "type": "string"}, "services.autosuspend.settings.wakeup_cmd": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "\"sh -c 'echo 0 > /sys/class/rtc/rtc0/wakealarm && echo {timestamp:.0f} > /sys/class/rtc/rtc0/wakealarm' \""}, "description": "The command to execute for scheduling a wake up of the system. The given string is\nprocessed using Python\u2019s `str.format()` and a format argument called `timestamp`\nencodes the UTC timestamp of the planned wake up time (float). Additionally `iso`\ncan be used to acquire the timestamp in ISO 8601 format.\n", "loc": ["services", "autosuspend", "settings", "wakeup_cmd"], "readOnly": false, "type": "string"}, "services.autosuspend.wakeups": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Checks for wake up.  For more information, see:\n - <https://autosuspend.readthedocs.io/en/latest/configuration_file.html#wake-up-check-configuration>\n - <https://autosuspend.readthedocs.io/en/latest/available_wakeups.html>\n", "example": {"_type": "literalExpression", "text": "{\n  # Wake up checks reuse the same configuration mechanism as activity checks.\n  Calendar = {\n    url = \"http://example.org/test.ics\";\n  };\n}\n"}, "loc": ["services", "autosuspend", "wakeups"], "readOnly": false, "type": "attribute set of (open submodule of section of an INI file (attrs of INI atom (null, bool, int, float or string)))"}, "services.autosuspend.wakeups.<name>.class": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the class implementing the check.  If this option is not specified, the check's\nname must represent a valid internal check class.\n", "loc": ["services", "autosuspend", "wakeups", "<name>", "class"], "readOnly": false, "type": "null or one of \"Calendar\", \"Command\", \"File\", \"Periodic\", \"SystemdTimer\", \"XPath\", \"XPathDelta\""}, "services.autosuspend.wakeups.<name>.enabled": {"declarations": ["nixos/modules/services/misc/autosuspend.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this wake-up check.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "autosuspend", "wakeups", "<name>", "enabled"], "readOnly": false, "type": "boolean"}, "services.autotierfs.enable": {"declarations": ["nixos/modules/services/autotierfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the autotier passthrough tiering filesystem.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "autotierfs", "enable"], "readOnly": false, "type": "boolean"}, "services.autotierfs.package": {"declarations": ["nixos/modules/services/autotierfs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.autotier"}, "description": "The autotier package to use.", "loc": ["services", "autotierfs", "package"], "readOnly": false, "type": "package"}, "services.autotierfs.settings": {"declarations": ["nixos/modules/services/autotierfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The contents of the configuration file for autotier.\nSee the [autotier repo](https://github.com/45Drives/autotier#configuration) for supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  \"/mnt/autotier\" = {\n    Global = {\n      \"Log Level\" = 1;\n      \"Tier Period\" = 1000;\n      \"Copy Buffer Size\" = \"1 MiB\";\n    };\n    \"Tier 1\" = {\n      Path = \"/mnt/tier1\";\n      Quota = \"30GiB\";\n    };\n    \"Tier 2\" = {\n      Path = \"/mnt/tier2\";\n      Quota = \"200GiB\";\n    };\n  };\n}\n"}, "loc": ["services", "autotierfs", "settings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.avahi.allowInterfaces": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of network interfaces that should be used by the {command}`avahi-daemon`.\nOther interfaces will be ignored. If `null`, all local interfaces\nexcept loopback and point-to-point will be used.\n", "loc": ["services", "avahi", "allowInterfaces"], "readOnly": false, "type": "null or (list of string)"}, "services.avahi.allowPointToPoint": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use POINTTOPOINT interfaces. Might make mDNS unreliable due to usually large\nlatencies with such links and opens a potential security hole by allowing mDNS access from Internet\nconnections.\n", "loc": ["services", "avahi", "allowPointToPoint"], "readOnly": false, "type": "boolean"}, "services.avahi.browseDomains": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of non-local DNS domains to be browsed.\n", "example": {"_type": "literalExpression", "text": "[\n  \"0pointer.de\"\n  \"zeroconf.org\"\n]"}, "loc": ["services", "avahi", "browseDomains"], "readOnly": false, "type": "list of string"}, "services.avahi.cacheEntriesMax": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of resource records to be cached per interface. Use 0 to\ndisable caching. Avahi daemon defaults to 4096 if not set.\n", "loc": ["services", "avahi", "cacheEntriesMax"], "readOnly": false, "type": "null or signed integer"}, "services.avahi.debug": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logging.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "avahi", "debug"], "readOnly": false, "type": "boolean"}, "services.avahi.denyInterfaces": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of network interfaces that should be ignored by the\n{command}`avahi-daemon`. Other unspecified interfaces will be used,\nunless {option}`allowInterfaces` is set. This option takes precedence\nover {option}`allowInterfaces`.\n", "loc": ["services", "avahi", "denyInterfaces"], "readOnly": false, "type": "null or (list of string)"}, "services.avahi.domainName": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"local\""}, "description": "Domain name for all advertisements.\n", "loc": ["services", "avahi", "domainName"], "readOnly": false, "type": "string"}, "services.avahi.enable": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run the Avahi daemon, which allows Avahi clients\nto use Avahi's service discovery facilities and also allows\nthe local machine to advertise its presence and services\n(through the mDNS responder implemented by `avahi-daemon`).\n", "loc": ["services", "avahi", "enable"], "readOnly": false, "type": "boolean"}, "services.avahi.extraConfig": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra config to append to avahi-daemon.conf.\n", "loc": ["services", "avahi", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.avahi.extraServiceFiles": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify custom service definitions which are placed in the avahi service directory.\nSee the {manpage}`avahi.service(5)` manpage for detailed information.\n", "example": {"_type": "literalExpression", "text": "{\n  ssh = \"${pkgs.avahi}/etc/avahi/services/ssh.service\";\n  smb = ''\n    <?xml version=\"1.0\" standalone='no'?><!--*-nxml-*-->\n    <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n    <service-group>\n      <name replace-wildcards=\"yes\">%h</name>\n      <service>\n        <type>_smb._tcp</type>\n        <port>445</port>\n      </service>\n    </service-group>\n  '';\n}\n"}, "loc": ["services", "avahi", "extraServiceFiles"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.avahi.hostName": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "config.networking.hostName"}, "description": "Host name advertised on the LAN. If not set, avahi will use the value\nof {option}`config.networking.hostName`.\n", "loc": ["services", "avahi", "hostName"], "readOnly": false, "type": "string"}, "services.avahi.ipv4": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use IPv4.", "loc": ["services", "avahi", "ipv4"], "readOnly": false, "type": "boolean"}, "services.avahi.ipv6": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "config.networking.enableIPv6"}, "description": "Whether to use IPv6.", "loc": ["services", "avahi", "ipv6"], "readOnly": false, "type": "boolean"}, "services.avahi.nssmdns4": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the mDNS NSS (Name Service Switch) plug-in for IPv4.\nEnabling it allows applications to resolve names in the `.local`\ndomain by transparently querying the Avahi daemon.\n", "loc": ["services", "avahi", "nssmdns4"], "readOnly": false, "type": "boolean"}, "services.avahi.nssmdns6": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the mDNS NSS (Name Service Switch) plug-in for IPv6.\nEnabling it allows applications to resolve names in the `.local`\ndomain by transparently querying the Avahi daemon.\n\n::: {.note}\nDue to the fact that most mDNS responders only register local IPv4 addresses,\nmost user want to leave this option disabled to avoid long timeouts when applications first resolve the none existing IPv6 address.\n:::\n", "loc": ["services", "avahi", "nssmdns6"], "readOnly": false, "type": "boolean"}, "services.avahi.openFirewall": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to open the firewall for UDP port 5353.\nDisabling this setting also disables discovering of network devices.\n", "loc": ["services", "avahi", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.avahi.package": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.avahi"}, "description": "The avahi package to use.", "loc": ["services", "avahi", "package"], "readOnly": false, "type": "package"}, "services.avahi.publish.addresses": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to register mDNS address records for all local IP addresses.", "loc": ["services", "avahi", "publish", "addresses"], "readOnly": false, "type": "boolean"}, "services.avahi.publish.domain": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to announce the locally used domain name for browsing by other hosts.", "loc": ["services", "avahi", "publish", "domain"], "readOnly": false, "type": "boolean"}, "services.avahi.publish.enable": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow publishing in general.", "loc": ["services", "avahi", "publish", "enable"], "readOnly": false, "type": "boolean"}, "services.avahi.publish.hinfo": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to register a mDNS HINFO record which contains information about the\nlocal operating system and CPU.\n", "loc": ["services", "avahi", "publish", "hinfo"], "readOnly": false, "type": "boolean"}, "services.avahi.publish.userServices": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to publish user services. Will set `addresses=true`.", "loc": ["services", "avahi", "publish", "userServices"], "readOnly": false, "type": "boolean"}, "services.avahi.publish.workstation": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to register a service of type \"_workstation._tcp\" on the local LAN.\n", "loc": ["services", "avahi", "publish", "workstation"], "readOnly": false, "type": "boolean"}, "services.avahi.reflector": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Reflect incoming mDNS requests to all allowed network interfaces.", "loc": ["services", "avahi", "reflector"], "readOnly": false, "type": "boolean"}, "services.avahi.wideArea": {"declarations": ["nixos/modules/services/networking/avahi-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable wide-area service discovery.\n\nIt is recommended to keep this options disabled as it exposes the system to `CVE-2024-52615`/`GHSA-x6vp-f33h-h32g`.\n", "loc": ["services", "avahi", "wideArea"], "readOnly": false, "type": "boolean"}, "services.awstats.configs": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of domains to collect stats for.", "example": {"_type": "literalExpression", "text": "{\n  \"mysite\" = {\n    domain = \"example.com\";\n    logFile = \"/var/log/nginx/access.log\";\n  };\n}\n"}, "loc": ["services", "awstats", "configs"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.awstats.configs.<name>.domain": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The domain name to collect stats for.", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "awstats", "configs", "<name>", "domain"], "readOnly": false, "type": "string"}, "services.awstats.configs.<name>.extraConfig": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to be appended to awstats.${name}.conf.", "example": {"_type": "literalExpression", "text": "{\n  \"ValidHTTPCodes\" = \"404\";\n}\n"}, "loc": ["services", "awstats", "configs", "<name>", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "services.awstats.configs.<name>.hostAliases": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of aliases the site has.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n]"}, "loc": ["services", "awstats", "configs", "<name>", "hostAliases"], "readOnly": false, "type": "list of string"}, "services.awstats.configs.<name>.logFile": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "description": "The log file to be scanned.\n\nFor mail, set this to\n```\njournalctl $OLD_CURSOR -u postfix.service | ${pkgs.perl}/bin/perl ${pkgs.awstats.out}/share/awstats/tools/maillogconvert.pl standard |\n```\n", "example": {"_type": "literalExpression", "text": "\"/var/log/nginx/access.log\""}, "loc": ["services", "awstats", "configs", "<name>", "logFile"], "readOnly": false, "type": "string"}, "services.awstats.configs.<name>.logFormat": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "\"1\""}, "description": "The log format being used.\n\nFor mail, set this to\n```\n%time2 %email %email_r %host %host_r %method %url %code %bytesd\n```\n", "loc": ["services", "awstats", "configs", "<name>", "logFormat"], "readOnly": false, "type": "string"}, "services.awstats.configs.<name>.type": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "\"web\""}, "description": "The type of log being collected.\n", "example": {"_type": "literalExpression", "text": "\"mail\""}, "loc": ["services", "awstats", "configs", "<name>", "type"], "readOnly": false, "type": "one of \"mail\", \"web\""}, "services.awstats.configs.<name>.webService.enable": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable awstats web service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "awstats", "configs", "<name>", "webService", "enable"], "readOnly": false, "type": "boolean"}, "services.awstats.configs.<name>.webService.hostname": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The hostname the web service appears under.", "loc": ["services", "awstats", "configs", "<name>", "webService", "hostname"], "readOnly": false, "type": "string"}, "services.awstats.configs.<name>.webService.urlPrefix": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "\"/awstats\""}, "description": "The URL prefix under which the awstats pages appear.", "loc": ["services", "awstats", "configs", "<name>", "webService", "urlPrefix"], "readOnly": false, "type": "string"}, "services.awstats.dataDir": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/awstats\""}, "description": "The directory where awstats data will be stored.", "loc": ["services", "awstats", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.awstats.enable": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable awstats, a real-time logfile analyzer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "awstats", "enable"], "readOnly": false, "type": "boolean"}, "services.awstats.updateAt": {"declarations": ["nixos/modules/services/logging/awstats.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specification of the time at which awstats will get updated.\n(in the format described by {manpage}`systemd.time(7)`)\n", "example": {"_type": "literalExpression", "text": "\"hourly\""}, "loc": ["services", "awstats", "updateAt"], "readOnly": false, "type": "null or string"}, "services.ax25.axlisten.config": {"declarations": ["nixos/modules/services/networking/ax25/axlisten.nix"], "default": {"_type": "literalExpression", "text": "\"-art\""}, "description": "Options that will be passed to the axlisten daemon.\n", "loc": ["services", "ax25", "axlisten", "config"], "readOnly": false, "type": "string"}, "services.ax25.axlisten.enable": {"declarations": ["nixos/modules/services/networking/ax25/axlisten.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable AX.25 axlisten daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ax25", "axlisten", "enable"], "readOnly": false, "type": "boolean"}, "services.ax25.axlisten.package": {"declarations": ["nixos/modules/services/networking/ax25/axlisten.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ax25-apps"}, "description": "The ax25-apps package to use.", "loc": ["services", "ax25", "axlisten", "package"], "readOnly": false, "type": "package"}, "services.ax25.axports": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more AX.25 ports.", "loc": ["services", "ax25", "axports"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.ax25.axports.<name>.baud": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "description": "The serial port speed of this interface.\n", "example": {"_type": "literalExpression", "text": "57600"}, "loc": ["services", "ax25", "axports", "<name>", "baud"], "readOnly": false, "type": "signed integer"}, "services.ax25.axports.<name>.callsign": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "description": "The callsign of the physical interface to bind to.\n", "example": {"_type": "literalExpression", "text": "\"WB6WLV-7\""}, "loc": ["services", "ax25", "axports", "<name>", "callsign"], "readOnly": false, "type": "string"}, "services.ax25.axports.<name>.description": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "default": {"_type": "literalExpression", "text": "\"NixOS managed tnc\""}, "description": "Free format description of this interface.\n", "loc": ["services", "ax25", "axports", "<name>", "description"], "readOnly": false, "type": "string"}, "services.ax25.axports.<name>.enable": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Enables the axport interface.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ax25", "axports", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.ax25.axports.<name>.kissParams": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Kissattach parameters for this interface.\n", "example": {"_type": "literalExpression", "text": "\"-t 300 -l 10 -s 12 -r 80 -f n\""}, "loc": ["services", "ax25", "axports", "<name>", "kissParams"], "readOnly": false, "type": "null or string"}, "services.ax25.axports.<name>.package": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ax25-tools"}, "description": "The ax25-tools package to use.", "loc": ["services", "ax25", "axports", "<name>", "package"], "readOnly": false, "type": "package"}, "services.ax25.axports.<name>.paclen": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "default": {"_type": "literalExpression", "text": "255"}, "description": "Default maximum packet size for this interface.\n", "loc": ["services", "ax25", "axports", "<name>", "paclen"], "readOnly": false, "type": "signed integer"}, "services.ax25.axports.<name>.tty": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "description": "Location of hardware kiss tnc for this interface.\n", "example": {"_type": "literalExpression", "text": "\"/dev/ttyACM0\""}, "loc": ["services", "ax25", "axports", "<name>", "tty"], "readOnly": false, "type": "string"}, "services.ax25.axports.<name>.window": {"declarations": ["nixos/modules/services/networking/ax25/axports.nix"], "default": {"_type": "literalExpression", "text": "7"}, "description": "Default window size for this interface.\n", "loc": ["services", "ax25", "axports", "<name>", "window"], "readOnly": false, "type": "signed integer"}, "services.ayatana-indicators.enable": {"declarations": ["nixos/modules/services/desktops/ayatana-indicators.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ayatana Indicators, a continuation of Canonical's Application Indicators\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ayatana-indicators", "enable"], "readOnly": false, "type": "boolean"}, "services.ayatana-indicators.packages": {"declarations": ["nixos/modules/services/desktops/ayatana-indicators.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages containing Ayatana Indicator services\nthat should be brought up by a SystemD \"ayatana-indicators\" user target.\n\nPackages specified here must have passthru.ayatana-indicators set correctly.\n\nIf, how, and where these indicators are displayed will depend on your DE.\nWhich target they will be brought up by depends on the packages' passthru.ayatana-indicators.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ ayatana-indicator-messages ]"}, "loc": ["services", "ayatana-indicators", "packages"], "readOnly": false, "type": "list of package"}, "services.babeld.enable": {"declarations": ["nixos/modules/services/networking/babeld.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the babeld network routing daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "babeld", "enable"], "readOnly": false, "type": "boolean"}, "services.babeld.extraConfig": {"declarations": ["nixos/modules/services/networking/babeld.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Options that will be copied to babeld.conf.\nSee {manpage}`babeld(8)` for details.\n", "loc": ["services", "babeld", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.babeld.interfaceDefaults": {"declarations": ["nixos/modules/services/networking/babeld.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A set describing default parameters for babeld interfaces.\nSee {manpage}`babeld(8)` for options.\n", "example": {"_type": "literalExpression", "text": "{\n  split-horizon = true;\n  type = \"tunnel\";\n}"}, "loc": ["services", "babeld", "interfaceDefaults"], "readOnly": false, "type": "null or (attribute set of unspecified value)"}, "services.babeld.interfaces": {"declarations": ["nixos/modules/services/networking/babeld.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set describing babeld interfaces.\nSee {manpage}`babeld(8)` for options.\n", "example": {"_type": "literalExpression", "text": "{\n  enp0s2 = {\n    hello-interval = 5;\n    split-horizon = \"auto\";\n    type = \"wired\";\n  };\n}"}, "loc": ["services", "babeld", "interfaces"], "readOnly": false, "type": "attribute set of attribute set of unspecified value"}, "services.bacula-dir.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bacula Director Daemon.\n", "loc": ["services", "bacula-dir", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-dir.extraConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration for Bacula Director Daemon.\n", "example": {"_type": "literalExpression", "text": "''\n  TODO\n''"}, "loc": ["services", "bacula-dir", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-dir.extraDirectorConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Director directive.\n", "example": {"_type": "literalExpression", "text": "''\n  Maximum Concurrent Jobs = 20;\n  Heartbeat Interval = 30;\n''"}, "loc": ["services", "bacula-dir", "extraDirectorConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-dir.extraMessagesConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Messages directive.\n", "example": {"_type": "literalExpression", "text": "''\n  console = all\n''"}, "loc": ["services", "bacula-dir", "extraMessagesConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-dir.name": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"${config.networking.hostName}-dir\""}, "description": "The director name used by the system administrator. This directive is\nrequired.\n", "loc": ["services", "bacula-dir", "name"], "readOnly": false, "type": "string"}, "services.bacula-dir.password": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "Specifies the password that must be supplied for a Director.\n", "loc": ["services", "bacula-dir", "password"], "readOnly": false, "type": "string"}, "services.bacula-dir.port": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "9101"}, "description": "Specify the port (a positive integer) on which the Director daemon\nwill listen for Bacula Console connections. This same port number\nmust be specified in the Director resource of the Console\nconfiguration file. The default is 9101, so normally this directive\nneed not be specified. This directive should not be used if you\nspecify DirAddresses (N.B plural) directive.\n", "loc": ["services", "bacula-dir", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bacula-dir.tls": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "TLS Options for the Director.\nImportant notice: The backup won't be encrypted.\n", "loc": ["services", "bacula-dir", "tls"], "readOnly": false, "type": "submodule"}, "services.bacula-dir.tls.allowedCN": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Common name attribute of allowed peer certificates.\nThis directive is valid for a server and in a client context.\nIf this directive is specified, the peer certificate will be verified against this list.\nIn the case this directive is configured on a server side, the allowed\nCN list will not be checked if [services.bacula-dir.tls.verifyPeer](#opt-services.bacula-dir.tls.verifyPeer) is false.\n", "loc": ["services", "bacula-dir", "tls", "allowedCN"], "readOnly": false, "type": "list of string"}, "services.bacula-dir.tls.caCertificateFile": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path specifying a PEM encoded TLS CA certificate(s).\nMultiple certificates are permitted in the file.\nOne of TLS CA Certificate File or TLS CA Certificate Dir are required in a server context, unless\n[services.bacula-dir.tls.verifyPeer](#opt-services.bacula-dir.tls.verifyPeer) is false, and are always required in a client context.\n", "loc": ["services", "bacula-dir", "tls", "caCertificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-dir.tls.certificate": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The full path to the PEM encoded TLS certificate.\nIt will be used as either a client or server certificate,\ndepending on the connection direction.\nThis directive is required in a server context, but it may\nnot be specified in a client context if [services.bacula-dir.tls.verifyPeer](#opt-services.bacula-dir.tls.verifyPeer) is\n`false` in the corresponding server context.\n", "loc": ["services", "bacula-dir", "tls", "certificate"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-dir.tls.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specifies if TLS should be enabled.\nIf this set to `false` TLS will be completely disabled, even if [services.bacula-dir.tls.require](#opt-services.bacula-dir.tls.require) is true.\n", "loc": ["services", "bacula-dir", "tls", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-dir.tls.key": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The path of a PEM encoded TLS private key.\nIt must correspond to the TLS certificate.\n", "loc": ["services", "bacula-dir", "tls", "key"], "readOnly": false, "type": "absolute path"}, "services.bacula-dir.tls.require": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Require TLS or TLS-PSK encryption.\nThis directive is ignored unless one of [services.bacula-dir.tls.enable](#opt-services.bacula-dir.tls.enable) is true or TLS PSK Enable is set to `yes`.\nIf TLS is not required while TLS or TLS-PSK are enabled, then the Bacula component\nwill connect with other components either with or without TLS or TLS-PSK\n\nIf [services.bacula-dir.tls.enable](#opt-services.bacula-dir.tls.enable) or TLS-PSK is enabled and TLS is required, then the Bacula\ncomponent will refuse any connection request that does not use TLS.\n", "loc": ["services", "bacula-dir", "tls", "require"], "readOnly": false, "type": "null or boolean"}, "services.bacula-dir.tls.verifyPeer": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Verify peer certificate.\nInstructs server to request and verify the client's X.509 certificate.\nAny client certificate signed by a known-CA will be accepted.\nAdditionally, the client's X509 certificate Common Name must meet the value of the Address directive.\nIf [services.bacula-dir.tls.allowedCN](#opt-services.bacula-dir.tls.allowedCN) is used,\nthe client's x509 certificate Common Name must also correspond to\none of the CN specified in the [services.bacula-dir.tls.allowedCN](#opt-services.bacula-dir.tls.allowedCN) directive.\nThis directive is valid only for a server and not in client context.\n\nStandard from Bacula is `true`.\n", "loc": ["services", "bacula-dir", "tls", "verifyPeer"], "readOnly": false, "type": "null or boolean"}, "services.bacula-fd.director": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option defines director resources in Bacula File Daemon.\n", "loc": ["services", "bacula-fd", "director"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bacula-fd.director.<name>.monitor": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"no\""}, "description": "If Monitor is set to `no`, this director will have\nfull access to this Storage daemon. If Monitor is set to\n`yes`, this director will only be able to fetch the\ncurrent status of this Storage daemon.\n\nPlease note that if this director is being used by a Monitor, we\nhighly recommend to set this directive to yes to avoid serious\nsecurity problems.\n", "example": {"_type": "literalExpression", "text": "\"yes\""}, "loc": ["services", "bacula-fd", "director", "<name>", "monitor"], "readOnly": false, "type": "one of \"no\", \"yes\""}, "services.bacula-fd.director.<name>.password": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "Specifies the password that must be supplied for the default Bacula\nConsole to be authorized. The same password must appear in the\nDirector resource of the Console configuration file. For added\nsecurity, the password is never passed across the network but instead\na challenge response hash code created with the password. This\ndirective is required. If you have either /dev/random or bc on your\nmachine, Bacula will generate a random password during the\nconfiguration process, otherwise it will be left blank and you must\nmanually supply it.\n\nThe password is plain text. It is not generated through any special\nprocess but as noted above, it is better to use random text for\nsecurity reasons.\n", "loc": ["services", "bacula-fd", "director", "<name>", "password"], "readOnly": false, "type": "string"}, "services.bacula-fd.director.<name>.tls": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "TLS Options for the Director in this Configuration.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls"], "readOnly": false, "type": "submodule"}, "services.bacula-fd.director.<name>.tls.allowedCN": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Common name attribute of allowed peer certificates.\nThis directive is valid for a server and in a client context.\nIf this directive is specified, the peer certificate will be verified against this list.\nIn the case this directive is configured on a server side, the allowed\nCN list will not be checked if [services.bacula-fd.director.<name>.tls.verifyPeer](#opt-services.bacula-fd.director._name_.tls.verifyPeer) is false.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls", "allowedCN"], "readOnly": false, "type": "list of string"}, "services.bacula-fd.director.<name>.tls.caCertificateFile": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path specifying a PEM encoded TLS CA certificate(s).\nMultiple certificates are permitted in the file.\nOne of TLS CA Certificate File or TLS CA Certificate Dir are required in a server context, unless\n[services.bacula-fd.director.<name>.tls.verifyPeer](#opt-services.bacula-fd.director._name_.tls.verifyPeer) is false, and are always required in a client context.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls", "caCertificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-fd.director.<name>.tls.certificate": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The full path to the PEM encoded TLS certificate.\nIt will be used as either a client or server certificate,\ndepending on the connection direction.\nThis directive is required in a server context, but it may\nnot be specified in a client context if [services.bacula-fd.director.<name>.tls.verifyPeer](#opt-services.bacula-fd.director._name_.tls.verifyPeer) is\n`false` in the corresponding server context.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls", "certificate"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-fd.director.<name>.tls.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specifies if TLS should be enabled.\nIf this set to `false` TLS will be completely disabled, even if [services.bacula-fd.director.<name>.tls.require](#opt-services.bacula-fd.director._name_.tls.require) is true.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-fd.director.<name>.tls.key": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The path of a PEM encoded TLS private key.\nIt must correspond to the TLS certificate.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls", "key"], "readOnly": false, "type": "absolute path"}, "services.bacula-fd.director.<name>.tls.require": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Require TLS or TLS-PSK encryption.\nThis directive is ignored unless one of [services.bacula-fd.director.<name>.tls.enable](#opt-services.bacula-fd.director._name_.tls.enable) is true or TLS PSK Enable is set to `yes`.\nIf TLS is not required while TLS or TLS-PSK are enabled, then the Bacula component\nwill connect with other components either with or without TLS or TLS-PSK\n\nIf [services.bacula-fd.director.<name>.tls.enable](#opt-services.bacula-fd.director._name_.tls.enable) or TLS-PSK is enabled and TLS is required, then the Bacula\ncomponent will refuse any connection request that does not use TLS.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls", "require"], "readOnly": false, "type": "null or boolean"}, "services.bacula-fd.director.<name>.tls.verifyPeer": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Verify peer certificate.\nInstructs server to request and verify the client's X.509 certificate.\nAny client certificate signed by a known-CA will be accepted.\nAdditionally, the client's X509 certificate Common Name must meet the value of the Address directive.\nIf [services.bacula-fd.director.<name>.tls.allowedCN](#opt-services.bacula-fd.director._name_.tls.allowedCN) is used,\nthe client's x509 certificate Common Name must also correspond to\none of the CN specified in the [services.bacula-fd.director.<name>.tls.allowedCN](#opt-services.bacula-fd.director._name_.tls.allowedCN) directive.\nThis directive is valid only for a server and not in client context.\n\nStandard from Bacula is `true`.\n", "loc": ["services", "bacula-fd", "director", "<name>", "tls", "verifyPeer"], "readOnly": false, "type": "null or boolean"}, "services.bacula-fd.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Bacula File Daemon.\n", "loc": ["services", "bacula-fd", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-fd.extraClientConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Client directive.\n", "example": {"_type": "literalExpression", "text": "''\n  Maximum Concurrent Jobs = 20;\n  Heartbeat Interval = 30;\n''"}, "loc": ["services", "bacula-fd", "extraClientConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-fd.extraMessagesConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Messages directive.\n", "example": {"_type": "literalExpression", "text": "''\n  console = all\n''"}, "loc": ["services", "bacula-fd", "extraMessagesConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-fd.name": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"${config.networking.hostName}-fd\""}, "description": "The client name that must be used by the Director when connecting.\nGenerally, it is a good idea to use a name related to the machine so\nthat error messages can be easily identified if you have multiple\nClients. This directive is required.\n", "loc": ["services", "bacula-fd", "name"], "readOnly": false, "type": "string"}, "services.bacula-fd.port": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "9102"}, "description": "This specifies the port number on which the Client listens for\nDirector connections. It must agree with the FDPort specified in\nthe Client resource of the Director's configuration file.\n", "loc": ["services", "bacula-fd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bacula-fd.tls": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "TLS Options for the File Daemon.\nImportant notice: The backup won't be encrypted.\n", "loc": ["services", "bacula-fd", "tls"], "readOnly": false, "type": "submodule"}, "services.bacula-fd.tls.allowedCN": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Common name attribute of allowed peer certificates.\nThis directive is valid for a server and in a client context.\nIf this directive is specified, the peer certificate will be verified against this list.\nIn the case this directive is configured on a server side, the allowed\nCN list will not be checked if [services.bacula-fd.tls.verifyPeer](#opt-services.bacula-fd.tls.verifyPeer) is false.\n", "loc": ["services", "bacula-fd", "tls", "allowedCN"], "readOnly": false, "type": "list of string"}, "services.bacula-fd.tls.caCertificateFile": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path specifying a PEM encoded TLS CA certificate(s).\nMultiple certificates are permitted in the file.\nOne of TLS CA Certificate File or TLS CA Certificate Dir are required in a server context, unless\n[services.bacula-fd.tls.verifyPeer](#opt-services.bacula-fd.tls.verifyPeer) is false, and are always required in a client context.\n", "loc": ["services", "bacula-fd", "tls", "caCertificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-fd.tls.certificate": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The full path to the PEM encoded TLS certificate.\nIt will be used as either a client or server certificate,\ndepending on the connection direction.\nThis directive is required in a server context, but it may\nnot be specified in a client context if [services.bacula-fd.tls.verifyPeer](#opt-services.bacula-fd.tls.verifyPeer) is\n`false` in the corresponding server context.\n", "loc": ["services", "bacula-fd", "tls", "certificate"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-fd.tls.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specifies if TLS should be enabled.\nIf this set to `false` TLS will be completely disabled, even if [services.bacula-fd.tls.require](#opt-services.bacula-fd.tls.require) is true.\n", "loc": ["services", "bacula-fd", "tls", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-fd.tls.key": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The path of a PEM encoded TLS private key.\nIt must correspond to the TLS certificate.\n", "loc": ["services", "bacula-fd", "tls", "key"], "readOnly": false, "type": "absolute path"}, "services.bacula-fd.tls.require": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Require TLS or TLS-PSK encryption.\nThis directive is ignored unless one of [services.bacula-fd.tls.enable](#opt-services.bacula-fd.tls.enable) is true or TLS PSK Enable is set to `yes`.\nIf TLS is not required while TLS or TLS-PSK are enabled, then the Bacula component\nwill connect with other components either with or without TLS or TLS-PSK\n\nIf [services.bacula-fd.tls.enable](#opt-services.bacula-fd.tls.enable) or TLS-PSK is enabled and TLS is required, then the Bacula\ncomponent will refuse any connection request that does not use TLS.\n", "loc": ["services", "bacula-fd", "tls", "require"], "readOnly": false, "type": "null or boolean"}, "services.bacula-fd.tls.verifyPeer": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Verify peer certificate.\nInstructs server to request and verify the client's X.509 certificate.\nAny client certificate signed by a known-CA will be accepted.\nAdditionally, the client's X509 certificate Common Name must meet the value of the Address directive.\nIf [services.bacula-fd.tls.allowedCN](#opt-services.bacula-fd.tls.allowedCN) is used,\nthe client's x509 certificate Common Name must also correspond to\none of the CN specified in the [services.bacula-fd.tls.allowedCN](#opt-services.bacula-fd.tls.allowedCN) directive.\nThis directive is valid only for a server and not in client context.\n\nStandard from Bacula is `true`.\n", "loc": ["services", "bacula-fd", "tls", "verifyPeer"], "readOnly": false, "type": "null or boolean"}, "services.bacula-sd.autochanger": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option defines Autochanger resources in Bacula Storage Daemon.\n", "loc": ["services", "bacula-sd", "autochanger"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bacula-sd.autochanger.<name>.changerCommand": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/bacula/mtx-changer %c %o %S %a %d\""}, "description": "The name-string specifies an external program to be called that will\nautomatically change volumes as required by Bacula. Normally, this\ndirective will be specified only in the AutoChanger resource, which\nis then used for all devices. However, you may also specify the\ndifferent Changer Command in each Device resource. Most frequently,\nyou will specify the Bacula supplied mtx-changer script as follows:\n\n`\"/path/mtx-changer %c %o %S %a %d\"`\n\nand you will install the mtx on your system (found in the depkgs\nrelease). An example of this command is in the default bacula-sd.conf\nfile. For more details on the substitution characters that may be\nspecified to configure your autochanger please see the\nAutochangersAutochangersChapter chapter of this manual. For FreeBSD\nusers, you might want to see one of the several chio scripts in\nexamples/autochangers.\n", "loc": ["services", "bacula-sd", "autochanger", "<name>", "changerCommand"], "readOnly": false, "type": "string"}, "services.bacula-sd.autochanger.<name>.changerDevice": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The specified name-string must be the generic SCSI device name of the\nautochanger that corresponds to the normal read/write Archive Device\nspecified in the Device resource. This generic SCSI device name\nshould be specified if you have an autochanger or if you have a\nstandard tape drive and want to use the Alert Command (see below).\nFor example, on Linux systems, for an Archive Device name of\n`/dev/nst0`, you would specify\n`/dev/sg0` for the Changer Device name.  Depending\non your exact configuration, and the number of autochangers or the\ntype of autochanger, what you specify here can vary. This directive\nis optional. See the Using AutochangersAutochangersChapter chapter of\nthis manual for more details of using this and the following\nautochanger directives.\n", "loc": ["services", "bacula-sd", "autochanger", "<name>", "changerDevice"], "readOnly": false, "type": "string"}, "services.bacula-sd.autochanger.<name>.devices": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "", "loc": ["services", "bacula-sd", "autochanger", "<name>", "devices"], "readOnly": false, "type": "list of string"}, "services.bacula-sd.autochanger.<name>.extraAutochangerConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Autochanger directive.\n", "example": {"_type": "literalExpression", "text": "''\n  \n''"}, "loc": ["services", "bacula-sd", "autochanger", "<name>", "extraAutochangerConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-sd.device": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option defines Device resources in Bacula Storage Daemon.\n", "loc": ["services", "bacula-sd", "device"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bacula-sd.device.<name>.archiveDevice": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The specified name-string gives the system file name of the storage\ndevice managed by this storage daemon. This will usually be the\ndevice file name of a removable storage device (tape drive), for\nexample `/dev/nst0` or\n`/dev/rmt/0mbn`. For a DVD-writer, it will be for\nexample `/dev/hdc`. It may also be a directory name\nif you are archiving to disk storage. In this case, you must supply\nthe full absolute path to the directory. When specifying a tape\ndevice, it is preferable that the \"non-rewind\" variant of the device\nfile name be given.\n", "loc": ["services", "bacula-sd", "device", "<name>", "archiveDevice"], "readOnly": false, "type": "string"}, "services.bacula-sd.device.<name>.extraDeviceConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Device directive.\n", "example": {"_type": "literalExpression", "text": "''\n  LabelMedia = yes\n  Random Access = no\n  AutomaticMount = no\n  RemovableMedia = no\n  MaximumOpenWait = 60\n  AlwaysOpen = no\n''"}, "loc": ["services", "bacula-sd", "device", "<name>", "extraDeviceConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-sd.device.<name>.mediaType": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The specified name-string names the type of media supported by this\ndevice, for example, `DLT7000`. Media type names are\narbitrary in that you set them to anything you want, but they must be\nknown to the volume database to keep track of which storage daemons\ncan read which volumes. In general, each different storage type\nshould have a unique Media Type associated with it. The same\nname-string must appear in the appropriate Storage resource\ndefinition in the Director's configuration file.\n\nEven though the names you assign are arbitrary (i.e. you choose the\nname you want), you should take care in specifying them because the\nMedia Type is used to determine which storage device Bacula will\nselect during restore. Thus you should probably use the same Media\nType specification for all drives where the Media can be freely\ninterchanged. This is not generally an issue if you have a single\nStorage daemon, but it is with multiple Storage daemons, especially\nif they have incompatible media.\n\nFor example, if you specify a Media Type of `DDS-4`\nthen during the restore, Bacula will be able to choose any Storage\nDaemon that handles `DDS-4`. If you have an\nautochanger, you might want to name the Media Type in a way that is\nunique to the autochanger, unless you wish to possibly use the\nVolumes in other drives. You should also ensure to have unique Media\nType names if the Media is not compatible between drives. This\nspecification is required for all devices.\n\nIn addition, if you are using disk storage, each Device resource will\ngenerally have a different mount point or directory. In order for\nBacula to select the correct Device resource, each one must have a\nunique Media Type.\n", "loc": ["services", "bacula-sd", "device", "<name>", "mediaType"], "readOnly": false, "type": "string"}, "services.bacula-sd.director": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option defines Director resources in Bacula Storage Daemon.\n", "loc": ["services", "bacula-sd", "director"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bacula-sd.director.<name>.monitor": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"no\""}, "description": "If Monitor is set to `no`, this director will have\nfull access to this Storage daemon. If Monitor is set to\n`yes`, this director will only be able to fetch the\ncurrent status of this Storage daemon.\n\nPlease note that if this director is being used by a Monitor, we\nhighly recommend to set this directive to yes to avoid serious\nsecurity problems.\n", "example": {"_type": "literalExpression", "text": "\"yes\""}, "loc": ["services", "bacula-sd", "director", "<name>", "monitor"], "readOnly": false, "type": "one of \"no\", \"yes\""}, "services.bacula-sd.director.<name>.password": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "Specifies the password that must be supplied for the default Bacula\nConsole to be authorized. The same password must appear in the\nDirector resource of the Console configuration file. For added\nsecurity, the password is never passed across the network but instead\na challenge response hash code created with the password. This\ndirective is required. If you have either /dev/random or bc on your\nmachine, Bacula will generate a random password during the\nconfiguration process, otherwise it will be left blank and you must\nmanually supply it.\n\nThe password is plain text. It is not generated through any special\nprocess but as noted above, it is better to use random text for\nsecurity reasons.\n", "loc": ["services", "bacula-sd", "director", "<name>", "password"], "readOnly": false, "type": "string"}, "services.bacula-sd.director.<name>.tls": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "TLS Options for the Director in this Configuration.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls"], "readOnly": false, "type": "submodule"}, "services.bacula-sd.director.<name>.tls.allowedCN": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Common name attribute of allowed peer certificates.\nThis directive is valid for a server and in a client context.\nIf this directive is specified, the peer certificate will be verified against this list.\nIn the case this directive is configured on a server side, the allowed\nCN list will not be checked if [services.bacula-sd.director.<name>.tls.verifyPeer](#opt-services.bacula-sd.director._name_.tls.verifyPeer) is false.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls", "allowedCN"], "readOnly": false, "type": "list of string"}, "services.bacula-sd.director.<name>.tls.caCertificateFile": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path specifying a PEM encoded TLS CA certificate(s).\nMultiple certificates are permitted in the file.\nOne of TLS CA Certificate File or TLS CA Certificate Dir are required in a server context, unless\n[services.bacula-sd.director.<name>.tls.verifyPeer](#opt-services.bacula-sd.director._name_.tls.verifyPeer) is false, and are always required in a client context.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls", "caCertificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-sd.director.<name>.tls.certificate": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The full path to the PEM encoded TLS certificate.\nIt will be used as either a client or server certificate,\ndepending on the connection direction.\nThis directive is required in a server context, but it may\nnot be specified in a client context if [services.bacula-sd.director.<name>.tls.verifyPeer](#opt-services.bacula-sd.director._name_.tls.verifyPeer) is\n`false` in the corresponding server context.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls", "certificate"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-sd.director.<name>.tls.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specifies if TLS should be enabled.\nIf this set to `false` TLS will be completely disabled, even if [services.bacula-sd.director.<name>.tls.require](#opt-services.bacula-sd.director._name_.tls.require) is true.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-sd.director.<name>.tls.key": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The path of a PEM encoded TLS private key.\nIt must correspond to the TLS certificate.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls", "key"], "readOnly": false, "type": "absolute path"}, "services.bacula-sd.director.<name>.tls.require": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Require TLS or TLS-PSK encryption.\nThis directive is ignored unless one of [services.bacula-sd.director.<name>.tls.enable](#opt-services.bacula-sd.director._name_.tls.enable) is true or TLS PSK Enable is set to `yes`.\nIf TLS is not required while TLS or TLS-PSK are enabled, then the Bacula component\nwill connect with other components either with or without TLS or TLS-PSK\n\nIf [services.bacula-sd.director.<name>.tls.enable](#opt-services.bacula-sd.director._name_.tls.enable) or TLS-PSK is enabled and TLS is required, then the Bacula\ncomponent will refuse any connection request that does not use TLS.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls", "require"], "readOnly": false, "type": "null or boolean"}, "services.bacula-sd.director.<name>.tls.verifyPeer": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Verify peer certificate.\nInstructs server to request and verify the client's X.509 certificate.\nAny client certificate signed by a known-CA will be accepted.\nAdditionally, the client's X509 certificate Common Name must meet the value of the Address directive.\nIf [services.bacula-sd.director.<name>.tls.allowedCN](#opt-services.bacula-sd.director._name_.tls.allowedCN) is used,\nthe client's x509 certificate Common Name must also correspond to\none of the CN specified in the [services.bacula-sd.director.<name>.tls.allowedCN](#opt-services.bacula-sd.director._name_.tls.allowedCN) directive.\nThis directive is valid only for a server and not in client context.\n\nStandard from Bacula is `true`.\n", "loc": ["services", "bacula-sd", "director", "<name>", "tls", "verifyPeer"], "readOnly": false, "type": "null or boolean"}, "services.bacula-sd.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bacula Storage Daemon.\n", "loc": ["services", "bacula-sd", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-sd.extraMessagesConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Messages directive.\n", "example": {"_type": "literalExpression", "text": "''\n  console = all\n''"}, "loc": ["services", "bacula-sd", "extraMessagesConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-sd.extraStorageConfig": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be passed in Storage directive.\n", "example": {"_type": "literalExpression", "text": "''\n  Maximum Concurrent Jobs = 20;\n  Heartbeat Interval = 30;\n''"}, "loc": ["services", "bacula-sd", "extraStorageConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bacula-sd.name": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "\"${config.networking.hostName}-sd\""}, "description": "Specifies the Name of the Storage daemon.\n", "loc": ["services", "bacula-sd", "name"], "readOnly": false, "type": "string"}, "services.bacula-sd.port": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "9103"}, "description": "Specifies port number on which the Storage daemon listens for\nDirector connections.\n", "loc": ["services", "bacula-sd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bacula-sd.tls": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "TLS Options for the Storage Daemon.\nImportant notice: The backup won't be encrypted.\n", "loc": ["services", "bacula-sd", "tls"], "readOnly": false, "type": "submodule"}, "services.bacula-sd.tls.allowedCN": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Common name attribute of allowed peer certificates.\nThis directive is valid for a server and in a client context.\nIf this directive is specified, the peer certificate will be verified against this list.\nIn the case this directive is configured on a server side, the allowed\nCN list will not be checked if [services.bacula-sd.tls.verifyPeer](#opt-services.bacula-sd.tls.verifyPeer) is false.\n", "loc": ["services", "bacula-sd", "tls", "allowedCN"], "readOnly": false, "type": "list of string"}, "services.bacula-sd.tls.caCertificateFile": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path specifying a PEM encoded TLS CA certificate(s).\nMultiple certificates are permitted in the file.\nOne of TLS CA Certificate File or TLS CA Certificate Dir are required in a server context, unless\n[services.bacula-sd.tls.verifyPeer](#opt-services.bacula-sd.tls.verifyPeer) is false, and are always required in a client context.\n", "loc": ["services", "bacula-sd", "tls", "caCertificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-sd.tls.certificate": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The full path to the PEM encoded TLS certificate.\nIt will be used as either a client or server certificate,\ndepending on the connection direction.\nThis directive is required in a server context, but it may\nnot be specified in a client context if [services.bacula-sd.tls.verifyPeer](#opt-services.bacula-sd.tls.verifyPeer) is\n`false` in the corresponding server context.\n", "loc": ["services", "bacula-sd", "tls", "certificate"], "readOnly": false, "type": "null or absolute path"}, "services.bacula-sd.tls.enable": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specifies if TLS should be enabled.\nIf this set to `false` TLS will be completely disabled, even if [services.bacula-sd.tls.require](#opt-services.bacula-sd.tls.require) is true.\n", "loc": ["services", "bacula-sd", "tls", "enable"], "readOnly": false, "type": "boolean"}, "services.bacula-sd.tls.key": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "description": "The path of a PEM encoded TLS private key.\nIt must correspond to the TLS certificate.\n", "loc": ["services", "bacula-sd", "tls", "key"], "readOnly": false, "type": "absolute path"}, "services.bacula-sd.tls.require": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Require TLS or TLS-PSK encryption.\nThis directive is ignored unless one of [services.bacula-sd.tls.enable](#opt-services.bacula-sd.tls.enable) is true or TLS PSK Enable is set to `yes`.\nIf TLS is not required while TLS or TLS-PSK are enabled, then the Bacula component\nwill connect with other components either with or without TLS or TLS-PSK\n\nIf [services.bacula-sd.tls.enable](#opt-services.bacula-sd.tls.enable) or TLS-PSK is enabled and TLS is required, then the Bacula\ncomponent will refuse any connection request that does not use TLS.\n", "loc": ["services", "bacula-sd", "tls", "require"], "readOnly": false, "type": "null or boolean"}, "services.bacula-sd.tls.verifyPeer": {"declarations": ["nixos/modules/services/backup/bacula.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Verify peer certificate.\nInstructs server to request and verify the client's X.509 certificate.\nAny client certificate signed by a known-CA will be accepted.\nAdditionally, the client's X509 certificate Common Name must meet the value of the Address directive.\nIf [services.bacula-sd.tls.allowedCN](#opt-services.bacula-sd.tls.allowedCN) is used,\nthe client's x509 certificate Common Name must also correspond to\none of the CN specified in the [services.bacula-sd.tls.allowedCN](#opt-services.bacula-sd.tls.allowedCN) directive.\nThis directive is valid only for a server and not in client context.\n\nStandard from Bacula is `true`.\n", "loc": ["services", "bacula-sd", "tls", "verifyPeer"], "readOnly": false, "type": "null or boolean"}, "services.baikal.enable": {"declarations": ["nixos/modules/services/web-apps/baikal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable baikal.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "baikal", "enable"], "readOnly": false, "type": "boolean"}, "services.baikal.group": {"declarations": ["nixos/modules/services/web-apps/baikal.nix"], "default": {"_type": "literalExpression", "text": "\"baikal\""}, "description": "Group account under which the web-application run.\n", "loc": ["services", "baikal", "group"], "readOnly": false, "type": "string"}, "services.baikal.package": {"declarations": ["nixos/modules/services/web-apps/baikal.nix"], "default": {"_type": "literalExpression", "text": "pkgs.baikal"}, "description": "The baikal package to use.", "loc": ["services", "baikal", "package"], "readOnly": false, "type": "package"}, "services.baikal.phpPackage": {"declarations": ["nixos/modules/services/web-apps/baikal.nix"], "default": {"_type": "literalExpression", "text": "pkgs.php"}, "description": "The php package to use.", "loc": ["services", "baikal", "phpPackage"], "readOnly": false, "type": "package"}, "services.baikal.pool": {"declarations": ["nixos/modules/services/web-apps/baikal.nix"], "default": {"_type": "literalExpression", "text": "\"baikal\""}, "description": "Name of existing phpfpm pool that is used to run web-application.\nIf not specified a pool will be created automatically with\ndefault values.\n", "loc": ["services", "baikal", "pool"], "readOnly": false, "type": "string"}, "services.baikal.user": {"declarations": ["nixos/modules/services/web-apps/baikal.nix"], "default": {"_type": "literalExpression", "text": "\"baikal\""}, "description": "User account under which the web-application run.\n", "loc": ["services", "baikal", "user"], "readOnly": false, "type": "string"}, "services.baikal.virtualHost": {"declarations": ["nixos/modules/services/web-apps/baikal.nix"], "default": {"_type": "literalExpression", "text": "\"baikal\""}, "description": "Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.\n", "loc": ["services", "baikal", "virtualHost"], "readOnly": false, "type": "null or string"}, "services.bamf.enable": {"declarations": ["nixos/modules/services/desktops/bamf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bamf.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bamf", "enable"], "readOnly": false, "type": "boolean"}, "services.bazarr.dataDir": {"declarations": ["nixos/modules/services/misc/bazarr.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bazarr\""}, "description": "The directory where Bazarr stores its data files.", "loc": ["services", "bazarr", "dataDir"], "readOnly": false, "type": "string"}, "services.bazarr.enable": {"declarations": ["nixos/modules/services/misc/bazarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bazarr, a subtitle manager for Sonarr and Radarr.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bazarr", "enable"], "readOnly": false, "type": "boolean"}, "services.bazarr.group": {"declarations": ["nixos/modules/services/misc/bazarr.nix"], "default": {"_type": "literalExpression", "text": "\"bazarr\""}, "description": "Group under which bazarr runs.", "loc": ["services", "bazarr", "group"], "readOnly": false, "type": "string"}, "services.bazarr.listenPort": {"declarations": ["nixos/modules/services/misc/bazarr.nix"], "default": {"_type": "literalExpression", "text": "6767"}, "description": "Port on which the bazarr web interface should listen", "loc": ["services", "bazarr", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bazarr.openFirewall": {"declarations": ["nixos/modules/services/misc/bazarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the bazarr web interface.", "loc": ["services", "bazarr", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.bazarr.package": {"declarations": ["nixos/modules/services/misc/bazarr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bazarr"}, "description": "The bazarr package to use.", "loc": ["services", "bazarr", "package"], "readOnly": false, "type": "package"}, "services.bazarr.user": {"declarations": ["nixos/modules/services/misc/bazarr.nix"], "default": {"_type": "literalExpression", "text": "\"bazarr\""}, "description": "User account under which bazarr runs.", "loc": ["services", "bazarr", "user"], "readOnly": false, "type": "string"}, "services.bcachefs.autoScrub.enable": {"declarations": ["nixos/modules/tasks/filesystems/bcachefs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable regular bcachefs scrub.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bcachefs", "autoScrub", "enable"], "readOnly": false, "type": "boolean"}, "services.bcachefs.autoScrub.fileSystems": {"declarations": ["nixos/modules/tasks/filesystems/bcachefs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of paths to bcachefs filesystems to regularly call {command}`bcachefs scrub` on.\nDefaults to all mount points with bcachefs filesystems.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/\"\n]"}, "loc": ["services", "bcachefs", "autoScrub", "fileSystems"], "readOnly": false, "type": "list of absolute path"}, "services.bcachefs.autoScrub.interval": {"declarations": ["nixos/modules/tasks/filesystems/bcachefs.nix"], "default": {"_type": "literalExpression", "text": "\"monthly\""}, "description": "Systemd calendar expression for when to scrub bcachefs filesystems.\nThe recommended period is a month but could be less.\nSee\n{manpage}`systemd.time(7)`\nfor more information on the syntax.\n", "example": {"_type": "literalExpression", "text": "\"weekly\""}, "loc": ["services", "bcachefs", "autoScrub", "interval"], "readOnly": false, "type": "string"}, "services.bcg.automaticRemoveKitFromNames": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Automatically remove kits.", "loc": ["services", "bcg", "automaticRemoveKitFromNames"], "readOnly": false, "type": "boolean"}, "services.bcg.automaticRenameGenericNodes": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Automatically rename generic nodes.", "loc": ["services", "bcg", "automaticRenameGenericNodes"], "readOnly": false, "type": "boolean"}, "services.bcg.automaticRenameKitNodes": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Automatically rename kit's nodes.", "loc": ["services", "bcg", "automaticRenameKitNodes"], "readOnly": false, "type": "boolean"}, "services.bcg.automaticRenameNodes": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Automatically rename all nodes.", "loc": ["services", "bcg", "automaticRenameNodes"], "readOnly": false, "type": "boolean"}, "services.bcg.baseTopicPrefix": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Topic prefix added to all MQTT messages.", "loc": ["services", "bcg", "baseTopicPrefix"], "readOnly": false, "type": "string"}, "services.bcg.device": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "description": "Device name to configure gateway to use.", "loc": ["services", "bcg", "device"], "readOnly": false, "type": "string"}, "services.bcg.enable": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable BigClown gateway.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bcg", "enable"], "readOnly": false, "type": "boolean"}, "services.bcg.environmentFiles": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "File to load as environment file. Environment variables from this file\nwill be interpolated into the config file using envsubst with this\nsyntax: `$ENVIRONMENT` or `${VARIABLE}`.\nThis is useful to avoid putting secrets into the nix store.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/run/keys/bcg.env\"\n]"}, "loc": ["services", "bcg", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.bcg.mqtt.cafile": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Certificate Authority file for MQTT server access.", "loc": ["services", "bcg", "mqtt", "cafile"], "readOnly": false, "type": "null or string"}, "services.bcg.mqtt.certfile": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Certificate file for MQTT server access.", "loc": ["services", "bcg", "mqtt", "certfile"], "readOnly": false, "type": "null or string"}, "services.bcg.mqtt.host": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Host where MQTT server is running.", "loc": ["services", "bcg", "mqtt", "host"], "readOnly": false, "type": "string"}, "services.bcg.mqtt.keyfile": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Key file for MQTT server access.", "loc": ["services", "bcg", "mqtt", "keyfile"], "readOnly": false, "type": "null or string"}, "services.bcg.mqtt.password": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MQTT server access password.", "loc": ["services", "bcg", "mqtt", "password"], "readOnly": false, "type": "null or string"}, "services.bcg.mqtt.port": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "1883"}, "description": "Port of MQTT server.", "loc": ["services", "bcg", "mqtt", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bcg.mqtt.username": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MQTT server access username.", "loc": ["services", "bcg", "mqtt", "username"], "readOnly": false, "type": "null or string"}, "services.bcg.name": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name for the device.\n\nSupported variables:\n* `{ip}` IP address\n* `{id}` The ID of the connected usb-dongle or core-module\n\n`null` can be used for automatic detection from gateway firmware.\n", "loc": ["services", "bcg", "name"], "readOnly": false, "type": "null or string"}, "services.bcg.package": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3Packages.bcg"}, "description": "The bcg package to use.", "loc": ["services", "bcg", "package"], "readOnly": false, "type": "package"}, "services.bcg.qosNodeMessages": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Set the guarantee of MQTT message delivery.", "loc": ["services", "bcg", "qosNodeMessages"], "readOnly": false, "type": "signed integer"}, "services.bcg.rename": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Rename nodes to different name.", "loc": ["services", "bcg", "rename"], "readOnly": false, "type": "attribute set of string"}, "services.bcg.retainNodeMessages": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specify that node messages should be retaied in MQTT broker.", "loc": ["services", "bcg", "retainNodeMessages"], "readOnly": false, "type": "boolean"}, "services.bcg.verbose": {"declarations": ["nixos/modules/services/misc/bcg.nix"], "default": {"_type": "literalExpression", "text": "\"WARNING\""}, "description": "Verbosity level.", "loc": ["services", "bcg", "verbose"], "readOnly": false, "type": "one of \"CRITICAL\", \"ERROR\", \"WARNING\", \"INFO\", \"DEBUG\""}, "services.beanstalkd.enable": {"declarations": ["nixos/modules/services/misc/beanstalkd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Beanstalk work queue.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "beanstalkd", "enable"], "readOnly": false, "type": "boolean"}, "services.beanstalkd.listen.address": {"declarations": ["nixos/modules/services/misc/beanstalkd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "IP address to listen on.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "beanstalkd", "listen", "address"], "readOnly": false, "type": "string"}, "services.beanstalkd.listen.port": {"declarations": ["nixos/modules/services/misc/beanstalkd.nix"], "default": {"_type": "literalExpression", "text": "11300"}, "description": "TCP port that will be used to accept client connections.", "loc": ["services", "beanstalkd", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.beanstalkd.openFirewall": {"declarations": ["nixos/modules/services/misc/beanstalkd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall for the server.", "loc": ["services", "beanstalkd", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.bee.daemonNiceLevel": {"declarations": ["nixos/modules/services/networking/bee.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Daemon process priority for bee.\n0 is the default Unix process priority, 19 is the lowest.\n", "loc": ["services", "bee", "daemonNiceLevel"], "readOnly": false, "type": "signed integer"}, "services.bee.enable": {"declarations": ["nixos/modules/services/networking/bee.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ethereum Swarm Bee.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bee", "enable"], "readOnly": false, "type": "boolean"}, "services.bee.group": {"declarations": ["nixos/modules/services/networking/bee.nix"], "default": {"_type": "literalExpression", "text": "\"bee\""}, "description": "Group the bee binary should execute under.\n", "loc": ["services", "bee", "group"], "readOnly": false, "type": "string"}, "services.bee.package": {"declarations": ["nixos/modules/services/networking/bee.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bee"}, "description": "The bee package to use.", "example": {"_type": "literalExpression", "text": "bee-unstable"}, "loc": ["services", "bee", "package"], "readOnly": false, "type": "package"}, "services.bee.settings": {"declarations": ["nixos/modules/services/networking/bee.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Ethereum Swarm Bee configuration. Refer to\n<https://gateway.ethswarm.org/bzz/docs.swarm.eth/docs/installation/configuration/>\nfor details on supported values.\n", "loc": ["services", "bee", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.bee.user": {"declarations": ["nixos/modules/services/networking/bee.nix"], "default": {"_type": "literalExpression", "text": "\"bee\""}, "description": "User the bee binary should execute under.\n", "loc": ["services", "bee", "user"], "readOnly": false, "type": "string"}, "services.beesd.filesystems": {"declarations": ["nixos/modules/services/misc/bees.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "BTRFS filesystems to run block-level deduplication on.", "example": {"_type": "literalExpression", "text": "{\n  \"-\" = {\n    spec = \"LABEL=root\";\n    hashTableSizeMB = 2048;\n    verbosity = \"crit\";\n    extraOptions = [ \"--loadavg-target\" \"5.0\" ];\n  };\n}\n"}, "loc": ["services", "beesd", "filesystems"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.beesd.filesystems.<name>.extraOptions": {"declarations": ["nixos/modules/services/misc/bees.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line options passed to the daemon. See upstream bees documentation.\n", "example": {"_type": "literalExpression", "text": "[ \"--thread-count\" \"4\" ]\n"}, "loc": ["services", "beesd", "filesystems", "<name>", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.beesd.filesystems.<name>.hashTableSizeMB": {"declarations": ["nixos/modules/services/misc/bees.nix"], "default": {"_type": "literalExpression", "text": "1024"}, "description": "Hash table size in MB; must be a multiple of 16.\n\nA larger ratio of index size to storage size means smaller blocks of\nduplicate content are recognized.\n\nIf you have 1TB of data, a 4GB hash table (which is to say, a value of\n4096) will permit 4KB extents (the smallest possible size) to be\nrecognized, whereas a value of 1024 -- creating a 1GB hash table --\nwill recognize only aligned duplicate blocks of 16KB.\n", "loc": ["services", "beesd", "filesystems", "<name>", "hashTableSizeMB"], "readOnly": false, "type": "signed integer"}, "services.beesd.filesystems.<name>.spec": {"declarations": ["nixos/modules/services/misc/bees.nix"], "description": "Description of how to identify the filesystem to be duplicated by this\ninstance of bees. Note that deduplication crosses subvolumes; one must\nnot configure multiple instances for subvolumes of the same filesystem\n(or block devices which are part of the same filesystem), but only for\ncompletely independent btrfs filesystems.\n\nThis must be in a format usable by findmnt; that could be a key=value\npair, or a bare path to a mount point.\nUsing bare paths will allow systemd to start the beesd service only\nafter mounting the associated path.\n", "example": {"_type": "literalExpression", "text": "\"LABEL=MyBulkDataDrive\""}, "loc": ["services", "beesd", "filesystems", "<name>", "spec"], "readOnly": false, "type": "string"}, "services.beesd.filesystems.<name>.verbosity": {"declarations": ["nixos/modules/services/misc/bees.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Log verbosity (syslog keyword/level).", "loc": ["services", "beesd", "filesystems", "<name>", "verbosity"], "readOnly": false, "type": "one of \"alert\", \"crit\", \"debug\", \"emerg\", \"err\", \"info\", \"notice\", \"warning\", 1, 2, 7, 0, 3, 6, 5, 4"}, "services.beesd.filesystems.<name>.workDir": {"declarations": ["nixos/modules/services/misc/bees.nix"], "default": {"_type": "literalExpression", "text": "\".beeshome\""}, "description": "Name (relative to the root of the filesystem) of the subvolume where\nthe hash table will be stored.\n", "loc": ["services", "beesd", "filesystems", "<name>", "workDir"], "readOnly": false, "type": "string"}, "services.below.cgroupFilterOut": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A regexp matching the full paths of cgroups whose data shouldn't be collected", "example": {"_type": "literalExpression", "text": "\"user.slice.*\""}, "loc": ["services", "below", "cgroupFilterOut"], "readOnly": false, "type": "null or string"}, "services.below.collect.diskStats": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable dist_stat collection.", "loc": ["services", "below", "collect", "diskStats"], "readOnly": false, "type": "boolean"}, "services.below.collect.exitStats": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable eBPF-based exitstats.", "loc": ["services", "below", "collect", "exitStats"], "readOnly": false, "type": "boolean"}, "services.below.collect.ioStats": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable io.stat collection for cgroups.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "below", "collect", "ioStats"], "readOnly": false, "type": "boolean"}, "services.below.compression.enable": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable data compression.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "below", "compression", "enable"], "readOnly": false, "type": "boolean"}, "services.below.dirs.log": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Where to store below's logs", "loc": ["services", "below", "dirs", "log"], "readOnly": false, "type": "null or absolute path"}, "services.below.dirs.store": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Where to store below's data", "example": {"_type": "literalExpression", "text": "\"/var/lib/below\""}, "loc": ["services", "below", "dirs", "store"], "readOnly": false, "type": "null or absolute path"}, "services.below.enable": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable 'below' resource monitor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "below", "enable"], "readOnly": false, "type": "boolean"}, "services.below.retention.size": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Size limit for below's data, in bytes. Data is deleted oldest-first, in 24h 'shards'.\n\n::: {.note}\nThe size limit may be exceeded by at most the size of the active shard, as:\n- the active shard cannot be deleted;\n- the size limit is only enforced when a new shard is created.\n:::\n", "loc": ["services", "below", "retention", "size"], "readOnly": false, "type": "null or signed integer"}, "services.below.retention.time": {"declarations": ["nixos/modules/services/monitoring/below.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Retention time, in seconds.\n\n::: {.note}\nAs data is stored in 24 hour shards which are discarded as a whole,\nonly data expired by 24h (or more) is guaranteed to be discarded.\n:::\n\n::: {.note}\nIf `retention.size` is set, data may be discarded earlier than the specified time.\n:::\n", "loc": ["services", "below", "retention", "time"], "readOnly": false, "type": "null or signed integer"}, "services.bentopdf.caddy.enable": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a virtualhost to serve bentopdf through caddy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bentopdf", "caddy", "enable"], "readOnly": false, "type": "boolean"}, "services.bentopdf.caddy.virtualHost": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration for the caddy virtual host of bentopdf.", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [ \"bentopdf.${config.networking.domain}\" ];\n}\n"}, "loc": ["services", "bentopdf", "caddy", "virtualHost"], "readOnly": false, "type": "submodule"}, "services.bentopdf.caddy.virtualHost.extraConfig": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional lines of configuration appended to this virtual host in the\nautomatically generated `Caddyfile`.\n", "loc": ["services", "bentopdf", "caddy", "virtualHost", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bentopdf.caddy.virtualHost.hostName": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Canonical hostname for the server.", "loc": ["services", "bentopdf", "caddy", "virtualHost", "hostName"], "readOnly": false, "type": "string"}, "services.bentopdf.caddy.virtualHost.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of host interfaces to bind to for this virtual host.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"::1\"\n]"}, "loc": ["services", "bentopdf", "caddy", "virtualHost", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.bentopdf.caddy.virtualHost.logFormat": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "''\n  output file ''${config.services.caddy.logDir}/access-''${hostName}.log\n''"}, "description": "Configuration for HTTP request logging (also known as access logs). See\n<https://caddyserver.com/docs/caddyfile/directives/log#log>\nfor details.\n", "example": {"_type": "literalExpression", "text": "mkForce ''\n  output discard\n'';\n"}, "loc": ["services", "bentopdf", "caddy", "virtualHost", "logFormat"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.bentopdf.caddy.virtualHost.serverAliases": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "bentopdf", "caddy", "virtualHost", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.bentopdf.caddy.virtualHost.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is mostly useful if you use DNS challenges but Caddy does not\ncurrently support your provider.\n\n*Note that this option does not create any certificates, nor\ndoes it add subdomains to existing ones \u2013 you will need to create them\nmanually using [](#opt-security.acme.certs).*\n", "loc": ["services", "bentopdf", "caddy", "virtualHost", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.bentopdf.domain": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "description": "Domain to use for the virtual host.", "loc": ["services", "bentopdf", "domain"], "readOnly": false, "type": "string"}, "services.bentopdf.enable": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bentopdf Privacy First PDF Toolkit.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bentopdf", "enable"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a virtualhost to serve bentopdf through nginx.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bentopdf", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration for the nginx virtual host of bentopdf.", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [ \"bentopdf.${config.networking.domain}\" ];\n}\n"}, "loc": ["services", "bentopdf", "nginx", "virtualHost"], "readOnly": false, "type": "submodule"}, "services.bentopdf.nginx.virtualHost.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.addSSL": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "addSSL"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.basicAuth": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.bentopdf.nginx.virtualHost.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.bentopdf.nginx.virtualHost.default": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "default"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.enableACME": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "enableACME"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.extraConfig": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bentopdf.nginx.virtualHost.forceSSL": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.http2": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "http2"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.http3": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "http3"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.http3_hq": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.kTLS": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "kTLS"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.listen": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.bentopdf.nginx.virtualHost.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "description": "Listen address.", "loc": ["services", "bentopdf", "nginx", "virtualHost", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.bentopdf.nginx.virtualHost.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.bentopdf.nginx.virtualHost.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bentopdf.nginx.virtualHost.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "bentopdf", "nginx", "virtualHost", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "bentopdf", "nginx", "virtualHost", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.bentopdf.nginx.virtualHost.locations": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bentopdf.nginx.virtualHost.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.bentopdf.nginx.virtualHost.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.bentopdf.nginx.virtualHost.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.bentopdf.nginx.virtualHost.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bentopdf.nginx.virtualHost.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.bentopdf.nginx.virtualHost.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.bentopdf.nginx.virtualHost.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.bentopdf.nginx.virtualHost.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.bentopdf.nginx.virtualHost.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.onlySSL": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.quic": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "quic"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.redirectCode": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.bentopdf.nginx.virtualHost.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.reuseport": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "reuseport"], "readOnly": false, "type": "boolean"}, "services.bentopdf.nginx.virtualHost.root": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "root"], "readOnly": false, "type": "null or absolute path"}, "services.bentopdf.nginx.virtualHost.serverAliases": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.bentopdf.nginx.virtualHost.serverName": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "serverName"], "readOnly": false, "type": "null or string"}, "services.bentopdf.nginx.virtualHost.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.bentopdf.nginx.virtualHost.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.bentopdf.nginx.virtualHost.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "bentopdf", "nginx", "virtualHost", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.bentopdf.nginx.virtualHost.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "bentopdf", "nginx", "virtualHost", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.bentopdf.package": {"declarations": ["nixos/modules/services/web-apps/bentopdf.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bentopdf"}, "description": "The bentopdf package to use. To use the \"normal mode\" variant of bentopdf, which includes all socials, marketing and explanatory texts, set this option to `pkgs.bentopdf.override { simpleMode = false; }`.\n", "loc": ["services", "bentopdf", "package"], "readOnly": false, "type": "package"}, "services.bepasty.enable": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bepasty, a binary pastebin server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bepasty", "enable"], "readOnly": false, "type": "boolean"}, "services.bepasty.servers": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "configure a number of bepasty servers which will be started with\ngunicorn.\n", "loc": ["services", "bepasty", "servers"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bepasty.servers.<name>.bind": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:8000\""}, "description": "Bind address to be used for this server.\n", "example": {"_type": "literalExpression", "text": "\"0.0.0.0:8000\""}, "loc": ["services", "bepasty", "servers", "<name>", "bind"], "readOnly": false, "type": "string"}, "services.bepasty.servers.<name>.dataDir": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bepasty/data\""}, "description": "Path to the directory where the pastes will be saved to\n", "loc": ["services", "bepasty", "servers", "<name>", "dataDir"], "readOnly": false, "type": "string"}, "services.bepasty.servers.<name>.defaultPermissions": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "\"read\""}, "description": "default permissions for all unauthenticated accesses.\n", "example": {"_type": "literalExpression", "text": "\"read,create,delete\""}, "loc": ["services", "bepasty", "servers", "<name>", "defaultPermissions"], "readOnly": false, "type": "string"}, "services.bepasty.servers.<name>.extraConfig": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration for bepasty server to be appended on the\nconfiguration.\nsee <https://bepasty-server.readthedocs.org/en/latest/quickstart.html#configuring-bepasty>\nfor all options.\n", "example": {"_type": "literalExpression", "text": "''\n  PERMISSIONS = {\n    'myadminsecret': 'admin,list,create,read,delete',\n  }\n  MAX_ALLOWED_FILE_SIZE = 5 * 1000 * 1000\n''"}, "loc": ["services", "bepasty", "servers", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bepasty.servers.<name>.secretKey": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "server secret for safe session cookies, must be set.\n\nWarning: this secret is stored in the WORLD-READABLE Nix store!\n\nIt's recommended to use {option}`secretKeyFile`\nwhich takes precedence over {option}`secretKey`.\n", "loc": ["services", "bepasty", "servers", "<name>", "secretKey"], "readOnly": false, "type": "string"}, "services.bepasty.servers.<name>.secretKeyFile": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file that contains the server secret for safe session cookies, must be set.\n\n{option}`secretKeyFile` takes precedence over {option}`secretKey`.\n\nWarning: when {option}`secretKey` is non-empty {option}`secretKeyFile`\ndefaults to a file in the WORLD-READABLE Nix store containing that secret.\n", "loc": ["services", "bepasty", "servers", "<name>", "secretKeyFile"], "readOnly": false, "type": "null or string"}, "services.bepasty.servers.<name>.workDir": {"declarations": ["nixos/modules/services/misc/bepasty.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bepasty\""}, "description": "Path to the working directory (used for config and pidfile).\nDefaults to the users home directory.\n", "loc": ["services", "bepasty", "servers", "<name>", "workDir"], "readOnly": false, "type": "string"}, "services.beszel.agent.enable": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable beszel agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "beszel", "agent", "enable"], "readOnly": false, "type": "boolean"}, "services.beszel.agent.environment": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables for configuring the beszel-agent service.\nThis field will end up public in /nix/store, for secret values (such as `KEY`) use `environmentFile`.\n\nSee <https://www.beszel.dev/guide/environment-variables#agent> for available options.\n", "loc": ["services", "beszel", "agent", "environment"], "readOnly": false, "type": "open submodule of attribute set of string"}, "services.beszel.agent.environment.SKIP_SYSTEMD": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable systemd service monitoring.\nEnabling this option will skip systemd tracking and its setup in NixOS.\n", "loc": ["services", "beszel", "agent", "environment", "SKIP_SYSTEMD"], "readOnly": false, "type": "boolean"}, "services.beszel.agent.environmentFile": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File path containing environment variables for configuring the beszel-agent service in the format of an EnvironmentFile. See {manpage}`systemd.exec(5)`.\n", "loc": ["services", "beszel", "agent", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.beszel.agent.extraPath": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages to add to beszel path (such as nvidia-smi or rocm-smi).\n", "loc": ["services", "beszel", "agent", "extraPath"], "readOnly": false, "type": "list of package"}, "services.beszel.agent.openFirewall": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall port (default 45876).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "beszel", "agent", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.beszel.agent.package": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.beszel"}, "description": "The beszel package to use.", "loc": ["services", "beszel", "agent", "package"], "readOnly": false, "type": "package"}, "services.beszel.agent.smartmon.deviceAllow": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of device paths to allow access to for SMART monitoring.\nThis is only needed if the ambient capabilities are not sufficient.\nDevices will be granted read-only access.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev/sda\"\n  \"/dev/sdb\"\n  \"/dev/nvme0\"\n]"}, "loc": ["services", "beszel", "agent", "smartmon", "deviceAllow"], "readOnly": false, "type": "list of string"}, "services.beszel.agent.smartmon.enable": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Include services.beszel.agent.smartmon.package in the Beszel agent path for disk monitoring and add the agent to the disk group.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "beszel", "agent", "smartmon", "enable"], "readOnly": false, "type": "boolean"}, "services.beszel.agent.smartmon.package": {"declarations": ["nixos/modules/services/monitoring/beszel-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.smartmontools"}, "description": "The smartmontools package to use.", "loc": ["services", "beszel", "agent", "smartmon", "package"], "readOnly": false, "type": "package"}, "services.beszel.hub.dataDir": {"declarations": ["nixos/modules/services/monitoring/beszel-hub.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/beszel-hub\""}, "description": "Data directory of beszel-hub.", "loc": ["services", "beszel", "hub", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.beszel.hub.enable": {"declarations": ["nixos/modules/services/monitoring/beszel-hub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable beszel hub.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "beszel", "hub", "enable"], "readOnly": false, "type": "boolean"}, "services.beszel.hub.environment": {"declarations": ["nixos/modules/services/monitoring/beszel-hub.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables passed to the systemd service.\nSee <https://www.beszel.dev/guide/environment-variables#hub> for available options.\n", "example": {"_type": "literalExpression", "text": "{\n  DISABLE_PASSWORD_AUTH = \"true\";\n}"}, "loc": ["services", "beszel", "hub", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.beszel.hub.environmentFile": {"declarations": ["nixos/modules/services/monitoring/beszel-hub.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file to be passed to the systemd service.\nUseful for passing secrets to the service to prevent them from being\nworld-readable in the Nix store. See {manpage}`systemd.exec(5)`.\n", "loc": ["services", "beszel", "hub", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.beszel.hub.host": {"declarations": ["nixos/modules/services/monitoring/beszel-hub.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Host or address this beszel hub listens on.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "beszel", "hub", "host"], "readOnly": false, "type": "string"}, "services.beszel.hub.package": {"declarations": ["nixos/modules/services/monitoring/beszel-hub.nix"], "default": {"_type": "literalExpression", "text": "pkgs.beszel"}, "description": "The beszel package to use.", "loc": ["services", "beszel", "hub", "package"], "readOnly": false, "type": "package"}, "services.beszel.hub.port": {"declarations": ["nixos/modules/services/monitoring/beszel-hub.nix"], "default": {"_type": "literalExpression", "text": "8090"}, "description": "Port for this beszel hub to listen on.", "example": {"_type": "literalExpression", "text": "3002"}, "loc": ["services", "beszel", "hub", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.biboumi.credentialsFile": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "\"/dev/null\""}, "description": "Path to a configuration file to be merged with the settings.\nBeware not to surround \"=\" with spaces when setting biboumi's options in this file.\nUseful to merge a file which is better kept out of the Nix store\nbecause it contains sensible data like\n[password](#opt-services.biboumi.settings.password).\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/biboumi.cfg\""}, "loc": ["services", "biboumi", "credentialsFile"], "readOnly": false, "type": "absolute path"}, "services.biboumi.enable": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Biboumi XMPP gateway to IRC.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "biboumi", "enable"], "readOnly": false, "type": "boolean"}, "services.biboumi.openFirewall": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening of the identd port in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "biboumi", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.biboumi.package": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "pkgs.biboumi"}, "description": "The biboumi package to use.", "loc": ["services", "biboumi", "package"], "readOnly": false, "type": "package"}, "services.biboumi.settings": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See [biboumi 9.0](https://doc.biboumi.louiz.org/9.0/admin.html#configuration)\n\nfor documentation.\n", "loc": ["services", "biboumi", "settings"], "readOnly": false, "type": "open submodule of settings option"}, "services.biboumi.settings.admin": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The bare JID of the gateway administrator. This JID will have more\nprivileges than other standard users, for example some administration\nad-hoc commands will only be available to that JID.\n", "example": {"_type": "literalExpression", "text": "[\n  \"admin@example.org\"\n]"}, "loc": ["services", "biboumi", "settings", "admin"], "readOnly": false, "type": "list of string"}, "services.biboumi.settings.ca_file": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "config.security.pki.caBundle"}, "description": "Specifies which file should be used as the list of trusted CA\nwhen negotiating a TLS session.\n", "loc": ["services", "biboumi", "settings", "ca_file"], "readOnly": false, "type": "absolute path"}, "services.biboumi.settings.db_name": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/biboumi/biboumi.sqlite\""}, "description": "The name of the database to use.\n\nSet it to null and use [credentialsFile](#opt-services.biboumi.credentialsFile)\nif you do not want this connection string to go into the Nix store.\n", "example": {"_type": "literalExpression", "text": "\"postgresql://user:secret@localhost\""}, "loc": ["services", "biboumi", "settings", "db_name"], "readOnly": false, "type": "null or absolute path or string"}, "services.biboumi.settings.hostname": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "description": "The hostname served by the XMPP\u202fgateway.\nThis domain must be configured in the XMPP server\nas an external component.\n", "example": {"_type": "literalExpression", "text": "\"biboumi.example.org\""}, "loc": ["services", "biboumi", "settings", "hostname"], "readOnly": false, "type": "string"}, "services.biboumi.settings.identd_port": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "113"}, "description": "The TCP port on which to listen for identd queries.\n", "example": {"_type": "literalExpression", "text": "0"}, "loc": ["services", "biboumi", "settings", "identd_port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.biboumi.settings.log_level": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Indicate what type of log messages to write in the logs.\n0 is debug, 1 is info, 2 is warning, 3 is error.\n", "loc": ["services", "biboumi", "settings", "log_level"], "readOnly": false, "type": "integer between 0 and 3 (both inclusive)"}, "services.biboumi.settings.password": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The password used to authenticate the XMPP component to your XMPP server.\nThis password must be configured in the XMPP server,\nassociated with the external component on\n[hostname](#opt-services.biboumi.settings.hostname).\n\nSet it to null and use [credentialsFile](#opt-services.biboumi.credentialsFile)\nif you do not want this password to go into the Nix store.\n", "loc": ["services", "biboumi", "settings", "password"], "readOnly": false, "type": "null or string"}, "services.biboumi.settings.persistent_by_default": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether all rooms will be persistent by default:\nthe value of the \u201cpersistent\u201d option in the global configuration of each\nuser will be \u201ctrue\u201d, but the value of each individual room will still\ndefault to false. This means that a user just needs to change the global\n\u201cpersistent\u201d configuration option to false in order to override this.\n", "loc": ["services", "biboumi", "settings", "persistent_by_default"], "readOnly": false, "type": "boolean"}, "services.biboumi.settings.policy_directory": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.biboumi}/etc/biboumi\""}, "description": "A directory that should contain the policy files,\nused to customize Botan\u2019s behaviour\nwhen negotiating the TLS connections with the IRC servers.\n", "loc": ["services", "biboumi", "settings", "policy_directory"], "readOnly": false, "type": "absolute path"}, "services.biboumi.settings.port": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "5347"}, "description": "The TCP port to use to connect to the local XMPP component.\n", "loc": ["services", "biboumi", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.biboumi.settings.realname_customization": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the users will be able to use\nthe ad-hoc commands that lets them configure\ntheir realname and username.\n", "loc": ["services", "biboumi", "settings", "realname_customization"], "readOnly": false, "type": "boolean"}, "services.biboumi.settings.realname_from_jid": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the realname and username of each biboumi\nuser will be extracted from their JID.\nOtherwise they will be set to the nick\nthey used to connect to the IRC server.\n", "loc": ["services", "biboumi", "settings", "realname_from_jid"], "readOnly": false, "type": "boolean"}, "services.biboumi.settings.xmpp_server_ip": {"declarations": ["nixos/modules/services/networking/biboumi.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The IP address to connect to the XMPP server on.\nThe connection to the XMPP server is unencrypted,\nso the biboumi instance and the server should\nnormally be on the same host.\n", "loc": ["services", "biboumi", "settings", "xmpp_server_ip"], "readOnly": false, "type": "string"}, "services.bind.blockedNetworks": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "What networks are just blocked.\n", "loc": ["services", "bind", "blockedNetworks"], "readOnly": false, "type": "list of string"}, "services.bind.cacheNetworks": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"127.0.0.0/24\"\n  \"::1/128\"\n]"}, "description": "What networks are allowed to use us as a resolver.  Note\nthat this is for recursive queries -- all networks are\nallowed to query zones configured with the `zones` option\nby default (although this may be overridden within each\nzone's configuration, via the `allowQuery` option).\nIt is recommended that you limit cacheNetworks to avoid your\nserver being used for DNS amplification attacks.\n", "loc": ["services", "bind", "cacheNetworks"], "readOnly": false, "type": "list of string"}, "services.bind.checkConfig": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Check configuration.\n\nThe configuration will not be checked if you override the config file\nwith `configFile`.\n", "loc": ["services", "bind", "checkConfig"], "readOnly": false, "type": "boolean"}, "services.bind.configFile": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "confFile"}, "description": "Overridable config file to use for named. By default, that\ngenerated by nixos. If overriden, it will not be checked by\nnamed-checkconf.\n", "loc": ["services", "bind", "configFile"], "readOnly": false, "type": "absolute path"}, "services.bind.directory": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "\"/run/named\""}, "description": "Working directory of BIND.", "loc": ["services", "bind", "directory"], "readOnly": false, "type": "string"}, "services.bind.enable": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable BIND domain name server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bind", "enable"], "readOnly": false, "type": "boolean"}, "services.bind.extraArgs": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command-line arguments to pass to named.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-n\"\n  \"4\"\n]"}, "loc": ["services", "bind", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.bind.extraConfig": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the generated named configuration file.\n", "loc": ["services", "bind", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bind.extraOptions": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the options section of the\ngenerated named configuration file.\n", "loc": ["services", "bind", "extraOptions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bind.forward": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "\"first\""}, "description": "Whether to forward 'first' (try forwarding but lookup directly if forwarding fails) or 'only'.\n", "loc": ["services", "bind", "forward"], "readOnly": false, "type": "one of \"first\", \"only\""}, "services.bind.forwarders": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "config.networking.nameservers"}, "description": "List of servers we should forward requests to.\n", "loc": ["services", "bind", "forwarders"], "readOnly": false, "type": "list of string"}, "services.bind.ipv4Only": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Only use ipv4, even if the host supports ipv6.\n", "loc": ["services", "bind", "ipv4Only"], "readOnly": false, "type": "boolean"}, "services.bind.listenOn": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"any\"\n]"}, "description": "Interfaces to listen on.\n", "loc": ["services", "bind", "listenOn"], "readOnly": false, "type": "list of string"}, "services.bind.listenOnIpv6": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"any\"\n]"}, "description": "Ipv6 interfaces to listen on.\n", "loc": ["services", "bind", "listenOnIpv6"], "readOnly": false, "type": "list of string"}, "services.bind.listenOnIpv6Port": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "53"}, "description": "Ipv6 port to listen on.\n", "loc": ["services", "bind", "listenOnIpv6Port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bind.listenOnPort": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "53"}, "description": "Port to listen on.\n", "loc": ["services", "bind", "listenOnPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bind.package": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bind"}, "description": "The bind package to use.", "loc": ["services", "bind", "package"], "readOnly": false, "type": "package"}, "services.bind.zones": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of zones we claim authority over.\n", "example": {"_type": "literalExpression", "text": "{\n  \"example.com\" = {\n    extraConfig = \"\";\n    file = \"/var/dns/example.com\";\n    master = false;\n    masters = [\n      \"192.168.0.1\"\n    ];\n    slaves = [ ];\n  };\n}"}, "loc": ["services", "bind", "zones"], "readOnly": false, "type": "(attribute set of (submodule)) or (list of (attribute set)) convertible to it"}, "services.bind.zones.<name>.allowQuery": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"any\"\n]"}, "description": "List of address ranges allowed to query this zone. Instead of the address(es), this may instead\ncontain the single string \"any\".\n", "loc": ["services", "bind", "zones", "<name>", "allowQuery"], "readOnly": false, "type": "list of string"}, "services.bind.zones.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra zone config to be appended at the end of the zone section.", "loc": ["services", "bind", "zones", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bind.zones.<name>.file": {"declarations": ["nixos/modules/services/networking/bind.nix"], "description": "Zone file resource records contain columns of data, separated by whitespace, that define the record.", "loc": ["services", "bind", "zones", "<name>", "file"], "readOnly": false, "type": "string or absolute path"}, "services.bind.zones.<name>.master": {"declarations": ["nixos/modules/services/networking/bind.nix"], "description": "Master=false means slave server", "loc": ["services", "bind", "zones", "<name>", "master"], "readOnly": false, "type": "boolean"}, "services.bind.zones.<name>.masters": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of servers for inclusion in stub and secondary zones.", "loc": ["services", "bind", "zones", "<name>", "masters"], "readOnly": false, "type": "list of string"}, "services.bind.zones.<name>.name": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Name of the zone.", "loc": ["services", "bind", "zones", "<name>", "name"], "readOnly": false, "type": "string"}, "services.bind.zones.<name>.slaves": {"declarations": ["nixos/modules/services/networking/bind.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Addresses who may request zone transfers.", "loc": ["services", "bind", "zones", "<name>", "slaves"], "readOnly": false, "type": "list of string"}, "services.bird-lg.frontend.bgpMapInfo": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"asn\"\n  \"as-name\"\n  \"ASName\"\n  \"descr\"\n]"}, "description": "Information displayed in bgpmap.", "loc": ["services", "bird-lg", "frontend", "bgpMapInfo"], "readOnly": false, "type": "list of string"}, "services.bird-lg.frontend.dnsInterface": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"asn.cymru.com\""}, "description": "DNS zone to query ASN information.", "loc": ["services", "bird-lg", "frontend", "dnsInterface"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.domain": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "description": "Server name domain suffixes.", "example": {"_type": "literalExpression", "text": "\"dn42.lantian.pub\""}, "loc": ["services", "bird-lg", "frontend", "domain"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.enable": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bird Looking Glass Frontend Webserver.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bird-lg", "frontend", "enable"], "readOnly": false, "type": "boolean"}, "services.bird-lg.frontend.extraArgs": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters documented [here](https://github.com/xddxdd/bird-lg-go#frontend).\n\n:::{.note}\nPassing lines (plain strings) is deprecated in favour of passing lists of strings.\n:::\n", "loc": ["services", "bird-lg", "frontend", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.bird-lg.frontend.listenAddresses": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:5000\""}, "description": "Address to listen on.", "loc": ["services", "bird-lg", "frontend", "listenAddresses"], "readOnly": false, "type": "string or list of string"}, "services.bird-lg.frontend.nameFilter": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Protocol names to hide in summary tables (RE2 syntax),", "example": {"_type": "literalExpression", "text": "\"^ospf\""}, "loc": ["services", "bird-lg", "frontend", "nameFilter"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.navbar.allServers": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"ALL Servers\""}, "description": "Text of 'All server' button in the navigation bar.", "loc": ["services", "bird-lg", "frontend", "navbar", "allServers"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.navbar.allServersURL": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"all\""}, "description": "URL of 'All servers' button.", "loc": ["services", "bird-lg", "frontend", "navbar", "allServersURL"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.navbar.brand": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"Bird-lg Go\""}, "description": "Brand to show in the navigation bar .", "loc": ["services", "bird-lg", "frontend", "navbar", "brand"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.navbar.brandURL": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "URL of the brand to show in the navigation bar.", "loc": ["services", "bird-lg", "frontend", "navbar", "brandURL"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.netSpecificMode": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Apply network-specific changes for some networks.", "example": {"_type": "literalExpression", "text": "\"dn42\""}, "loc": ["services", "bird-lg", "frontend", "netSpecificMode"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.protocolFilter": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Information displayed in bgpmap.", "example": {"_type": "literalExpression", "text": "[\n  \"ospf\"\n]"}, "loc": ["services", "bird-lg", "frontend", "protocolFilter"], "readOnly": false, "type": "list of string"}, "services.bird-lg.frontend.proxyPort": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "8000"}, "description": "Port bird-lg-proxy is running on.", "loc": ["services", "bird-lg", "frontend", "proxyPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bird-lg.frontend.servers": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Server name prefixes.", "example": {"_type": "literalExpression", "text": "[\n  \"gigsgigscloud\"\n  \"hostdare\"\n]"}, "loc": ["services", "bird-lg", "frontend", "servers"], "readOnly": false, "type": "list of string"}, "services.bird-lg.frontend.timeout": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "120"}, "description": "Time before request timed out, in seconds.", "loc": ["services", "bird-lg", "frontend", "timeout"], "readOnly": false, "type": "signed integer"}, "services.bird-lg.frontend.titleBrand": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"Bird-lg Go\""}, "description": "Prefix of page titles in browser tabs.", "loc": ["services", "bird-lg", "frontend", "titleBrand"], "readOnly": false, "type": "string"}, "services.bird-lg.frontend.whois": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"whois.verisign-grs.com\""}, "description": "Whois server for queries.", "loc": ["services", "bird-lg", "frontend", "whois"], "readOnly": false, "type": "string"}, "services.bird-lg.group": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"bird-lg\""}, "description": "Group to run the service.", "loc": ["services", "bird-lg", "group"], "readOnly": false, "type": "string"}, "services.bird-lg.package": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bird-lg"}, "description": "The bird-lg package to use.", "loc": ["services", "bird-lg", "package"], "readOnly": false, "type": "package"}, "services.bird-lg.proxy.allowedIPs": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of IPs or networks to allow (default all allowed).", "example": {"_type": "literalExpression", "text": "[\n  \"192.168.25.52\"\n  \"192.168.25.53\"\n  \"192.168.0.0/24\"\n]"}, "loc": ["services", "bird-lg", "proxy", "allowedIPs"], "readOnly": false, "type": "list of string"}, "services.bird-lg.proxy.birdSocket": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"/var/run/bird/bird.ctl\""}, "description": "Bird control socket path.", "loc": ["services", "bird-lg", "proxy", "birdSocket"], "readOnly": false, "type": "string"}, "services.bird-lg.proxy.enable": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bird Looking Glass Proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bird-lg", "proxy", "enable"], "readOnly": false, "type": "boolean"}, "services.bird-lg.proxy.extraArgs": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters documented [here](https://github.com/xddxdd/bird-lg-go#proxy).\n", "loc": ["services", "bird-lg", "proxy", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.bird-lg.proxy.listenAddresses": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:8000\""}, "description": "Address to listen on.", "loc": ["services", "bird-lg", "proxy", "listenAddresses"], "readOnly": false, "type": "string or list of string"}, "services.bird-lg.proxy.traceroute.binary": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.traceroute}/bin/traceroute\""}, "description": "Traceroute's binary path.", "loc": ["services", "bird-lg", "proxy", "traceroute", "binary"], "readOnly": false, "type": "string"}, "services.bird-lg.proxy.traceroute.flags": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Flags for traceroute process", "loc": ["services", "bird-lg", "proxy", "traceroute", "flags"], "readOnly": false, "type": "list of string"}, "services.bird-lg.proxy.traceroute.rawOutput": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Display traceroute output in raw format.", "loc": ["services", "bird-lg", "proxy", "traceroute", "rawOutput"], "readOnly": false, "type": "boolean"}, "services.bird-lg.user": {"declarations": ["nixos/modules/services/networking/bird-lg.nix"], "default": {"_type": "literalExpression", "text": "\"bird-lg\""}, "description": "User to run the service.", "loc": ["services", "bird-lg", "user"], "readOnly": false, "type": "string"}, "services.bird.autoReload": {"declarations": ["nixos/modules/services/networking/bird.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether bird should be automatically reloaded when the configuration changes.\n", "loc": ["services", "bird", "autoReload"], "readOnly": false, "type": "boolean"}, "services.bird.checkConfig": {"declarations": ["nixos/modules/services/networking/bird.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the config should be checked at build time.\nWhen the config can't be checked during build time, for example when it includes\nother files, either disable this option or use `preCheckConfig` to create\nthe included files before checking.\n", "loc": ["services", "bird", "checkConfig"], "readOnly": false, "type": "boolean"}, "services.bird.config": {"declarations": ["nixos/modules/services/networking/bird.nix"], "description": "BIRD Internet Routing Daemon configuration file.\n<http://bird.network.cz/>\n", "loc": ["services", "bird", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bird.enable": {"declarations": ["nixos/modules/services/networking/bird.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable BIRD Internet Routing Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bird", "enable"], "readOnly": false, "type": "boolean"}, "services.bird.package": {"declarations": ["nixos/modules/services/networking/bird.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bird3"}, "description": "The bird3 package to use.", "loc": ["services", "bird", "package"], "readOnly": false, "type": "package"}, "services.bird.preCheckConfig": {"declarations": ["nixos/modules/services/networking/bird.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Commands to execute before the config file check. The file to be checked will be\navailable as {file}`bird.conf` in the current directory.\n\nFiles created with this option will not be available at service runtime, only during\nbuild time checking.\n", "example": {"_type": "literalExpression", "text": "''\n  echo \"cost 100;\" > include.conf\n''"}, "loc": ["services", "bird", "preCheckConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.birdwatcher.enable": {"declarations": ["nixos/modules/services/networking/birdwatcher.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Birdwatcher.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "birdwatcher", "enable"], "readOnly": false, "type": "boolean"}, "services.birdwatcher.flags": {"declarations": ["nixos/modules/services/networking/birdwatcher.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Flags to append to the program call\n", "example": {"_type": "literalExpression", "text": "[\n  \"-worker-pool-size 16\"\n  \"-6\"\n]"}, "loc": ["services", "birdwatcher", "flags"], "readOnly": false, "type": "list of string"}, "services.birdwatcher.package": {"declarations": ["nixos/modules/services/networking/birdwatcher.nix"], "default": {"_type": "literalExpression", "text": "pkgs.birdwatcher"}, "description": "The birdwatcher package to use.", "loc": ["services", "birdwatcher", "package"], "readOnly": false, "type": "package"}, "services.birdwatcher.settings": {"declarations": ["nixos/modules/services/networking/birdwatcher.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "birdwatcher configuration, for configuration options see the example on [github](https://github.com/alice-lg/birdwatcher/blob/master/etc/birdwatcher/birdwatcher.conf)\n", "example": {"_type": "literalExpression", "text": "[server]\nallow_from = []\nallow_uncached = false\nmodules_enabled = [\"status\",\n                   \"protocols\",\n                   \"protocols_bgp\",\n                   \"protocols_short\",\n                   \"routes_protocol\",\n                   \"routes_peer\",\n                   \"routes_table\",\n                   \"routes_table_filtered\",\n                   \"routes_table_peer\",\n                   \"routes_filtered\",\n                   \"routes_prefixed\",\n                   \"routes_noexport\",\n                   \"routes_pipe_filtered_count\",\n                   \"routes_pipe_filtered\"\n                  ]\n\n[status]\nreconfig_timestamp_source = \"bird\"\nreconfig_timestamp_match = \"# created: (.*)\"\n\nfilter_fields = []\n\n[bird]\nlisten = \"0.0.0.0:29184\"\nconfig = \"/etc/bird/bird.conf\"\nbirdc  = \"${pkgs.bird2}/bin/birdc\"\nttl = 5 # time to live (in minutes) for caching of cli output\n\n[parser]\nfilter_fields = []\n\n[cache]\nuse_redis = false # if not using redis cache, activate housekeeping to save memory!\n\n[housekeeping]\ninterval = 5\nforce_release_memory = true\n"}, "loc": ["services", "birdwatcher", "settings"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bitbox-bridge.enable": {"declarations": ["nixos/modules/services/hardware/bitbox-bridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bitbox bridge daemon, for use with Bitbox hardware wallets..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bitbox-bridge", "enable"], "readOnly": false, "type": "boolean"}, "services.bitbox-bridge.package": {"declarations": ["nixos/modules/services/hardware/bitbox-bridge.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bitbox-bridge"}, "description": "The bitbox-bridge package to use.", "loc": ["services", "bitbox-bridge", "package"], "readOnly": false, "type": "package"}, "services.bitbox-bridge.port": {"declarations": ["nixos/modules/services/hardware/bitbox-bridge.nix"], "default": {"_type": "literalExpression", "text": "8178"}, "description": "Listening port for the bitbox-bridge.\n", "loc": ["services", "bitbox-bridge", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bitbox-bridge.runOnMount": {"declarations": ["nixos/modules/services/hardware/bitbox-bridge.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Run bitbox-bridge.service only when hardware wallet is plugged, also registers the systemd device unit.\nThis option is enabled by default to save power, when false, bitbox-bridge service runs all the time instead.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bitbox-bridge", "runOnMount"], "readOnly": false, "type": "boolean"}, "services.bitcoind": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more bitcoind instances.", "loc": ["services", "bitcoind"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bitcoind.<name>.configFile": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The configuration file path to supply bitcoind.", "example": {"_type": "literalExpression", "text": "\"/var/lib/\u2039name\u203a/bitcoin.conf\""}, "loc": ["services", "bitcoind", "<name>", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.bitcoind.<name>.dataDir": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bitcoind-\u2039name\u203a\""}, "description": "The data directory for bitcoind.", "loc": ["services", "bitcoind", "<name>", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.bitcoind.<name>.dbCache": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Override the default database cache size in MiB.", "example": {"_type": "literalExpression", "text": "4000"}, "loc": ["services", "bitcoind", "<name>", "dbCache"], "readOnly": false, "type": "null or integer between 4 and 16384 (both inclusive)"}, "services.bitcoind.<name>.enable": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bitcoin daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bitcoind", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.bitcoind.<name>.extraCmdlineOptions": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options to pass to bitcoind.\nRun bitcoind --help to list all available options.\n", "loc": ["services", "bitcoind", "<name>", "extraCmdlineOptions"], "readOnly": false, "type": "list of string"}, "services.bitcoind.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional configurations to be appended to {file}`bitcoin.conf`.", "example": {"_type": "literalExpression", "text": "''\n  par=16\n  rpcthreads=16\n  logips=1\n''"}, "loc": ["services", "bitcoind", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bitcoind.<name>.group": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "\"bitcoind-\u2039name\u203a\""}, "description": "The group as which to run bitcoind.", "loc": ["services", "bitcoind", "<name>", "group"], "readOnly": false, "type": "string"}, "services.bitcoind.<name>.package": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bitcoind"}, "description": "The bitcoind package to use.", "loc": ["services", "bitcoind", "<name>", "package"], "readOnly": false, "type": "package"}, "services.bitcoind.<name>.pidFile": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bitcoind-\u2039name\u203a/bitcoind.pid\""}, "description": "Location of bitcoind pid file.", "loc": ["services", "bitcoind", "<name>", "pidFile"], "readOnly": false, "type": "absolute path"}, "services.bitcoind.<name>.port": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Override the default port on which to listen for connections.", "loc": ["services", "bitcoind", "<name>", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bitcoind.<name>.prune": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Reduce storage requirements by enabling pruning (deleting) of old\nblocks. This allows the pruneblockchain RPC to be called to delete\nspecific blocks, and enables automatic pruning of old blocks if a\ntarget size in MiB is provided. This mode is incompatible with -txindex\nand -rescan. Warning: Reverting this setting requires re-downloading\nthe entire blockchain. (\"disable\" = disable pruning blocks, \"manual\"\n= allow manual pruning via RPC, >=550 = automatically prune block files\nto stay under the specified target size in MiB).\n", "example": {"_type": "literalExpression", "text": "10000"}, "loc": ["services", "bitcoind", "<name>", "prune"], "readOnly": false, "type": "null or ((unsigned integer, meaning >=0) or (one of \"disable\", \"manual\") convertible to it)"}, "services.bitcoind.<name>.rpc.port": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Override the default port on which to listen for JSON-RPC connections.", "loc": ["services", "bitcoind", "<name>", "rpc", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bitcoind.<name>.rpc.users": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "RPC user information for JSON-RPC connections.", "example": {"_type": "literalExpression", "text": "{\n  alice.passwordHMAC = \"f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae\";\n  bob.passwordHMAC = \"b2dd077cb54591a2f3139e69a897ac$4e71f08d48b4347cf8eff3815c0e25ae2e9a4340474079f55705f40574f4ec99\";\n}\n"}, "loc": ["services", "bitcoind", "<name>", "rpc", "users"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bitcoind.<name>.rpc.users.<name>.name": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "description": "Username for JSON-RPC connections.\n", "example": {"_type": "literalExpression", "text": "\"alice\""}, "loc": ["services", "bitcoind", "<name>", "rpc", "users", "<name>", "name"], "readOnly": false, "type": "string"}, "services.bitcoind.<name>.rpc.users.<name>.passwordHMAC": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "description": "Password HMAC-SHA-256 for JSON-RPC connections. Must be a string of the\nformat \\<SALT-HEX\\>$\\<HMAC-HEX\\>.\n\nTool (Python script) for HMAC generation is available here:\n<https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py>\n", "example": {"_type": "literalExpression", "text": "\"f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae\""}, "loc": ["services", "bitcoind", "<name>", "rpc", "users", "<name>", "passwordHMAC"], "readOnly": false, "type": "string matching the pattern [0-9a-f]+\\$[0-9a-f]{64}"}, "services.bitcoind.<name>.testnet": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use the testnet instead of mainnet.", "loc": ["services", "bitcoind", "<name>", "testnet"], "readOnly": false, "type": "boolean"}, "services.bitcoind.<name>.user": {"declarations": ["nixos/modules/services/networking/bitcoind.nix"], "default": {"_type": "literalExpression", "text": "\"bitcoind-\u2039name\u203a\""}, "description": "The user as which to run bitcoind.", "loc": ["services", "bitcoind", "<name>", "user"], "readOnly": false, "type": "string"}, "services.bitlbee.authBackend": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"storage\""}, "description": "How users are authenticated\n  storage -- save passwords internally\n  pam -- Linux PAM authentication\n", "loc": ["services", "bitlbee", "authBackend"], "readOnly": false, "type": "one of \"storage\", \"pam\""}, "services.bitlbee.authMode": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"Open\""}, "description": "The following authentication modes are available:\n  Open -- Accept connections from anyone, use NickServ for user authentication.\n  Closed -- Require authorization (using the PASS command during login) before allowing the user to connect at all.\n  Registered -- Only allow registered users to use this server; this disables the register- and the account command until the user identifies himself.\n", "loc": ["services", "bitlbee", "authMode"], "readOnly": false, "type": "one of \"Open\", \"Closed\", \"Registered\""}, "services.bitlbee.configDir": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bitlbee\""}, "description": "Specify an alternative directory to store all the per-user configuration\nfiles.\n", "loc": ["services", "bitlbee", "configDir"], "readOnly": false, "type": "absolute path"}, "services.bitlbee.enable": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run the BitlBee IRC to other chat network gateway.\nRunning it allows you to access the MSN, Jabber, Yahoo! and ICQ chat\nnetworks via an IRC client.\n", "loc": ["services", "bitlbee", "enable"], "readOnly": false, "type": "boolean"}, "services.bitlbee.extraDefaults": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Will be inserted in the Default section of the config file.\n", "loc": ["services", "bitlbee", "extraDefaults"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bitlbee.extraSettings": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Will be inserted in the Settings section of the config file.\n", "loc": ["services", "bitlbee", "extraSettings"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bitlbee.hostName": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Normally, BitlBee gets a hostname using getsockname(). If you have a nicer\nalias for your BitlBee daemon, you can set it here and BitlBee will identify\nitself with that name instead.\n", "loc": ["services", "bitlbee", "hostName"], "readOnly": false, "type": "string"}, "services.bitlbee.interface": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The interface the BitlBee daemon will be listening to.  If `127.0.0.1`,\nonly clients on the local host can connect to it; if `0.0.0.0`, clients\ncan access it from any network interface.\n", "loc": ["services", "bitlbee", "interface"], "readOnly": false, "type": "string"}, "services.bitlbee.libpurple_plugins": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The list of libpurple plugins to install.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.purple-discord ]"}, "loc": ["services", "bitlbee", "libpurple_plugins"], "readOnly": false, "type": "list of package"}, "services.bitlbee.plugins": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The list of bitlbee plugins to install.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.bitlbee-facebook ]"}, "loc": ["services", "bitlbee", "plugins"], "readOnly": false, "type": "list of package"}, "services.bitlbee.portNumber": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "6667"}, "description": "Number of the port BitlBee will be listening to.\n", "loc": ["services", "bitlbee", "portNumber"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bitlbee.protocols": {"declarations": ["nixos/modules/services/networking/bitlbee.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "This option allows to remove the support of protocol, even if compiled\nin. If nothing is given, there are no restrictions.\n", "loc": ["services", "bitlbee", "protocols"], "readOnly": false, "type": "string"}, "services.bitmagnet.enable": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bitmagnet service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bitmagnet", "enable"], "readOnly": false, "type": "boolean"}, "services.bitmagnet.group": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "\"bitmagnet\""}, "description": "Group of user running bitmagnet", "loc": ["services", "bitmagnet", "group"], "readOnly": false, "type": "string"}, "services.bitmagnet.openFirewall": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open DHT ports in firewall", "loc": ["services", "bitmagnet", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.bitmagnet.package": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bitmagnet"}, "description": "The bitmagnet package to use.", "loc": ["services", "bitmagnet", "package"], "readOnly": false, "type": "package"}, "services.bitmagnet.settings": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Bitmagnet configuration (https://bitmagnet.io/setup/configuration.html).", "loc": ["services", "bitmagnet", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.bitmagnet.settings.dht_server": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "DHT server settings", "loc": ["services", "bitmagnet", "settings", "dht_server"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.bitmagnet.settings.dht_server.port": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "3334"}, "description": "DHT listen port", "loc": ["services", "bitmagnet", "settings", "dht_server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bitmagnet.settings.http_server": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "HTTP server settings", "loc": ["services", "bitmagnet", "settings", "http_server"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.bitmagnet.settings.http_server.port": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "\":3333\""}, "description": "HTTP server listen port", "loc": ["services", "bitmagnet", "settings", "http_server", "port"], "readOnly": false, "type": "string"}, "services.bitmagnet.settings.postgres": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "PostgreSQL database configuration", "loc": ["services", "bitmagnet", "settings", "postgres"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.bitmagnet.settings.postgres.host": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Address, hostname or Unix socket path of the database server", "loc": ["services", "bitmagnet", "settings", "postgres", "host"], "readOnly": false, "type": "string"}, "services.bitmagnet.settings.postgres.name": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "\"bitmagnet\""}, "description": "Database name to connect to", "loc": ["services", "bitmagnet", "settings", "postgres", "name"], "readOnly": false, "type": "string"}, "services.bitmagnet.settings.postgres.password": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Password for database user", "loc": ["services", "bitmagnet", "settings", "postgres", "password"], "readOnly": false, "type": "string"}, "services.bitmagnet.settings.postgres.user": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "User to connect as", "loc": ["services", "bitmagnet", "settings", "postgres", "user"], "readOnly": false, "type": "string"}, "services.bitmagnet.useLocalPostgresDB": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use a local postgresql database, create user and database", "loc": ["services", "bitmagnet", "useLocalPostgresDB"], "readOnly": false, "type": "boolean"}, "services.bitmagnet.user": {"declarations": ["nixos/modules/services/torrent/bitmagnet.nix"], "default": {"_type": "literalExpression", "text": "\"bitmagnet\""}, "description": "User running bitmagnet", "loc": ["services", "bitmagnet", "user"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.domain": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "The domain the Bitwarden/Vaultwarden is accessible on.", "example": {"_type": "literalExpression", "text": "\"https://vaultwarden.example.com\""}, "loc": ["services", "bitwarden-directory-connector-cli", "domain"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.enable": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bitwarden Directory Connector.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bitwarden-directory-connector-cli", "enable"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.interval": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"*:0,15,30,45\""}, "description": "The interval when to run the connector. This uses systemd's OnCalendar syntax.", "loc": ["services", "bitwarden-directory-connector-cli", "interval"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.ldap": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options to configure the LDAP connection.\nIf you used the desktop application to test the configuration you can find the settings by searching for `ldap` in `~/.config/Bitwarden\\ Directory\\ Connector/data.json`.\n", "loc": ["services", "bitwarden-directory-connector-cli", "ldap"], "readOnly": false, "type": "open submodule of attribute set of (JSON value)"}, "services.bitwarden-directory-connector-cli.ldap.ad": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the LDAP Server is an Active Directory.", "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "ad"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.ldap.hostname": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "The host the LDAP is accessible on.", "example": {"_type": "literalExpression", "text": "\"ldap.example.com\""}, "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "hostname"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.ldap.pagedSearch": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the LDAP server paginates search results.", "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "pagedSearch"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.ldap.port": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "389"}, "description": "Port LDAP is accessible on.", "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bitwarden-directory-connector-cli.ldap.rootPath": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "Root path for LDAP.", "example": {"_type": "literalExpression", "text": "\"dc=example,dc=com\""}, "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "rootPath"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.ldap.ssl": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use TLS.", "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "ssl"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.ldap.startTls": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use STARTTLS.", "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "startTls"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.ldap.username": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "The user to authenticate as.", "example": {"_type": "literalExpression", "text": "\"cn=admin,dc=example,dc=com\""}, "loc": ["services", "bitwarden-directory-connector-cli", "ldap", "username"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.package": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bitwarden-directory-connector-cli"}, "description": "The bitwarden-directory-connector-cli package to use.", "loc": ["services", "bitwarden-directory-connector-cli", "package"], "readOnly": false, "type": "package"}, "services.bitwarden-directory-connector-cli.secrets.bitwarden.client_path_id": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "Path to file that contains Client ID.", "loc": ["services", "bitwarden-directory-connector-cli", "secrets", "bitwarden", "client_path_id"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.secrets.bitwarden.client_path_secret": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "Path to file that contains Client Secret.", "loc": ["services", "bitwarden-directory-connector-cli", "secrets", "bitwarden", "client_path_secret"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.secrets.ldap": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "Path to file that contains LDAP password for user in {option}`ldap.username", "loc": ["services", "bitwarden-directory-connector-cli", "secrets", "ldap"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options to configure what gets synced.\nIf you used the desktop application to test the configuration you can find the settings by searching for `sync` in `~/.config/Bitwarden\\ Directory\\ Connector/data.json`.\n", "loc": ["services", "bitwarden-directory-connector-cli", "sync"], "readOnly": false, "type": "open submodule of attribute set of (JSON value)"}, "services.bitwarden-directory-connector-cli.sync.creationDateAttribute": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "Attribute that lists a user's creation date.", "example": {"_type": "literalExpression", "text": "\"whenCreated\""}, "loc": ["services", "bitwarden-directory-connector-cli", "sync", "creationDateAttribute"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.emailPrefixAttribute": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "The attribute that contains the users username.", "example": {"_type": "literalExpression", "text": "\"accountName\""}, "loc": ["services", "bitwarden-directory-connector-cli", "sync", "emailPrefixAttribute"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.emailSuffix": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "Suffix for the email, normally @example.com.", "example": {"_type": "literalExpression", "text": "\"@example.com\""}, "loc": ["services", "bitwarden-directory-connector-cli", "sync", "emailSuffix"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.groupFilter": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "LDAP filter for groups.", "example": {"_type": "literalExpression", "text": "\"(cn=sales)\""}, "loc": ["services", "bitwarden-directory-connector-cli", "sync", "groupFilter"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.groupNameAttribute": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"cn\""}, "description": "Attribute for a name of group.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "groupNameAttribute"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.groupObjectClass": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"groupOfNames\""}, "description": "A class that groups will have.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "groupObjectClass"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.groupPath": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"ou=groups\""}, "description": "Group directory, relative to root.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "groupPath"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.groups": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to sync ldap groups into BitWarden.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "groups"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.sync.largeImport": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable if you are syncing more than 2000 users/groups.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "largeImport"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.sync.memberAttribute": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "description": "Attribute that lists members in a LDAP group.", "example": {"_type": "literalExpression", "text": "\"uniqueMember\""}, "loc": ["services", "bitwarden-directory-connector-cli", "sync", "memberAttribute"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.overwriteExisting": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Remove and re-add users/groups, See <https://bitwarden.com/help/user-group-filters/#overwriting-syncs> for more details.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "overwriteExisting"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.sync.removeDisabled": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Remove users from bitwarden groups if no longer in the ldap group.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "removeDisabled"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.sync.useEmailPrefixSuffix": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If a user has no email address, combine a username prefix with a suffix value to form an email.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "useEmailPrefixSuffix"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.sync.userEmailAttribute": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"mail\""}, "description": "Attribute for a users email.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "userEmailAttribute"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.userFilter": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "LDAP filter for users.", "example": {"_type": "literalExpression", "text": "\"(memberOf=cn=sales,ou=groups,dc=example,dc=com)\""}, "loc": ["services", "bitwarden-directory-connector-cli", "sync", "userFilter"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.userObjectClass": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"inetOrgPerson\""}, "description": "Class that users must have.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "userObjectClass"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.userPath": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"ou=users\""}, "description": "User directory, relative to root.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "userPath"], "readOnly": false, "type": "string"}, "services.bitwarden-directory-connector-cli.sync.users": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Sync users.", "loc": ["services", "bitwarden-directory-connector-cli", "sync", "users"], "readOnly": false, "type": "boolean"}, "services.bitwarden-directory-connector-cli.user": {"declarations": ["nixos/modules/services/security/bitwarden-directory-connector-cli.nix"], "default": {"_type": "literalExpression", "text": "\"bwdc\""}, "description": "User to run the program.", "loc": ["services", "bitwarden-directory-connector-cli", "user"], "readOnly": false, "type": "string"}, "services.blackfire-agent.enable": {"declarations": ["nixos/modules/services/development/blackfire.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Blackfire profiler agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "blackfire-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.blackfire-agent.settings": {"declarations": ["nixos/modules/services/development/blackfire.nix"], "description": "See <https://blackfire.io/docs/up-and-running/configuration/agent>\n", "loc": ["services", "blackfire-agent", "settings"], "readOnly": false, "type": "open submodule of attribute set of string"}, "services.blackfire-agent.settings.server-id": {"declarations": ["nixos/modules/services/development/blackfire.nix"], "description": "Sets the server id used to authenticate with Blackfire\n\nYou can find your personal server-id at <https://blackfire.io/my/settings/credentials>\n", "loc": ["services", "blackfire-agent", "settings", "server-id"], "readOnly": false, "type": "string"}, "services.blackfire-agent.settings.server-token": {"declarations": ["nixos/modules/services/development/blackfire.nix"], "description": "Sets the server token used to authenticate with Blackfire\n\nYou can find your personal server-token at <https://blackfire.io/my/settings/credentials>\n", "loc": ["services", "blackfire-agent", "settings", "server-token"], "readOnly": false, "type": "string"}, "services.blendfarm.basicSecurityPasswordFile": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the password file the client needs to connect to the server.\n      The password must not contain a forward slash.", "loc": ["services", "blendfarm", "basicSecurityPasswordFile"], "readOnly": false, "type": "null or string"}, "services.blendfarm.blenderPackage": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.blender"}, "description": "The blender package to use.", "loc": ["services", "blendfarm", "blenderPackage"], "readOnly": false, "type": "package"}, "services.blendfarm.enable": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Blendfarm, a render farm management software for Blender.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "blendfarm", "enable"], "readOnly": false, "type": "boolean"}, "services.blendfarm.group": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "\"blendfarm\""}, "description": "Group under which blendfarm runs.", "loc": ["services", "blendfarm", "group"], "readOnly": false, "type": "string"}, "services.blendfarm.openFirewall": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable allowing blendfarm network access through the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "blendfarm", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.blendfarm.package": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.blendfarm"}, "description": "The blendfarm package to use.", "loc": ["services", "blendfarm", "package"], "readOnly": false, "type": "package"}, "services.blendfarm.serverConfig": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "{\n  BasicSecurityPassword = null;\n  BroadcastPort = 16342;\n  BypassScriptUpdate = false;\n  Port = 15000;\n}"}, "description": "Server configuration", "loc": ["services", "blendfarm", "serverConfig"], "readOnly": false, "type": "open submodule of attribute set of anything"}, "services.blendfarm.serverConfig.BroadcastPort": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "16342"}, "description": "Default port blendfarm server advertises itself on.", "loc": ["services", "blendfarm", "serverConfig", "BroadcastPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.blendfarm.serverConfig.BypassScriptUpdate": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Prevents blendfarm from replacing the .py self-generated scripts.", "loc": ["services", "blendfarm", "serverConfig", "BypassScriptUpdate"], "readOnly": false, "type": "boolean"}, "services.blendfarm.serverConfig.Port": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "15000"}, "description": "Default port blendfarm server listens on.", "loc": ["services", "blendfarm", "serverConfig", "Port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.blendfarm.user": {"declarations": ["nixos/modules/services/misc/blenderfarm.nix"], "default": {"_type": "literalExpression", "text": "\"blendfarm\""}, "description": "User under which blendfarm runs.", "loc": ["services", "blendfarm", "user"], "readOnly": false, "type": "string"}, "services.blockbook-frontend": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more blockbook-frontend instances.", "loc": ["services", "blockbook-frontend"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.blockbook-frontend.<name>.certFile": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "To enable SSL, specify path to the name of certificate files without extension.\nExpecting {file}`certFile.crt` and {file}`certFile.key`.\n", "example": {"_type": "literalExpression", "text": "\"/etc/secrets/blockbook-frontend-\u2039name\u203a/certFile\""}, "loc": ["services", "blockbook-frontend", "<name>", "certFile"], "readOnly": false, "type": "null or absolute path"}, "services.blockbook-frontend.<name>.coinName": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"Bitcoin\""}, "description": "See <https://github.com/trezor/blockbook/blob/master/bchain/coins/blockchain.go#L61>\nfor current of coins supported in master (Note: may differ from release).\n", "loc": ["services", "blockbook-frontend", "<name>", "coinName"], "readOnly": false, "type": "string"}, "services.blockbook-frontend.<name>.configFile": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Location of the blockbook configuration file.", "example": {"_type": "literalExpression", "text": "\"/var/lib/blockbook-frontend-\u2039name\u203a/config.json\""}, "loc": ["services", "blockbook-frontend", "<name>", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.blockbook-frontend.<name>.cssDir": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"${package}/share/css/\""}, "description": "Location of the dir with {file}`main.css` CSS file.\nBy default, the one shipped with the package is used.\n", "example": {"_type": "literalExpression", "text": "\"${dataDir}/static/css/\""}, "loc": ["services", "blockbook-frontend", "<name>", "cssDir"], "readOnly": false, "type": "absolute path"}, "services.blockbook-frontend.<name>.dataDir": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/blockbook-frontend-\u2039name\u203a\""}, "description": "Location of blockbook-frontend-\u2039name\u203a data directory.", "loc": ["services", "blockbook-frontend", "<name>", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.blockbook-frontend.<name>.debug": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Debug mode, return more verbose errors, reload templates on each request.", "loc": ["services", "blockbook-frontend", "<name>", "debug"], "readOnly": false, "type": "boolean"}, "services.blockbook-frontend.<name>.enable": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable blockbook-frontend application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "blockbook-frontend", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.blockbook-frontend.<name>.extraCmdLineOptions": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options to pass to Blockbook.\nRun blockbook --help to list all available options.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-workers=1\"\n  \"-dbcache=0\"\n  \"-logtosderr\"\n]"}, "loc": ["services", "blockbook-frontend", "<name>", "extraCmdLineOptions"], "readOnly": false, "type": "list of string"}, "services.blockbook-frontend.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional configurations to be appended to {file}`coin.conf`.\nOverrides any already defined configuration options.\nSee <https://github.com/trezor/blockbook/tree/master/configs/coins>\nfor current configuration options supported in master (Note: may differ from release).\n", "example": {"_type": "literalExpression", "text": "{\n         \"alternative_estimate_fee\" = \"whatthefee-disabled\";\n         \"alternative_estimate_fee_params\" = \"{\\\"url\\\": \\\"https://whatthefee.io/data.json\\\", \\\"periodSeconds\\\": 60}\";\n         \"fiat_rates\" = \"coingecko\";\n         \"fiat_rates_params\" = \"{\\\"url\\\": \\\"https://api.coingecko.com/api/v3\\\", \\\"coin\\\": \\\"bitcoin\\\", \\\"periodSeconds\\\": 60}\";\n         \"coin_shortcut\" = \"BTC\";\n         \"coin_label\" = \"Bitcoin\";\n         \"parse\" = true;\n         \"subversion\" = \"\";\n         \"address_format\" = \"\";\n         \"xpub_magic\" = 76067358;\n         \"xpub_magic_segwit_p2sh\" = 77429938;\n         \"xpub_magic_segwit_native\" = 78792518;\n         \"mempool_workers\" = 8;\n         \"mempool_sub_workers\" = 2;\n         \"block_addresses_to_keep\" = 300;\n       }"}, "loc": ["services", "blockbook-frontend", "<name>", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.blockbook-frontend.<name>.group": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"blockbook-frontend-\u2039name\u203a\""}, "description": "The group as which to run blockbook-frontend-\u2039name\u203a.", "loc": ["services", "blockbook-frontend", "<name>", "group"], "readOnly": false, "type": "string"}, "services.blockbook-frontend.<name>.internal": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\":9030\""}, "description": "Internal http server binding `[address]:port`.", "loc": ["services", "blockbook-frontend", "<name>", "internal"], "readOnly": false, "type": "null or string"}, "services.blockbook-frontend.<name>.messageQueueBinding": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"tcp://127.0.0.1:38330\""}, "description": "Message Queue Binding `address:port`.", "loc": ["services", "blockbook-frontend", "<name>", "messageQueueBinding"], "readOnly": false, "type": "string"}, "services.blockbook-frontend.<name>.package": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "pkgs.blockbook"}, "description": "The blockbook package to use.", "loc": ["services", "blockbook-frontend", "<name>", "package"], "readOnly": false, "type": "package"}, "services.blockbook-frontend.<name>.public": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\":9130\""}, "description": "Public http server binding `[address]:port`.", "loc": ["services", "blockbook-frontend", "<name>", "public"], "readOnly": false, "type": "null or string"}, "services.blockbook-frontend.<name>.rpc.password": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"rpc\""}, "description": "RPC password for JSON-RPC connections.\nWarning: this is stored in cleartext in the Nix store!!!\nUse `configFile` or `passwordFile` if needed.\n", "loc": ["services", "blockbook-frontend", "<name>", "rpc", "password"], "readOnly": false, "type": "string"}, "services.blockbook-frontend.<name>.rpc.passwordFile": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing password of the RPC user.\nNote: This options is ignored when `configFile` is used.\n", "loc": ["services", "blockbook-frontend", "<name>", "rpc", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.blockbook-frontend.<name>.rpc.port": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "8030"}, "description": "Port for JSON-RPC connections.", "loc": ["services", "blockbook-frontend", "<name>", "rpc", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.blockbook-frontend.<name>.rpc.url": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"http://127.0.0.1\""}, "description": "URL for JSON-RPC connections.", "loc": ["services", "blockbook-frontend", "<name>", "rpc", "url"], "readOnly": false, "type": "string"}, "services.blockbook-frontend.<name>.rpc.user": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"rpc\""}, "description": "Username for JSON-RPC connections.", "loc": ["services", "blockbook-frontend", "<name>", "rpc", "user"], "readOnly": false, "type": "string"}, "services.blockbook-frontend.<name>.sync": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Synchronizes until tip, if together with zeromq, keeps index synchronized.", "loc": ["services", "blockbook-frontend", "<name>", "sync"], "readOnly": false, "type": "boolean"}, "services.blockbook-frontend.<name>.templateDir": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"${package}/share/templates/\""}, "description": "Location of the HTML templates. By default, ones shipped with the package are used.", "example": {"_type": "literalExpression", "text": "\"${dataDir}/templates/static/\""}, "loc": ["services", "blockbook-frontend", "<name>", "templateDir"], "readOnly": false, "type": "absolute path"}, "services.blockbook-frontend.<name>.user": {"declarations": ["nixos/modules/services/networking/blockbook-frontend.nix"], "default": {"_type": "literalExpression", "text": "\"blockbook-frontend-\u2039name\u203a\""}, "description": "The user as which to run blockbook-frontend-\u2039name\u203a.", "loc": ["services", "blockbook-frontend", "<name>", "user"], "readOnly": false, "type": "string"}, "services.blocky.enable": {"declarations": ["nixos/modules/services/networking/blocky.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable blocky, a fast and lightweight DNS proxy as ad-blocker for local network with many features.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "blocky", "enable"], "readOnly": false, "type": "boolean"}, "services.blocky.enableConfigCheck": {"declarations": ["nixos/modules/services/networking/blocky.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable checking the config during build time.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "blocky", "enableConfigCheck"], "readOnly": false, "type": "boolean"}, "services.blocky.package": {"declarations": ["nixos/modules/services/networking/blocky.nix"], "default": {"_type": "literalExpression", "text": "pkgs.blocky"}, "description": "The blocky package to use.", "loc": ["services", "blocky", "package"], "readOnly": false, "type": "package"}, "services.blocky.settings": {"declarations": ["nixos/modules/services/networking/blocky.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Blocky configuration. Refer to\n<https://0xerr0r.github.io/blocky/configuration/>\nfor details on supported values.\n", "loc": ["services", "blocky", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.bloop.extraOptions": {"declarations": ["nixos/modules/services/development/bloop.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies additional command line argument to pass to bloop\njava process.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-J-Xmx2G\"\n  \"-J-XX:MaxInlineLevel=20\"\n  \"-J-XX:+UseParallelGC\"\n]"}, "loc": ["services", "bloop", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.bloop.install": {"declarations": ["nixos/modules/services/development/bloop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install a user service for the Bloop server.\n\nThe service must be manually started for each user with\n\"systemctl --user start bloop\".\n", "loc": ["services", "bloop", "install"], "readOnly": false, "type": "boolean"}, "services.blueman.enable": {"declarations": ["nixos/modules/services/desktops/blueman.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable blueman, a bluetooth manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "blueman", "enable"], "readOnly": false, "type": "boolean"}, "services.bluemap.coreSettings": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "description": "Settings for the core.conf file, [see upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/core.conf).", "loc": ["services", "bluemap", "coreSettings"], "readOnly": false, "type": "open submodule of (HOCON value)"}, "services.bluemap.coreSettings.data": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bluemap\""}, "description": "Folder for where bluemap stores its data", "loc": ["services", "bluemap", "coreSettings", "data"], "readOnly": false, "type": "absolute path"}, "services.bluemap.coreSettings.metrics": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Sending usage metrics containing the version of bluemap in use.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bluemap", "coreSettings", "metrics"], "readOnly": false, "type": "boolean"}, "services.bluemap.defaultWorld": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "description": "The world used by the default map ruleset.\nIf you configure your own maps you do not need to set this.\n", "example": {"_type": "literalExpression", "text": "${config.services.minecraft.dataDir}/world"}, "loc": ["services", "bluemap", "defaultWorld"], "readOnly": false, "type": "absolute path"}, "services.bluemap.enable": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bluemap.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bluemap", "enable"], "readOnly": false, "type": "boolean"}, "services.bluemap.enableNginx": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable configuring a virtualHost for serving the bluemap webapp", "loc": ["services", "bluemap", "enableNginx"], "readOnly": false, "type": "boolean"}, "services.bluemap.enableRender": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable rendering", "loc": ["services", "bluemap", "enableRender"], "readOnly": false, "type": "boolean"}, "services.bluemap.eula": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "By changing this option to true you confirm that you own a copy of minecraft Java Edition,\nand that you agree to minecrafts EULA.\n", "loc": ["services", "bluemap", "eula"], "readOnly": false, "type": "boolean"}, "services.bluemap.host": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "description": "Domain on which nginx will serve the bluemap webapp", "loc": ["services", "bluemap", "host"], "readOnly": false, "type": "string"}, "services.bluemap.maps": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"overworld\" = {\n    world = \"${cfg.defaultWorld}\";\n    ambient-light = 0.1;\n    cave-detection-ocean-floor = -5;\n  };\n\n  \"nether\" = {\n    world = \"${cfg.defaultWorld}/DIM-1\";\n    sorting = 100;\n    sky-color = \"#290000\";\n    void-color = \"#150000\";\n    ambient-light = 0.6;\n    world-sky-light = 0;\n    remove-caves-below-y = -10000;\n    cave-detection-ocean-floor = -5;\n    cave-detection-uses-block-light = true;\n    max-y = 90;\n  };\n\n  \"end\" = {\n    world = \"${cfg.defaultWorld}/DIM1\";\n    sorting = 200;\n    sky-color = \"#080010\";\n    void-color = \"#080010\";\n    ambient-light = 0.6;\n    world-sky-light = 0;\n    remove-caves-below-y = -10000;\n    cave-detection-ocean-floor = -5;\n  };\n};\n"}, "description": "Settings for files in `maps/`.\nIf you define anything here you must define everything yourself.\nSee the default for an example with good options for the different world types.\nFor valid values [consult upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/maps/map.conf).\n", "loc": ["services", "bluemap", "maps"], "readOnly": false, "type": "attribute set of (open submodule of (HOCON value))"}, "services.bluemap.maps.<name>.world": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "description": "Path to world folder containing the dimension to render", "loc": ["services", "bluemap", "maps", "<name>", "world"], "readOnly": false, "type": "absolute path"}, "services.bluemap.onCalendar": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "\"*-*-* 03:10:00\""}, "description": "How often to trigger rendering the map,\nin the format of a systemd timer onCalendar configuration.\nSee {manpage}`systemd.timer(5)`.\n", "loc": ["services", "bluemap", "onCalendar"], "readOnly": false, "type": "string"}, "services.bluemap.packs": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of resourcepacks, datapacks, and mods to extract resources from,\nloaded in alphabetical order.\n", "loc": ["services", "bluemap", "packs"], "readOnly": false, "type": "attribute set of path in the Nix store"}, "services.bluemap.storage": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"file\" = {\n    root = \"${config.services.bluemap.webRoot}/maps\";\n  };\n}\n"}, "description": "Where the rendered map will be stored.\nUnless you are doing something advanced you should probably leave this alone and configure webRoot instead.\n[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/tree/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/storages)\n", "loc": ["services", "bluemap", "storage"], "readOnly": false, "type": "attribute set of (open submodule of (HOCON value))"}, "services.bluemap.storage.<name>.storage-type": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "\"FILE\""}, "description": "Type of storage config", "loc": ["services", "bluemap", "storage", "<name>", "storage-type"], "readOnly": false, "type": "one of \"FILE\", \"SQL\""}, "services.bluemap.webRoot": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bluemap/web\""}, "description": "The directory for saving and serving the webapp and the maps", "loc": ["services", "bluemap", "webRoot"], "readOnly": false, "type": "absolute path"}, "services.bluemap.webappSettings": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "{\n  enabled = true;\n  webroot = config.services.bluemap.webRoot;\n}\n"}, "description": "Settings for the webapp.conf file, see [upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/webapp.conf).", "loc": ["services", "bluemap", "webappSettings"], "readOnly": false, "type": "open submodule of (HOCON value)"}, "services.bluemap.webserverSettings": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for the webserver.conf file, usually not required.\n[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/webserver.conf).\n", "loc": ["services", "bluemap", "webserverSettings"], "readOnly": false, "type": "open submodule of (HOCON value)"}, "services.bluemap.webserverSettings.enabled": {"declarations": ["nixos/modules/services/web-apps/bluemap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable bluemap's built-in webserver.\nDisabled by default in nixos for use of nginx directly.\n", "loc": ["services", "bluemap", "webserverSettings", "enabled"], "readOnly": false, "type": "boolean"}, "services.bluesky-pds.enable": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable pds.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bluesky-pds", "enable"], "readOnly": false, "type": "boolean"}, "services.bluesky-pds.environmentFiles": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "File to load environment variables from. Loaded variables override\nvalues set in {option}`environment`.\n\nUse it to set values of `PDS_JWT_SECRET`, `PDS_ADMIN_PASSWORD`,\nand `PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX` secrets.\n`PDS_JWT_SECRET` and `PDS_ADMIN_PASSWORD` can be generated with\n```\nopenssl rand --hex 16\n```\n`PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX` can be generated with\n```\nopenssl ecparam --name secp256k1 --genkey --noout --outform DER | tail --bytes=+8 | head --bytes=32 | xxd --plain --cols 32\n```\n", "loc": ["services", "bluesky-pds", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.bluesky-pds.goat.enable": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "config.services.bluesky-pds.enable"}, "description": "Add goat to PATH", "loc": ["services", "bluesky-pds", "goat", "enable"], "readOnly": false, "type": "boolean"}, "services.bluesky-pds.package": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bluesky-pds"}, "description": "The bluesky-pds package to use.", "loc": ["services", "bluesky-pds", "package"], "readOnly": false, "type": "package"}, "services.bluesky-pds.pdsadmin.enable": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add pdsadmin script to PATH", "loc": ["services", "bluesky-pds", "pdsadmin", "enable"], "readOnly": false, "type": "boolean"}, "services.bluesky-pds.settings": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "description": "Environment variables to set for the service. Secrets should be\nspecified using {option}`environmentFile`.\n\nRefer to <https://github.com/bluesky-social/atproto/blob/main/packages/pds/src/config/env.ts> for available environment variables.\n", "loc": ["services", "bluesky-pds", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string or 16 bit unsigned integer; between 0 and 65535 (both inclusive))"}, "services.bluesky-pds.settings.LOG_ENABLED": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"true\""}, "description": "Enable logging", "loc": ["services", "bluesky-pds", "settings", "LOG_ENABLED"], "readOnly": false, "type": "null or string"}, "services.bluesky-pds.settings.PDS_BLOBSTORE_DISK_LOCATION": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/pds/blocks\""}, "description": "Store blobs at this location, set to null to use e.g. S3", "loc": ["services", "bluesky-pds", "settings", "PDS_BLOBSTORE_DISK_LOCATION"], "readOnly": false, "type": "null or string"}, "services.bluesky-pds.settings.PDS_BLOB_UPLOAD_LIMIT": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"104857600\""}, "description": "Size limit of uploaded blobs in bytes", "loc": ["services", "bluesky-pds", "settings", "PDS_BLOB_UPLOAD_LIMIT"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_BSKY_APP_VIEW_DID": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"did:web:api.bsky.app\""}, "description": "DID of bsky frontend", "loc": ["services", "bluesky-pds", "settings", "PDS_BSKY_APP_VIEW_DID"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_BSKY_APP_VIEW_URL": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"https://api.bsky.app\""}, "description": "URL of bsky frontend", "loc": ["services", "bluesky-pds", "settings", "PDS_BSKY_APP_VIEW_URL"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_CRAWLERS": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"https://bsky.network\""}, "description": "URL of crawlers", "loc": ["services", "bluesky-pds", "settings", "PDS_CRAWLERS"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_DATA_DIRECTORY": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/pds\""}, "description": "Directory to store state", "loc": ["services", "bluesky-pds", "settings", "PDS_DATA_DIRECTORY"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_DID_PLC_URL": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"https://plc.directory\""}, "description": "URL of DID PLC directory", "loc": ["services", "bluesky-pds", "settings", "PDS_DID_PLC_URL"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_HOSTNAME": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "description": "Instance hostname (base domain name)", "example": {"_type": "literalExpression", "text": "\"pds.example.com\""}, "loc": ["services", "bluesky-pds", "settings", "PDS_HOSTNAME"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_INVITE_REQUIRED": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"true\""}, "description": "Require invite code for registration", "loc": ["services", "bluesky-pds", "settings", "PDS_INVITE_REQUIRED"], "readOnly": false, "type": "null or string"}, "services.bluesky-pds.settings.PDS_PORT": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port to listen on", "loc": ["services", "bluesky-pds", "settings", "PDS_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bluesky-pds.settings.PDS_RATE_LIMITS_ENABLED": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"true\""}, "description": "Enable rate limiting", "loc": ["services", "bluesky-pds", "settings", "PDS_RATE_LIMITS_ENABLED"], "readOnly": false, "type": "null or string"}, "services.bluesky-pds.settings.PDS_REPORT_SERVICE_DID": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"did:plc:ar7c4by46qjdydhdevvrndac\""}, "description": "DID of mod service", "loc": ["services", "bluesky-pds", "settings", "PDS_REPORT_SERVICE_DID"], "readOnly": false, "type": "string"}, "services.bluesky-pds.settings.PDS_REPORT_SERVICE_URL": {"declarations": ["nixos/modules/services/web-apps/bluesky-pds.nix"], "default": {"_type": "literalExpression", "text": "\"https://mod.bsky.app\""}, "description": "URL of mod service", "loc": ["services", "bluesky-pds", "settings", "PDS_REPORT_SERVICE_URL"], "readOnly": false, "type": "string"}, "services.boinc.allowRemoteGuiRpc": {"declarations": ["nixos/modules/services/computing/boinc/client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set to true, any remote host can connect to and control this BOINC\nclient (subject to password authentication). If instead set to false,\nonly the hosts listed in {var}`dataDir`/remote_hosts.cfg will be allowed to\nconnect.\n\nSee also: <https://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely#Remote_access>\n", "loc": ["services", "boinc", "allowRemoteGuiRpc"], "readOnly": false, "type": "boolean"}, "services.boinc.dataDir": {"declarations": ["nixos/modules/services/computing/boinc/client.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/boinc\""}, "description": "The directory in which to store BOINC's configuration and data files.\n", "loc": ["services", "boinc", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.boinc.enable": {"declarations": ["nixos/modules/services/computing/boinc/client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the BOINC distributed computing client. If this\noption is set to true, the boinc_client daemon will be run as a\nbackground service. The boinccmd command can be used to control the\ndaemon.\n", "loc": ["services", "boinc", "enable"], "readOnly": false, "type": "boolean"}, "services.boinc.extraEnvPackages": {"declarations": ["nixos/modules/services/computing/boinc/client.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to make available in the environment in which\nBOINC will run. Common choices are:\n\n- {var}`pkgs.virtualbox`:\n  The VirtualBox virtual machine framework. Required by some BOINC\n  projects, such as ATLAS@home.\n- {var}`pkgs.ocl-icd`:\n  OpenCL infrastructure library. Required by BOINC projects that\n  use OpenCL, in addition to a device-specific OpenCL driver.\n- {var}`pkgs.linuxPackages.nvidia_x11`:\n  Provides CUDA libraries. Required by BOINC projects that use\n  CUDA. Note that this requires an NVIDIA graphics device to be\n  present on the system.\n\n  Also provides OpenCL drivers for NVIDIA GPUs;\n  {var}`pkgs.ocl-icd` is also needed in this case.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.virtualbox ]"}, "loc": ["services", "boinc", "extraEnvPackages"], "readOnly": false, "type": "list of package"}, "services.boinc.package": {"declarations": ["nixos/modules/services/computing/boinc/client.nix"], "default": {"_type": "literalExpression", "text": "pkgs.boinc"}, "description": "The boinc package to use.", "example": {"_type": "literalExpression", "text": "boinc-headless"}, "loc": ["services", "boinc", "package"], "readOnly": false, "type": "package"}, "services.bonsaid.configFile": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "description": "Path to a .json file specifying the state transitions.\nYou don't need to set this unless you prefer to provide the json file\nyourself instead of using the `settings` option.\n", "loc": ["services", "bonsaid", "configFile"], "readOnly": false, "type": "absolute path"}, "services.bonsaid.enable": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bonsaid.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bonsaid", "enable"], "readOnly": false, "type": "boolean"}, "services.bonsaid.extraFlags": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to `bonsaid`, such as `[ \"-v\" ]` to enable verbose logging.\n", "loc": ["services", "bonsaid", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.bonsaid.package": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bonsai"}, "description": "The bonsai package to use.", "loc": ["services", "bonsaid", "package"], "readOnly": false, "type": "package"}, "services.bonsaid.settings": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "description": "State transition definitions. See the upstream [README](https://git.sr.ht/~stacyharper/bonsai)\nfor extended documentation and a more complete example.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    event_name = \"power_button_pressed\";\n    transitions = [\n      {\n        delay_duration = 600000000;\n        transitions = [\n          {\n            command = [\n              \"swaymsg\"\n              \"--\"\n              \"output\"\n              \"*\"\n              \"power\"\n              \"off\"\n            ];\n            transitions = [ ];\n            type = \"exec\";\n          }\n        ];\n        type = \"delay\";\n      }\n      {\n        event_name = \"power_button_released\";\n        transitions = [ ];\n        type = \"event\";\n      }\n    ];\n    type = \"event\";\n  }\n]"}, "loc": ["services", "bonsaid", "settings"], "readOnly": false, "type": "list of (open submodule of (JSON value))"}, "services.bonsaid.settings.*.command": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Command to run when this transition is taken.\nThis is executed inline by `bonsaid` and blocks handling of any other events until completion.\nTo perform the command asynchronously, specify it like `[ \"setsid\" \"-f\" \"my-command\" ]`.\n\nOnly effects transitions with `type = \"exec\"`.\n", "loc": ["services", "bonsaid", "settings", "*", "command"], "readOnly": false, "type": "null or (list of string)"}, "services.bonsaid.settings.*.delay_duration": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Nanoseconds to wait after the previous state change before performing this transition.\nThis can be placed at the same level as a `type = \"event\"` transition to achieve a\ntimeout mechanism.\n\nOnly effects transitions with `type = \"delay\"`.\n", "loc": ["services", "bonsaid", "settings", "*", "delay_duration"], "readOnly": false, "type": "null or signed integer"}, "services.bonsaid.settings.*.event_name": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the event which should trigger this transition when received by `bonsaid`.\nEvents are sent to `bonsaid` by running `bonsaictl -e <event_name>`.\n\nOnly effects transitions with `type = \"event\"`.\n", "loc": ["services", "bonsaid", "settings", "*", "event_name"], "readOnly": false, "type": "null or string"}, "services.bonsaid.settings.*.transitions": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of transitions out of this state.\nIf left empty, then this state is considered a terminal state and entering it will\ntrigger an immediate transition back to the root state (after processing side effects).\n", "loc": ["services", "bonsaid", "settings", "*", "transitions"], "readOnly": false, "type": "list of (open submodule of (JSON value))"}, "services.bonsaid.settings.*.type": {"declarations": ["nixos/modules/services/desktops/bonsaid.nix"], "description": "Type of transition. Determines how bonsaid interprets the other options in this transition.\n", "loc": ["services", "bonsaid", "settings", "*", "type"], "readOnly": false, "type": "one of \"delay\", \"event\", \"exec\""}, "services.bookstack.dataDir": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bookstack\""}, "description": "BookStack data directory", "loc": ["services", "bookstack", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.bookstack.enable": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable BookStack: A platform to create documentation/wiki content built with PHP & Laravel.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bookstack", "enable"], "readOnly": false, "type": "boolean"}, "services.bookstack.group": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"If `services.bookstack.nginx` has any attributes then `nginx` else bookstack\""}, "description": "Group bookstack runs as", "loc": ["services", "bookstack", "group"], "readOnly": false, "type": "string"}, "services.bookstack.hostname": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdnOrHostName"}, "description": "The hostname to serve BookStack on.\n", "example": {"_type": "literalExpression", "text": "\"bookstack.example.com\""}, "loc": ["services", "bookstack", "hostname"], "readOnly": false, "type": "string"}, "services.bookstack.maxUploadSize": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"18M\""}, "description": "The maximum size for uploads (e.g. images).", "example": {"_type": "literalExpression", "text": "\"1G\""}, "loc": ["services", "bookstack", "maxUploadSize"], "readOnly": false, "type": "string"}, "services.bookstack.nginx": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "With this option, you can customize the nginx virtualHost settings.\n", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [\n    \"bookstack.${config.networking.domain}\"\n  ];\n  # To enable encryption and let let's encrypt take care of certificate\n  forceSSL = true;\n  enableACME = true;\n}\n"}, "loc": ["services", "bookstack", "nginx"], "readOnly": false, "type": "null or (submodule)"}, "services.bookstack.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "bookstack", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "bookstack", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "bookstack", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "bookstack", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.bookstack.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "bookstack", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.bookstack.nginx.default": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "bookstack", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "bookstack", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "bookstack", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bookstack.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "bookstack", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "bookstack", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "bookstack", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "bookstack", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "bookstack", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "bookstack", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "bookstack", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.bookstack.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "description": "Listen address.", "loc": ["services", "bookstack", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.bookstack.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "bookstack", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.bookstack.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "bookstack", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bookstack.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "bookstack", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "bookstack", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "bookstack", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.bookstack.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "bookstack", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.bookstack.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.bookstack.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.bookstack.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "bookstack", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.bookstack.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "bookstack", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bookstack.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "bookstack", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.bookstack.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "bookstack", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.bookstack.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "bookstack", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "bookstack", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.bookstack.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.bookstack.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "bookstack", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "bookstack", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "bookstack", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "bookstack", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.bookstack.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "bookstack", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "bookstack", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.bookstack.nginx.root": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "bookstack", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.bookstack.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "bookstack", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.bookstack.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "bookstack", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.bookstack.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "bookstack", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.bookstack.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "bookstack", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.bookstack.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "bookstack", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.bookstack.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "bookstack", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.bookstack.package": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bookstack"}, "description": "The bookstack package to use.", "loc": ["services", "bookstack", "package"], "readOnly": false, "type": "package"}, "services.bookstack.poolConfig": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "''\n  {\n    \"pm\" = \"dynamic\";\n    \"pm.max_children\" = 32;\n    \"pm.start_servers\" = 2;\n    \"pm.min_spare_servers\" = 2;\n    \"pm.max_spare_servers\" = 4;\n    \"pm.max_requests\" = 500;\n  }\n''"}, "description": "Options for the Bookstack PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "bookstack", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.bookstack.settings": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for Bookstack configuration. Refer to\n<https://github.com/BookStackApp/BookStack/blob/development/.env.example> for\ndetails on supported values. For passing secrets, append \"_FILE\" to the\nsetting name. For example, you may create a file `/var/secrets/db_pass.txt`\nand set `services.bookstack.settings.DB_PASSWORD_FILE` to `/var/secrets/db_pass.txt`\ninstead of providing a plaintext password using `services.bookstack.settings.DB_PASSWORD`.\n", "example": {"_type": "literalExpression", "text": "{\n  APP_ENV = \"production\";\n  APP_KEY_FILE = \"/var/secrets/bookstack-app-key.txt\";\n  DB_HOST = \"db\";\n  DB_PORT = 3306;\n  DB_DATABASE = \"bookstack\";\n  DB_USERNAME = \"bookstack\";\n  DB_PASSWORD_FILE = \"/var/secrets/bookstack-mysql-password.txt\";\n}\n"}, "loc": ["services", "bookstack", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean)"}, "services.bookstack.settings.APP_KEY_FILE": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "description": "The path to your appkey.\nThe file should contain a 32 character random app key.\nThis may be set using `echo \"base64:$(head -c 32 /dev/urandom | base64)\" > /path/to/key-file`.\n", "loc": ["services", "bookstack", "settings", "APP_KEY_FILE"], "readOnly": false, "type": "absolute path"}, "services.bookstack.settings.APP_URL": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"http(s)://\\${config.services.bookstack.hostname}\""}, "description": "The root URL that you want to host BookStack on. All URLs in BookStack\nwill be generated using this value. It is used to validate specific\nrequests and to generate URLs in emails.\n", "example": {"_type": "literalExpression", "text": "\"https://example.com\""}, "loc": ["services", "bookstack", "settings", "APP_URL"], "readOnly": false, "type": "string"}, "services.bookstack.settings.DB_HOST": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The IP or hostname which hosts your database.\n", "loc": ["services", "bookstack", "settings", "DB_HOST"], "readOnly": false, "type": "string"}, "services.bookstack.settings.DB_PASSWORD_FILE": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The file containing your mysql/mariadb database password.\n", "example": {"_type": "literalExpression", "text": "\"/var/secrets/bookstack-mysql-pass.txt\""}, "loc": ["services", "bookstack", "settings", "DB_PASSWORD_FILE"], "readOnly": false, "type": "null or absolute path"}, "services.bookstack.settings.DB_PORT": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "The port your database is listening at.\n", "loc": ["services", "bookstack", "settings", "DB_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bookstack.user": {"declarations": ["nixos/modules/services/web-apps/bookstack.nix"], "default": {"_type": "literalExpression", "text": "\"bookstack\""}, "description": "User bookstack runs as", "loc": ["services", "bookstack", "user"], "readOnly": false, "type": "string"}, "services.borgbackup.jobs": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Deduplicating backups using BorgBackup.\nAdding a job will cause a borg-job-NAME wrapper to be added\nto your system path, so that you can perform maintenance easily.\nSee also the chapter about BorgBackup in the NixOS manual.\n", "example": {"_type": "literalExpression", "text": "  { # for a local backup\n    rootBackup = {\n      paths = \"/\";\n      exclude = [ \"/nix\" ];\n      repo = \"/path/to/local/repo\";\n      encryption = {\n        mode = \"repokey\";\n        passphrase = \"secret\";\n      };\n      compression = \"auto,lzma\";\n      startAt = \"weekly\";\n    };\n  }\n  { # Root backing each day up to a remote backup server. We assume that you have\n    #   * created a password less key: ssh-keygen -N \"\" -t ed25519 -f /path/to/ssh_key\n    #     best practices are: use -t ed25519, /path/to = /run/keys\n    #   * the passphrase is in the file /run/keys/borgbackup_passphrase\n    #   * you have initialized the repository manually\n    paths = [ \"/etc\" \"/home\" ];\n    exclude = [ \"/nix\" \"'**/.cache'\" ];\n    doInit = false;\n    repo =  \"user3@arep.repo.borgbase.com:repo\";\n    encryption = {\n      mode = \"repokey-blake2\";\n      passCommand = \"cat /path/to/passphrase\";\n    };\n    environment = { BORG_RSH = \"ssh -i /path/to/ssh_key\"; };\n    compression = \"auto,lzma\";\n    startAt = \"daily\";\n};\n"}, "loc": ["services", "borgbackup", "jobs"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.borgbackup.jobs.<name>.appendFailedSuffix": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Append a `.failed` suffix\nto the archive name, which is only removed if\n{command}`borg create` has a zero exit status.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "appendFailedSuffix"], "readOnly": false, "type": "boolean"}, "services.borgbackup.jobs.<name>.archiveBaseName": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"${config.networking.hostName}-<name>\""}, "description": "How to name the created archives. A timestamp, whose format is\ndetermined by {option}`dateFormat`, will be appended. The full\nname can be modified at runtime (`$archiveName`).\nPlaceholders like `{hostname}` must not be used.\nUse `null` for no base name.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "archiveBaseName"], "readOnly": false, "type": "null or string matching the pattern [^/{}]+"}, "services.borgbackup.jobs.<name>.compression": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"lz4\""}, "description": "Compression method to use. Refer to\n{command}`borg help compression`\nfor all available options.\n", "example": {"_type": "literalExpression", "text": "\"auto,lzma\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "compression"], "readOnly": false, "type": "string matching the pattern none|(auto,)?(lz4|zstd|zlib|lzma)(,[[:digit:]]{1,2})?"}, "services.borgbackup.jobs.<name>.createCommand": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"create\""}, "description": "Borg command to use for archive creation. The default (`create`)\ncreates a regular Borg archive.\n\nUse `import-tar` to instead read a tar archive stream from\n{option}`dumpCommand` output and import its contents into the\nrepository.\n\n`import-tar` can not be used together with {option}`exclude` or\n{option}`patterns`.\n", "example": {"_type": "literalExpression", "text": "\"import-tar\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "createCommand"], "readOnly": false, "type": "one of \"create\", \"import-tar\""}, "services.borgbackup.jobs.<name>.dateFormat": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"+%Y-%m-%dT%H:%M:%S\""}, "description": "Arguments passed to {command}`date`\nto create a timestamp suffix for the archive name.\n", "example": {"_type": "literalExpression", "text": "\"-u +%s\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "dateFormat"], "readOnly": false, "type": "string"}, "services.borgbackup.jobs.<name>.doInit": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Run {command}`borg init` if the\nspecified {option}`repo` does not exist.\nYou should set this to `false`\nif the repository is located on an external drive\nthat might not always be mounted.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "doInit"], "readOnly": false, "type": "boolean"}, "services.borgbackup.jobs.<name>.dumpCommand": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Backup the stdout of this program instead of filesystem paths.\nMutually exclusive with {option}`paths`.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/createZFSsend.sh\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "dumpCommand"], "readOnly": false, "type": "null or absolute path"}, "services.borgbackup.jobs.<name>.encryption.mode": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "description": "Encryption mode to use. Setting a mode\nother than `\"none\"` requires\nyou to specify a {option}`passCommand`\nor a {option}`passphrase`.\n", "example": {"_type": "literalExpression", "text": "\"repokey-blake2\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "encryption", "mode"], "readOnly": false, "type": "one of \"repokey\", \"keyfile\", \"repokey-blake2\", \"keyfile-blake2\", \"authenticated\", \"authenticated-blake2\", \"none\""}, "services.borgbackup.jobs.<name>.encryption.passCommand": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A command which prints the passphrase to stdout.\nMutually exclusive with {option}`passphrase`.\n", "example": {"_type": "literalExpression", "text": "\"cat /path/to/passphrase_file\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "encryption", "passCommand"], "readOnly": false, "type": "null or string"}, "services.borgbackup.jobs.<name>.encryption.passphrase": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The passphrase the backups are encrypted with.\nMutually exclusive with {option}`passCommand`.\nIf you do not want the passphrase to be stored in the\nworld-readable Nix store, use {option}`passCommand`.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "encryption", "passphrase"], "readOnly": false, "type": "null or string"}, "services.borgbackup.jobs.<name>.environment": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables passed to the backup script.\nYou can for example specify which SSH key to use.\n", "example": {"_type": "literalExpression", "text": "{\n  BORG_RSH = \"ssh -i /path/to/key\";\n}"}, "loc": ["services", "borgbackup", "jobs", "<name>", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.borgbackup.jobs.<name>.exclude": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Exclude paths matching any of the given patterns. See\n{command}`borg help patterns` for pattern syntax.\n\nCan not be set when {option}`createCommand` is set to\n`import-tar`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/home/*/.cache\"\n  \"/nix\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "exclude"], "readOnly": false, "type": "list of string"}, "services.borgbackup.jobs.<name>.extraArgs": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments for all {command}`borg` calls the\nservice has. Handle with care.\n\nThese extra arguments also get included in the wrapper\nscript for this job.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--remote-path=/path/to/borg\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "extraArgs"], "readOnly": false, "type": "string or (list of string) convertible to it"}, "services.borgbackup.jobs.<name>.extraCompactArgs": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments for {command}`borg compact`.\nCan also be set at runtime using `$extraCompactArgs`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--cleanup-commits\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "extraCompactArgs"], "readOnly": false, "type": "string or (list of string) convertible to it"}, "services.borgbackup.jobs.<name>.extraCreateArgs": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments for {command}`borg create`.\nCan also be set at runtime using `$extraCreateArgs`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--stats\"\n  \"--checkpoint-interval 600\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "extraCreateArgs"], "readOnly": false, "type": "string or (list of string) convertible to it"}, "services.borgbackup.jobs.<name>.extraInitArgs": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments for {command}`borg init`.\nCan also be set at runtime using `$extraInitArgs`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--append-only\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "extraInitArgs"], "readOnly": false, "type": "string or (list of string) convertible to it"}, "services.borgbackup.jobs.<name>.extraPruneArgs": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments for {command}`borg prune`.\nCan also be set at runtime using `$extraPruneArgs`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--save-space\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "extraPruneArgs"], "readOnly": false, "type": "string or (list of string) convertible to it"}, "services.borgbackup.jobs.<name>.failOnWarnings": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Fail the whole backup job if any borg command returns a warning\n(exit code 1), for example because a file changed during backup.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "failOnWarnings"], "readOnly": false, "type": "boolean"}, "services.borgbackup.jobs.<name>.group": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "The group borg is run as. User or group needs read permission\nfor the specified {option}`paths`.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "group"], "readOnly": false, "type": "string"}, "services.borgbackup.jobs.<name>.inhibitsSleep": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Prevents the system from sleeping while backing up.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "borgbackup", "jobs", "<name>", "inhibitsSleep"], "readOnly": false, "type": "boolean"}, "services.borgbackup.jobs.<name>.paths": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path(s) to back up.\nMutually exclusive with {option}`dumpCommand`.\n", "example": {"_type": "literalExpression", "text": "\"/home/user\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "paths"], "readOnly": false, "type": "null or ((list of string) or string convertible to it)"}, "services.borgbackup.jobs.<name>.patterns": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Include/exclude paths matching the given patterns. The first\nmatching patterns is used, so if an include pattern (prefix `+`)\nmatches before an exclude pattern (prefix `-`), the file is\nbacked up. See [{command}`borg help patterns`](https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-patterns) for pattern syntax.\n\nCan not be set when {option}`createCommand` is set to\n`import-tar`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"+ /home/susan\"\n  \"- /home/*\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "patterns"], "readOnly": false, "type": "list of string"}, "services.borgbackup.jobs.<name>.persistentTimer": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set the `Persistent` option for the\n{manpage}`systemd.timer(5)`\nwhich triggers the backup immediately if the last trigger\nwas missed (e.g. if the system was powered down).\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "borgbackup", "jobs", "<name>", "persistentTimer"], "readOnly": false, "type": "boolean"}, "services.borgbackup.jobs.<name>.postCreate": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to run after {command}`borg create`. The name\nof the created archive is stored in `$archiveName`.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "postCreate"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.borgbackup.jobs.<name>.postHook": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to run just before exit. They are executed\neven if a previous command exits with a non-zero exit code.\nThe latter is available as `$exitStatus`.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "postHook"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.borgbackup.jobs.<name>.postInit": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to run after {command}`borg init`.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "postInit"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.borgbackup.jobs.<name>.postPrune": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to run after {command}`borg prune`.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "postPrune"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.borgbackup.jobs.<name>.preHook": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Shell commands to run before the backup.\nThis can for example be used to mount file systems.\n", "example": {"_type": "literalExpression", "text": "''\n  # To add excluded paths at runtime\n  extraCreateArgs+=(\"--exclude\" \"/some/path\")\n''"}, "loc": ["services", "borgbackup", "jobs", "<name>", "preHook"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.borgbackup.jobs.<name>.privateTmp": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Set the `PrivateTmp` option for\nthe systemd-service. Set to false if you need sockets\nor other files from global /tmp.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "privateTmp"], "readOnly": false, "type": "boolean"}, "services.borgbackup.jobs.<name>.prune.keep": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Prune a repository by deleting all archives not matching any of the\nspecified retention options. See {command}`borg help prune`\nfor the available options.\n", "example": {"_type": "literalExpression", "text": "{\n  within = \"1d\"; # Keep all archives from the last day\n  daily = 7;\n  weekly = 4;\n  monthly = -1;  # Keep at least one archive for each month\n}\n"}, "loc": ["services", "borgbackup", "jobs", "<name>", "prune", "keep"], "readOnly": false, "type": "attribute set of (signed integer or string matching the pattern [[:digit:]]+[Hdwmy])"}, "services.borgbackup.jobs.<name>.prune.prefix": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "archiveBaseName"}, "description": "Only consider archive names starting with this prefix for pruning.\nBy default, only archives created by this job are considered.\nUse `\"\"` or `null` to consider all archives.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "prune", "prefix"], "readOnly": false, "type": "null or string"}, "services.borgbackup.jobs.<name>.readWritePaths": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "By default, borg cannot write anywhere on the system but\n`$HOME/.config/borg` and `$HOME/.cache/borg`.\nIf, for example, your preHook script needs to dump files\nsomewhere, put those directories here.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/var/backup/mysqldump\"\n]"}, "loc": ["services", "borgbackup", "jobs", "<name>", "readWritePaths"], "readOnly": false, "type": "list of absolute path"}, "services.borgbackup.jobs.<name>.removableDevice": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the repo (which must be local) is a removable device.", "loc": ["services", "borgbackup", "jobs", "<name>", "removableDevice"], "readOnly": false, "type": "boolean"}, "services.borgbackup.jobs.<name>.repo": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "description": "Remote or local repository to back up to.", "example": {"_type": "literalExpression", "text": "\"user@machine:/path/to/repo\""}, "loc": ["services", "borgbackup", "jobs", "<name>", "repo"], "readOnly": false, "type": "string"}, "services.borgbackup.jobs.<name>.startAt": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "When or how often the backup should run.\nMust be in the format described in\n{manpage}`systemd.time(7)`.\nIf you do not want the backup to start\nautomatically, use `[ ]`.\nIt will generate a systemd service borgbackup-job-NAME.\nYou may trigger it manually via systemctl restart borgbackup-job-NAME.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "startAt"], "readOnly": false, "type": "string or list of string"}, "services.borgbackup.jobs.<name>.user": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "The user {command}`borg` is run as.\nUser or group need read permission\nfor the specified {option}`paths`.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "user"], "readOnly": false, "type": "string"}, "services.borgbackup.jobs.<name>.wrapper": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"borg-job-<name>\""}, "description": "Name of the wrapper that is installed into {env}`PATH`.\nSet to `null` or `\"\"` to disable it altogether.\n", "loc": ["services", "borgbackup", "jobs", "<name>", "wrapper"], "readOnly": false, "type": "null or string"}, "services.borgbackup.package": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "pkgs.borgbackup"}, "description": "The borgbackup package to use.", "loc": ["services", "borgbackup", "package"], "readOnly": false, "type": "package"}, "services.borgbackup.repos": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Serve BorgBackup repositories to given public SSH keys,\nrestricting their access to the repository only.\nSee also the chapter about BorgBackup in the NixOS manual.\nAlso, clients do not need to specify the absolute path when accessing the repository,\ni.e. `user@machine:.` is enough. (Note colon and dot.)\n", "loc": ["services", "borgbackup", "repos"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.borgbackup.repos.<name>.allowSubRepos": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow clients to create repositories in subdirectories of the\nspecified {option}`path`. These can be accessed using\n`user@machine:path/to/subrepo`. Note that a\n{option}`quota` applies to repositories independently.\nTherefore, if this is enabled, clients can create multiple\nrepositories and upload an arbitrary amount of data.\n", "loc": ["services", "borgbackup", "repos", "<name>", "allowSubRepos"], "readOnly": false, "type": "boolean"}, "services.borgbackup.repos.<name>.authorizedKeys": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Public SSH keys that are given full write access to this repository.\nYou should use a different SSH key for each repository you write to, because\nthe specified keys are restricted to running {command}`borg serve`\nand can only access this single repository.\n", "loc": ["services", "borgbackup", "repos", "<name>", "authorizedKeys"], "readOnly": false, "type": "list of string"}, "services.borgbackup.repos.<name>.authorizedKeysAppendOnly": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Public SSH keys that can only be used to append new data (archives) to the repository.\nNote that archives can still be marked as deleted and are subsequently removed from disk\nupon accessing the repo with full write access, e.g. when pruning.\n", "loc": ["services", "borgbackup", "repos", "<name>", "authorizedKeysAppendOnly"], "readOnly": false, "type": "list of string"}, "services.borgbackup.repos.<name>.group": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"borg\""}, "description": "The group {command}`borg serve` is run as.\nUser or group needs write permission\nfor the specified {option}`path`.\n", "loc": ["services", "borgbackup", "repos", "<name>", "group"], "readOnly": false, "type": "string"}, "services.borgbackup.repos.<name>.path": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/borgbackup\""}, "description": "Where to store the backups. Note that the directory\nis created automatically, with correct permissions.\n", "loc": ["services", "borgbackup", "repos", "<name>", "path"], "readOnly": false, "type": "absolute path"}, "services.borgbackup.repos.<name>.quota": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Storage quota for the repository. This quota is ensured for all\nsub-repositories if {option}`allowSubRepos` is enabled\nbut not for the overall storage space used.\n", "example": {"_type": "literalExpression", "text": "\"100G\""}, "loc": ["services", "borgbackup", "repos", "<name>", "quota"], "readOnly": false, "type": "null or string matching the pattern [[:digit:].]+[KMGTP]?"}, "services.borgbackup.repos.<name>.user": {"declarations": ["nixos/modules/services/backup/borgbackup.nix"], "default": {"_type": "literalExpression", "text": "\"borg\""}, "description": "The user {command}`borg serve` is run as.\nUser or group needs write permission\nfor the specified {option}`path`.\n", "loc": ["services", "borgbackup", "repos", "<name>", "user"], "readOnly": false, "type": "string"}, "services.borgmatic.configurations": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of borgmatic configurations, see <https://torsion.org/borgmatic/docs/reference/configuration/>\n", "loc": ["services", "borgmatic", "configurations"], "readOnly": false, "type": "attribute set of (open submodule of (YAML 1.1 value))"}, "services.borgmatic.configurations.<name>.repositories": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A required list of local or remote repositories with paths and\noptional labels (which can be used with the --repository flag to\nselect a repository). Tildes are expanded. Multiple repositories are\nbacked up to in sequence. Borg placeholders can be used. See the\noutput of \"borg help placeholders\" for details. See ssh_command for\nSSH options like identity file or port. If systemd service is used,\nthen add local repository paths in the systemd service file to the\nReadWritePaths list.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    label = \"backupserver\";\n    path = \"ssh://user@backupserver/./sourcehostname.borg\";\n  }\n  {\n    label = \"local\";\n    path = \"/mnt/backup\";\n  }\n]"}, "loc": ["services", "borgmatic", "configurations", "<name>", "repositories"], "readOnly": false, "type": "list of (submodule)"}, "services.borgmatic.configurations.<name>.repositories.*.label": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "description": "Label to the repository\n", "loc": ["services", "borgmatic", "configurations", "<name>", "repositories", "*", "label"], "readOnly": false, "type": "string"}, "services.borgmatic.configurations.<name>.repositories.*.path": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "description": "Path to the repository\n", "loc": ["services", "borgmatic", "configurations", "<name>", "repositories", "*", "path"], "readOnly": false, "type": "string"}, "services.borgmatic.configurations.<name>.source_directories": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of source directories and files to backup. Globs and tildes are\nexpanded. Do not backslash spaces in path names.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/home\"\n  \"/etc\"\n  \"/var/log/syslog*\"\n  \"/home/user/path with spaces\"\n]"}, "loc": ["services", "borgmatic", "configurations", "<name>", "source_directories"], "readOnly": false, "type": "list of string"}, "services.borgmatic.enable": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable borgmatic.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "borgmatic", "enable"], "readOnly": false, "type": "boolean"}, "services.borgmatic.enableConfigCheck": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable checking all configurations during build time.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "borgmatic", "enableConfigCheck"], "readOnly": false, "type": "boolean"}, "services.borgmatic.settings": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "See <https://torsion.org/borgmatic/docs/reference/configuration/>\n", "loc": ["services", "borgmatic", "settings"], "readOnly": false, "type": "null or (open submodule of (YAML 1.1 value))"}, "services.borgmatic.settings.repositories": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A required list of local or remote repositories with paths and\noptional labels (which can be used with the --repository flag to\nselect a repository). Tildes are expanded. Multiple repositories are\nbacked up to in sequence. Borg placeholders can be used. See the\noutput of \"borg help placeholders\" for details. See ssh_command for\nSSH options like identity file or port. If systemd service is used,\nthen add local repository paths in the systemd service file to the\nReadWritePaths list.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    label = \"backupserver\";\n    path = \"ssh://user@backupserver/./sourcehostname.borg\";\n  }\n  {\n    label = \"local\";\n    path = \"/mnt/backup\";\n  }\n]"}, "loc": ["services", "borgmatic", "settings", "repositories"], "readOnly": false, "type": "list of (submodule)"}, "services.borgmatic.settings.repositories.*.label": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "description": "Label to the repository\n", "loc": ["services", "borgmatic", "settings", "repositories", "*", "label"], "readOnly": false, "type": "string"}, "services.borgmatic.settings.repositories.*.path": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "description": "Path to the repository\n", "loc": ["services", "borgmatic", "settings", "repositories", "*", "path"], "readOnly": false, "type": "string"}, "services.borgmatic.settings.source_directories": {"declarations": ["nixos/modules/services/backup/borgmatic.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of source directories and files to backup. Globs and tildes are\nexpanded. Do not backslash spaces in path names.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/home\"\n  \"/etc\"\n  \"/var/log/syslog*\"\n  \"/home/user/path with spaces\"\n]"}, "loc": ["services", "borgmatic", "settings", "source_directories"], "readOnly": false, "type": "list of string"}, "services.bosun.checkFrequency": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\"5m\""}, "description": "Bosun's check frequency\n", "loc": ["services", "bosun", "checkFrequency"], "readOnly": false, "type": "string"}, "services.bosun.enable": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bosun.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bosun", "enable"], "readOnly": false, "type": "boolean"}, "services.bosun.extraConfig": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration options for Bosun. You should describe your\ndesired templates, alerts, macros, etc through this configuration\noption.\n\nA detailed description of the supported syntax can be found at-spi2-atk\n<https://bosun.org/configuration.html>\n", "loc": ["services", "bosun", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.bosun.group": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\"bosun\""}, "description": "Group account under which bosun runs.\n", "loc": ["services", "bosun", "group"], "readOnly": false, "type": "string"}, "services.bosun.influxHost": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host and port of the influxdb database.\n", "example": {"_type": "literalExpression", "text": "\"localhost:8086\""}, "loc": ["services", "bosun", "influxHost"], "readOnly": false, "type": "null or string"}, "services.bosun.ledisDir": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bosun/ledis_data\""}, "description": "Path to bosun's ledis data dir\n", "loc": ["services", "bosun", "ledisDir"], "readOnly": false, "type": "absolute path"}, "services.bosun.listenAddress": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\":8070\""}, "description": "The host address and port that bosun's web interface will listen on.\n", "loc": ["services", "bosun", "listenAddress"], "readOnly": false, "type": "string"}, "services.bosun.opentsdbHost": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:4242\""}, "description": "Host and port of the OpenTSDB database that stores bosun data.\nTo disable opentsdb you can pass null as parameter.\n", "loc": ["services", "bosun", "opentsdbHost"], "readOnly": false, "type": "null or string"}, "services.bosun.package": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bosun"}, "description": "The bosun package to use.", "loc": ["services", "bosun", "package"], "readOnly": false, "type": "package"}, "services.bosun.stateFile": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/bosun/bosun.state\""}, "description": "Path to bosun's state file.\n", "loc": ["services", "bosun", "stateFile"], "readOnly": false, "type": "absolute path"}, "services.bosun.user": {"declarations": ["nixos/modules/services/monitoring/bosun.nix"], "default": {"_type": "literalExpression", "text": "\"bosun\""}, "description": "User account under which bosun runs.\n", "loc": ["services", "bosun", "user"], "readOnly": false, "type": "string"}, "services.botamusique.enable": {"declarations": ["nixos/modules/services/audio/botamusique.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable botamusique, a bot to play audio streams on mumble.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "botamusique", "enable"], "readOnly": false, "type": "boolean"}, "services.botamusique.package": {"declarations": ["nixos/modules/services/audio/botamusique.nix"], "default": {"_type": "literalExpression", "text": "pkgs.botamusique"}, "description": "The botamusique package to use.", "loc": ["services", "botamusique", "package"], "readOnly": false, "type": "package"}, "services.botamusique.settings": {"declarations": ["nixos/modules/services/audio/botamusique.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Your {file}`configuration.ini` as a Nix attribute set. Look up\npossible options in the [configuration.example.ini](https://github.com/azlux/botamusique/blob/master/configuration.example.ini).\n", "loc": ["services", "botamusique", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.botamusique.settings.bot.comment": {"declarations": ["nixos/modules/services/audio/botamusique.nix"], "default": {"_type": "literalExpression", "text": "\"Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun!\""}, "description": "Comment displayed for the bot.", "loc": ["services", "botamusique", "settings", "bot", "comment"], "readOnly": false, "type": "string"}, "services.botamusique.settings.bot.username": {"declarations": ["nixos/modules/services/audio/botamusique.nix"], "default": {"_type": "literalExpression", "text": "\"botamusique\""}, "description": "Name the bot should appear with.", "loc": ["services", "botamusique", "settings", "bot", "username"], "readOnly": false, "type": "string"}, "services.botamusique.settings.server.host": {"declarations": ["nixos/modules/services/audio/botamusique.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Hostname of the mumble server to connect to.", "example": {"_type": "literalExpression", "text": "\"mumble.example.com\""}, "loc": ["services", "botamusique", "settings", "server", "host"], "readOnly": false, "type": "string"}, "services.botamusique.settings.server.port": {"declarations": ["nixos/modules/services/audio/botamusique.nix"], "default": {"_type": "literalExpression", "text": "64738"}, "description": "Port of the mumble server to connect to.", "loc": ["services", "botamusique", "settings", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.bpftune.enable": {"declarations": ["nixos/modules/services/system/bpftune.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bpftune BPF driven auto-tuning.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "bpftune", "enable"], "readOnly": false, "type": "boolean"}, "services.bpftune.package": {"declarations": ["nixos/modules/services/system/bpftune.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bpftune"}, "description": "The bpftune package to use.", "loc": ["services", "bpftune", "package"], "readOnly": false, "type": "package"}, "services.brltty.enable": {"declarations": ["nixos/modules/services/hardware/brltty.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the BRLTTY daemon.", "loc": ["services", "brltty", "enable"], "readOnly": false, "type": "boolean"}, "services.broadcast-box.enable": {"declarations": ["nixos/modules/services/video/broadcast-box.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Broadcast Box.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "broadcast-box", "enable"], "readOnly": false, "type": "boolean"}, "services.broadcast-box.openFirewall": {"declarations": ["nixos/modules/services/video/broadcast-box.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening WebRTC traffic ports in the firewall. Randomly selected ports\nwill not be opened.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "broadcast-box", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.broadcast-box.package": {"declarations": ["nixos/modules/services/video/broadcast-box.nix"], "default": {"_type": "literalExpression", "text": "pkgs.broadcast-box"}, "description": "The broadcast-box package to use.", "loc": ["services", "broadcast-box", "package"], "readOnly": false, "type": "package"}, "services.broadcast-box.settings": {"declarations": ["nixos/modules/services/video/broadcast-box.nix"], "default": {"_type": "literalExpression", "text": "{\n  DISABLE_STATUS = true;\n}"}, "description": "Attribute set of environment variables.\n\n<https://github.com/Glimesh/broadcast-box#environment-variables>\n\n:::{.warning}\nThe status API exposes stream keys so {env}`DISABLE_STATUS` is enabled\nby default.\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  DISABLE_STATUS = true;\n  INCLUDE_PUBLIC_IP_IN_NAT_1_TO_1_IP = true;\n  UDP_MUX_PORT = 3000;\n}"}, "loc": ["services", "broadcast-box", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or boolean or signed integer or string)"}, "services.broadcast-box.web.host": {"declarations": ["nixos/modules/services/video/broadcast-box.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Host address the HTTP server listens on. By default the server\nlistens on all interfaces.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "broadcast-box", "web", "host"], "readOnly": false, "type": "string"}, "services.broadcast-box.web.openFirewall": {"declarations": ["nixos/modules/services/video/broadcast-box.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening the HTTP server port and, if enabled, the HTTPS redirect server\nport in the firewall.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "broadcast-box", "web", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.broadcast-box.web.port": {"declarations": ["nixos/modules/services/video/broadcast-box.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port the HTTP server listens on.\n", "loc": ["services", "broadcast-box", "web", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.btrbk.extraPackages": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages for btrbk, like compression utilities for `stream_compress`.\n\n**Note**: This option will get deprecated in future releases.\nRequired compression programs will get automatically provided to btrbk\ndepending on configured compression method in\n`services.btrbk.instances.<name>.settings` option.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.xz ]"}, "loc": ["services", "btrbk", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.btrbk.instances": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of btrbk instances. The instance named `btrbk` is the default one.", "loc": ["services", "btrbk", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.btrbk.instances.<name>.onCalendar": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "How often this btrbk instance is started. See {manpage}`systemd.time(7)` for more information about the format.\nSetting it to null disables the timer, thus this instance can only be started manually.\n", "loc": ["services", "btrbk", "instances", "<name>", "onCalendar"], "readOnly": false, "type": "null or string"}, "services.btrbk.instances.<name>.settings": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "configuration options for btrbk. Nested attrsets translate to subsections.", "example": {"_type": "literalExpression", "text": "{\n  snapshot_preserve = \"14d\";\n  snapshot_preserve_min = \"2d\";\n  volume = {\n    \"/mnt/btr_pool\" = {\n      subvolume = {\n        home = {\n          snapshot_create = \"always\";\n        };\n        rootfs = { };\n      };\n      target = \"/mnt/btr_backup/mylaptop\";\n    };\n  };\n}"}, "loc": ["services", "btrbk", "instances", "<name>", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or instances of this type recursively)"}, "services.btrbk.instances.<name>.settings.stream_compress": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "\"no\""}, "description": "Compress the btrfs send stream before transferring it from/to remote locations using a\ncompression command.\n", "loc": ["services", "btrbk", "instances", "<name>", "settings", "stream_compress"], "readOnly": false, "type": "one of \"gzip\", \"pigz\", \"bzip2\", \"pbzip2\", \"bzip3\", \"xz\", \"lzo\", \"lz4\", \"zstd\", \"no\""}, "services.btrbk.instances.<name>.snapshotOnly": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run in snapshot only mode. This skips backup creation and deletion steps.\nUseful when you want to manually backup to an external drive that might not always be connected.\nUse `btrbk -c /path/to/conf resume` to trigger manual backups.\nMore examples [here](https://github.com/digint/btrbk#example-backups-to-usb-disk).\nSee also `snapshot` subcommand in {manpage}`btrbk(1)`.\n", "loc": ["services", "btrbk", "instances", "<name>", "snapshotOnly"], "readOnly": false, "type": "boolean"}, "services.btrbk.ioSchedulingClass": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "\"best-effort\""}, "description": "IO scheduling class for btrbk (see {manpage}`ionice(1)` for a quick description). Applies to local instances, and remote ones connecting by ssh if set to idle.", "loc": ["services", "btrbk", "ioSchedulingClass"], "readOnly": false, "type": "one of \"idle\", \"best-effort\", \"realtime\""}, "services.btrbk.niceness": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Niceness for local instances of btrbk. Also applies to remote ones connecting via ssh when positive.", "loc": ["services", "btrbk", "niceness"], "readOnly": false, "type": "integer between -20 and 19 (both inclusive)"}, "services.btrbk.sshAccess": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "SSH keys that should be able to make or push snapshots on this system remotely with btrbk", "loc": ["services", "btrbk", "sshAccess"], "readOnly": false, "type": "list of (submodule)"}, "services.btrbk.sshAccess.*.extraArgs": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments to pass to ssh_filter_btrbk", "example": {"_type": "literalExpression", "text": "[\n  \"--log\"\n  \"--restrict-path <path>\"\n]"}, "loc": ["services", "btrbk", "sshAccess", "*", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.btrbk.sshAccess.*.key": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "description": "SSH public key allowed to login as user `btrbk` to run remote backups.", "loc": ["services", "btrbk", "sshAccess", "*", "key"], "readOnly": false, "type": "string"}, "services.btrbk.sshAccess.*.roles": {"declarations": ["nixos/modules/services/backup/btrbk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "What actions can be performed with this SSH key. See ssh_filter_btrbk(1) for details", "example": {"_type": "literalExpression", "text": "[\n  \"source\"\n  \"info\"\n  \"send\"\n]"}, "loc": ["services", "btrbk", "sshAccess", "*", "roles"], "readOnly": false, "type": "list of (one of \"info\", \"source\", \"target\", \"delete\", \"snapshot\", \"send\", \"receive\")"}, "services.btrfs.autoScrub.enable": {"declarations": ["nixos/modules/tasks/filesystems/btrfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable regular btrfs scrub.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "btrfs", "autoScrub", "enable"], "readOnly": false, "type": "boolean"}, "services.btrfs.autoScrub.fileSystems": {"declarations": ["nixos/modules/tasks/filesystems/btrfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of paths to btrfs filesystems to regularly call {command}`btrfs scrub` on.\nDefaults to all mount points with btrfs filesystems.\nNote that if you have filesystems that span multiple devices (e.g. RAID), you should\ntake care to use the same device for any given mount point and let btrfs take care\nof automatically mounting the rest, in order to avoid scrubbing the same data multiple times.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/\"\n]"}, "loc": ["services", "btrfs", "autoScrub", "fileSystems"], "readOnly": false, "type": "list of absolute path"}, "services.btrfs.autoScrub.interval": {"declarations": ["nixos/modules/tasks/filesystems/btrfs.nix"], "default": {"_type": "literalExpression", "text": "\"monthly\""}, "description": "Systemd calendar expression for when to scrub btrfs filesystems.\nThe recommended period is a month but could be less\n({manpage}`btrfs-scrub(8)`).\nSee\n{manpage}`systemd.time(7)`\nfor more information on the syntax.\n", "example": {"_type": "literalExpression", "text": "\"weekly\""}, "loc": ["services", "btrfs", "autoScrub", "interval"], "readOnly": false, "type": "string"}, "services.btrfs.autoScrub.limit": {"declarations": ["nixos/modules/tasks/filesystems/btrfs.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The scrub throughput limit applied on all scrubbed filesystems.\nThe value is bytes per second, and accepts the usual KMGT prefixes.\n", "example": {"_type": "literalExpression", "text": "\"100M\""}, "loc": ["services", "btrfs", "autoScrub", "limit"], "readOnly": false, "type": "null or string matching the pattern [0-9]+[KMGT]?"}, "services.buffyboard.configFile": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "ini.generate \"buffyboard.conf\" cfg.settings"}, "description": "Path to an INI format configuration file to provide Buffyboard.\nBy default, this is generated from whatever you've set in `settings`.\nIf specified manually, then `settings` is ignored.\n\nFor an example config file see [here](https://gitlab.postmarketos.org/postmarketOS/buffybox/-/blob/master/buffyboard/buffyboard.conf)\n", "loc": ["services", "buffyboard", "configFile"], "readOnly": false, "type": "absolute path"}, "services.buffyboard.enable": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable buffyboard framebuffer keyboard (on-screen keyboard).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "buffyboard", "enable"], "readOnly": false, "type": "boolean"}, "services.buffyboard.extraFlags": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra CLI arguments to pass to buffyboard.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--geometry=1920x1080@640,0\"\n  \"--dpi=192\"\n  \"--rotate=2\"\n  \"--verbose\"\n]"}, "loc": ["services", "buffyboard", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.buffyboard.package": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "pkgs.buffybox"}, "description": "The buffybox package to use.", "loc": ["services", "buffyboard", "package"], "readOnly": false, "type": "package"}, "services.buffyboard.settings": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings to include in /etc/buffyboard.conf.\nEvery option here is strictly optional:\nBuffyboard will use its own baked-in defaults for those options left unset.\n", "loc": ["services", "buffyboard", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.buffyboard.settings.input.pointer": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable or disable the use of a hardware mouse or other pointing device.\n", "loc": ["services", "buffyboard", "settings", "input", "pointer"], "readOnly": false, "type": "null or boolean"}, "services.buffyboard.settings.input.touchscreen": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable or disable the use of the touchscreen.\n", "loc": ["services", "buffyboard", "settings", "input", "touchscreen"], "readOnly": false, "type": "null or boolean"}, "services.buffyboard.settings.keyboard.haptic_feedback": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable or disable vibrations when pressing keys.\n", "loc": ["services", "buffyboard", "settings", "keyboard", "haptic_feedback"], "readOnly": false, "type": "null or boolean"}, "services.buffyboard.settings.keyboard.sticky_shift": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Changes shift key behavior. When true, the keyboard remains in uppercase mode until\nthe shift key is pressed again (sticky). When false, the keyboard switches back to\nlowercase mode and the shift key deactivates after a non-modifier key is pressed.\n", "loc": ["services", "buffyboard", "settings", "keyboard", "sticky_shift"], "readOnly": false, "type": "null or boolean"}, "services.buffyboard.settings.quirks.fbdev_force_refresh": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If true and using the framebuffer backend, this triggers a display refresh after every draw operation.\nThis has a negative performance impact.\n", "loc": ["services", "buffyboard", "settings", "quirks", "fbdev_force_refresh"], "readOnly": false, "type": "null or boolean"}, "services.buffyboard.settings.quirks.ignore_unused_terminals": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If true, buffyboard won't automatically update the layout of a new terminal and\ndraw the keyboard, if the terminal is not opened by any process. In this case\nSIGUSR1 should be sent to buffyboard to update the layout. This quirk was introduced\nto resolve a race between buffyboard and systemd-logind according to the following scenario:\n- A user switches to a new virtual terminal\n- Buffyboard opens the terminal and changes the number of rows\n- systemd-logind sees that the terminal is opened by some other process and don't start getty@.service\n\nThe race is resolved by enabling this option and installing a drop-in file\nfor getty@.service that sends SIGUSR1 to buffyboard.\n", "loc": ["services", "buffyboard", "settings", "quirks", "ignore_unused_terminals"], "readOnly": false, "type": "null or boolean"}, "services.buffyboard.settings.theme.default": {"declarations": ["nixos/modules/services/hardware/buffyboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Selects the default theme on boot. Can be changed at runtime to the alternative theme.\n", "loc": ["services", "buffyboard", "settings", "theme", "default"], "readOnly": false, "type": "string or one of <null>, \"adwaita-dark\", \"breezy-dark\", \"breezy-light\", \"nord-dark\", \"nord-light\", \"pmos-dark\", \"pmos-light\""}, "services.buildbot-master.buildbotDir": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.buildbot-master.home}/master\""}, "description": "Specifies the Buildbot directory.", "loc": ["services", "buildbot-master", "buildbotDir"], "readOnly": false, "type": "absolute path"}, "services.buildbot-master.buildbotUrl": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost:8010/\""}, "description": "Specifies the Buildbot URL.", "loc": ["services", "buildbot-master", "buildbotUrl"], "readOnly": false, "type": "string"}, "services.buildbot-master.builders": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"util.BuilderConfig(name='runtests',workernames=['example-worker'],factory=factory)\"\n]"}, "description": "List of Builders.", "loc": ["services", "buildbot-master", "builders"], "readOnly": false, "type": "list of string"}, "services.buildbot-master.changeSource": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of Change Sources.", "example": {"_type": "literalExpression", "text": "[\n  \"changes.GitPoller('https://github.com/buildbot/pyflakes.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)\"\n]"}, "loc": ["services", "buildbot-master", "changeSource"], "readOnly": false, "type": "list of string"}, "services.buildbot-master.configurators": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Configurator Steps, see <https://docs.buildbot.net/latest/manual/configuration/configurators.html>", "example": {"_type": "literalExpression", "text": "[\n  \"util.JanitorConfigurator(logHorizon=timedelta(weeks=4), hour=12, dayOfWeek=6)\"\n]"}, "loc": ["services", "buildbot-master", "configurators"], "readOnly": false, "type": "list of string"}, "services.buildbot-master.dbUrl": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite:///state.sqlite\""}, "description": "Specifies the database connection string.", "loc": ["services", "buildbot-master", "dbUrl"], "readOnly": false, "type": "string"}, "services.buildbot-master.enable": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Buildbot continuous integration server.", "loc": ["services", "buildbot-master", "enable"], "readOnly": false, "type": "boolean"}, "services.buildbot-master.extraConfig": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"c['buildbotNetUsageData'] = None\""}, "description": "Extra configuration to append to master.cfg", "loc": ["services", "buildbot-master", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.buildbot-master.extraGroups": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra groups that the buildbot user should be a part of.", "loc": ["services", "buildbot-master", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.buildbot-master.extraImports": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra python imports to prepend to master.cfg", "example": {"_type": "literalExpression", "text": "\"from buildbot.process.project import Project\""}, "loc": ["services", "buildbot-master", "extraImports"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.buildbot-master.factorySteps": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Factory Steps", "example": {"_type": "literalExpression", "text": "[\n  \"steps.Git(repourl='https://github.com/buildbot/pyflakes.git', mode='incremental')\"\n  \"steps.ShellCommand(command=['trial', 'pyflakes'])\"\n]"}, "loc": ["services", "buildbot-master", "factorySteps"], "readOnly": false, "type": "list of string"}, "services.buildbot-master.group": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"buildbot\""}, "description": "Primary group of buildbot user.", "loc": ["services", "buildbot-master", "group"], "readOnly": false, "type": "string"}, "services.buildbot-master.home": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"/home/buildbot\""}, "description": "Buildbot home directory.", "loc": ["services", "buildbot-master", "home"], "readOnly": false, "type": "absolute path"}, "services.buildbot-master.listenAddress": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Specifies the bind address on which the buildbot HTTP interface listens.", "loc": ["services", "buildbot-master", "listenAddress"], "readOnly": false, "type": "string"}, "services.buildbot-master.masterCfg": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalMD", "text": "generated configuration file"}, "description": "Optionally pass master.cfg path. Other options in this configuration will be ignored.", "example": {"_type": "literalExpression", "text": "\"/etc/nixos/buildbot/master.cfg\""}, "loc": ["services", "buildbot-master", "masterCfg"], "readOnly": false, "type": "absolute path"}, "services.buildbot-master.package": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "pkgs.buildbot-full"}, "description": "The buildbot-full package to use.", "example": {"_type": "literalExpression", "text": "buildbot"}, "loc": ["services", "buildbot-master", "package"], "readOnly": false, "type": "package"}, "services.buildbot-master.packages": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.git ]"}, "description": "Packages to add to PATH for the buildbot process.", "loc": ["services", "buildbot-master", "packages"], "readOnly": false, "type": "list of package"}, "services.buildbot-master.pbPort": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "9989"}, "description": "The buildmaster will listen on a TCP port of your choosing\nfor connections from workers.\nIt can also use this port for connections from remote Change Sources,\nstatus clients, and debug tools.\nThis port should be visible to the outside world, and you\u2019ll need to tell\nyour worker admins about your choice.\nIf put in (single) quotes, this can also be used as a connection string,\nas defined in the [ConnectionStrings guide](https://twistedmatrix.com/documents/current/core/howto/endpoints.html).\n", "example": {"_type": "literalExpression", "text": "\"'tcp:9990:interface=127.0.0.1'\""}, "loc": ["services", "buildbot-master", "pbPort"], "readOnly": false, "type": "string or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.buildbot-master.port": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "8010"}, "description": "Specifies port number on which the buildbot HTTP interface listens.", "loc": ["services", "buildbot-master", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.buildbot-master.pythonPackages": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "pythonPackages: with pythonPackages; [ ]"}, "description": "Packages to add the to the PYTHONPATH of the buildbot process.", "example": {"_type": "literalExpression", "text": "pythonPackages: with pythonPackages; [ requests ]"}, "loc": ["services", "buildbot-master", "pythonPackages"], "readOnly": false, "type": "function that evaluates to a(n) list of package"}, "services.buildbot-master.reporters": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of reporter objects used to present build status to various users.", "loc": ["services", "buildbot-master", "reporters"], "readOnly": false, "type": "list of string"}, "services.buildbot-master.schedulers": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"schedulers.SingleBranchScheduler(name='all', change_filter=util.ChangeFilter(branch='master'), treeStableTimer=None, builderNames=['runtests'])\"\n  \"schedulers.ForceScheduler(name='force',builderNames=['runtests'])\"\n]"}, "description": "List of Schedulers.", "loc": ["services", "buildbot-master", "schedulers"], "readOnly": false, "type": "list of string"}, "services.buildbot-master.title": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"Buildbot\""}, "description": "Specifies the Buildbot Title.", "loc": ["services", "buildbot-master", "title"], "readOnly": false, "type": "string"}, "services.buildbot-master.titleUrl": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"Buildbot\""}, "description": "Specifies the Buildbot TitleURL.", "loc": ["services", "buildbot-master", "titleUrl"], "readOnly": false, "type": "string"}, "services.buildbot-master.user": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "\"buildbot\""}, "description": "User the buildbot server should execute under.", "loc": ["services", "buildbot-master", "user"], "readOnly": false, "type": "string"}, "services.buildbot-master.workers": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/master.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"worker.Worker('example-worker', 'pass')\"\n]"}, "description": "List of Workers.", "loc": ["services", "buildbot-master", "workers"], "readOnly": false, "type": "list of string"}, "services.buildbot-worker.adminMessage": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the administrator of this worker", "loc": ["services", "buildbot-worker", "adminMessage"], "readOnly": false, "type": "null or string"}, "services.buildbot-worker.buildbotDir": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.buildbot-worker.home}/worker\""}, "description": "Specifies the Buildbot directory.", "loc": ["services", "buildbot-worker", "buildbotDir"], "readOnly": false, "type": "absolute path"}, "services.buildbot-worker.enable": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Buildbot Worker.", "loc": ["services", "buildbot-worker", "enable"], "readOnly": false, "type": "boolean"}, "services.buildbot-worker.extraGroups": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra groups that the Buildbot Worker user should be a part of.", "loc": ["services", "buildbot-worker", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.buildbot-worker.group": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "\"bbworker\""}, "description": "Primary group of buildbot Worker user.", "loc": ["services", "buildbot-worker", "group"], "readOnly": false, "type": "string"}, "services.buildbot-worker.home": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "\"/home/bbworker\""}, "description": "Buildbot home directory.", "loc": ["services", "buildbot-worker", "home"], "readOnly": false, "type": "absolute path"}, "services.buildbot-worker.hostMessage": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Description of this worker", "loc": ["services", "buildbot-worker", "hostMessage"], "readOnly": false, "type": "null or string"}, "services.buildbot-worker.keepalive": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "600"}, "description": "This is a number that indicates how frequently keepalive messages should be sent\nfrom the worker to the buildmaster, expressed in seconds.\n", "loc": ["services", "buildbot-worker", "keepalive"], "readOnly": false, "type": "signed integer"}, "services.buildbot-worker.masterUrl": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:9989\""}, "description": "Specifies the Buildbot Worker connection string.", "loc": ["services", "buildbot-worker", "masterUrl"], "readOnly": false, "type": "string"}, "services.buildbot-worker.package": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "pkgs.buildbot-worker"}, "description": "The buildbot-worker package to use.", "loc": ["services", "buildbot-worker", "package"], "readOnly": false, "type": "package"}, "services.buildbot-worker.packages": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.git ]"}, "description": "Packages to add to PATH for the buildbot process.", "loc": ["services", "buildbot-worker", "packages"], "readOnly": false, "type": "list of package"}, "services.buildbot-worker.user": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "\"bbworker\""}, "description": "User the buildbot Worker should execute under.", "loc": ["services", "buildbot-worker", "user"], "readOnly": false, "type": "string"}, "services.buildbot-worker.workerPass": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "\"pass\""}, "description": "Specifies the Buildbot Worker password.", "loc": ["services", "buildbot-worker", "workerPass"], "readOnly": false, "type": "string"}, "services.buildbot-worker.workerPassFile": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "description": "File used to store the Buildbot Worker password", "loc": ["services", "buildbot-worker", "workerPassFile"], "readOnly": false, "type": "absolute path"}, "services.buildbot-worker.workerUser": {"declarations": ["nixos/modules/services/continuous-integration/buildbot/worker.nix"], "default": {"_type": "literalExpression", "text": "\"example-worker\""}, "description": "Specifies the Buildbot Worker user.", "loc": ["services", "buildbot-worker", "workerUser"], "readOnly": false, "type": "string"}, "services.buildkite-agents": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of buildkite agents.\nThe attribute key is combined with the hostname and a unique integer to\ncreate the final agent name. This can be overridden by setting the `name`\nattribute.\n", "loc": ["services", "buildkite-agents"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.buildkite-agents.<name>.dataDir": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/buildkite-agent-\u2039name\u203a\""}, "description": "The workdir for the agent", "loc": ["services", "buildkite-agents", "<name>", "dataDir"], "readOnly": false, "type": "string"}, "services.buildkite-agents.<name>.enable": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this buildkite agent", "loc": ["services", "buildkite-agents", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.buildkite-agents.<name>.extraConfig": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the configuration file.\n", "example": {"_type": "literalExpression", "text": "\"debug=true\""}, "loc": ["services", "buildkite-agents", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.buildkite-agents.<name>.extraGroups": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"keys\"\n]"}, "description": "Groups the user for this buildkite agent should belong to", "loc": ["services", "buildkite-agents", "<name>", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.buildkite-agents.<name>.hooks": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "\"Agent\" hooks to install.\nSee <https://buildkite.com/docs/agent/v3/hooks> for possible options.\n", "example": {"_type": "literalExpression", "text": "{\n  environment = ''\n    export SECRET_VAR=`head -1 /run/keys/secret`\n  '';\n}"}, "loc": ["services", "buildkite-agents", "<name>", "hooks"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.buildkite-agents.<name>.hooksPath": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalMD", "text": "generated from {option}`services.buildkite-agents.<name>.hooks`"}, "description": "Path to the directory storing the hooks.\nConsider using {option}`services.buildkite-agents.<name>.hooks.<name>`\ninstead.\n", "loc": ["services", "buildkite-agents", "<name>", "hooksPath"], "readOnly": false, "type": "absolute path"}, "services.buildkite-agents.<name>.name": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "\"%hostname-\u2039name\u203a-%n\""}, "description": "The name of the agent as seen in the buildkite dashboard.\n", "loc": ["services", "buildkite-agents", "<name>", "name"], "readOnly": false, "type": "string"}, "services.buildkite-agents.<name>.package": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "pkgs.buildkite-agent"}, "description": "The buildkite-agent package to use.", "loc": ["services", "buildkite-agents", "<name>", "package"], "readOnly": false, "type": "package"}, "services.buildkite-agents.<name>.privateSshKeyPath": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "OpenSSH private key\n\nA run-time path to the key file, which is supposed to be provisioned\noutside of Nix store.\n", "loc": ["services", "buildkite-agents", "<name>", "privateSshKeyPath"], "readOnly": false, "type": "null or absolute path"}, "services.buildkite-agents.<name>.runtimePackages": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.bash pkgs.gnutar pkgs.gzip pkgs.git pkgs.nix ]"}, "description": "Add programs to the buildkite-agent environment", "loc": ["services", "buildkite-agents", "<name>", "runtimePackages"], "readOnly": false, "type": "list of package"}, "services.buildkite-agents.<name>.shell": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.bash}/bin/bash -e -c\""}, "description": "Command that buildkite-agent 3 will execute when it spawns a shell.\n", "loc": ["services", "buildkite-agents", "<name>", "shell"], "readOnly": false, "type": "string"}, "services.buildkite-agents.<name>.tags": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Tags for the agent.\n", "example": {"_type": "literalExpression", "text": "{\n  docker = \"true\";\n  queue = \"default\";\n  ruby2 = \"true\";\n}"}, "loc": ["services", "buildkite-agents", "<name>", "tags"], "readOnly": false, "type": "attribute set of (string or list of string)"}, "services.buildkite-agents.<name>.tokenPath": {"declarations": ["nixos/modules/services/continuous-integration/buildkite-agents.nix"], "description": "The token from your Buildkite \"Agents\" page.\n\nA run-time path to the token file, which is supposed to be provisioned\noutside of Nix store.\n", "loc": ["services", "buildkite-agents", "<name>", "tokenPath"], "readOnly": false, "type": "absolute path"}, "services.byedpi.enable": {"declarations": ["nixos/modules/services/networking/byedpi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the ByeDPI service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "byedpi", "enable"], "readOnly": false, "type": "boolean"}, "services.byedpi.extraArgs": {"declarations": ["nixos/modules/services/networking/byedpi.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments.", "example": {"_type": "literalExpression", "text": "[\n  \"--split\"\n  \"1\"\n  \"--disorder\"\n  \"3+s\"\n  \"--mod-http=h,d\"\n  \"--auto=torst\"\n  \"--tlsrec\"\n  \"1+s\"\n]"}, "loc": ["services", "byedpi", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.byedpi.package": {"declarations": ["nixos/modules/services/networking/byedpi.nix"], "default": {"_type": "literalExpression", "text": "pkgs.byedpi"}, "description": "The byedpi package to use.", "loc": ["services", "byedpi", "package"], "readOnly": false, "type": "package"}, "services.c2fmzq-server.bindIP": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The local address to use.", "loc": ["services", "c2fmzq-server", "bindIP"], "readOnly": false, "type": "string"}, "services.c2fmzq-server.enable": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable c2fmzq-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "c2fmzq-server", "enable"], "readOnly": false, "type": "boolean"}, "services.c2fmzq-server.package": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.c2fmzq"}, "description": "The c2fmzq package to use.", "loc": ["services", "c2fmzq-server", "package"], "readOnly": false, "type": "package"}, "services.c2fmzq-server.passphraseFile": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "description": "Path to file containing the database passphrase", "example": {"_type": "literalExpression", "text": "\"/run/secrets/c2fmzq/pwfile\""}, "loc": ["services", "c2fmzq-server", "passphraseFile"], "readOnly": false, "type": "string"}, "services.c2fmzq-server.port": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The local port to use.", "loc": ["services", "c2fmzq-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.c2fmzq-server.settings": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "description": "Configuration for c2FmZQ-server passed as CLI arguments.\nRun {command}`c2FmZQ-server help` for supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  allow-new-accounts = true;\n  auto-approve-new-accounts = true;\n  enable-webapp = true;\n  encrypt-metadata = true;\n  verbose = 3;\n}"}, "loc": ["services", "c2fmzq-server", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or boolean or signed integer or string)"}, "services.c2fmzq-server.settings.database": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "default": {"_type": "literalExpression", "text": "\"%S/c2fmzq-server/data\""}, "description": "Path of the database", "loc": ["services", "c2fmzq-server", "settings", "database"], "readOnly": false, "type": "string"}, "services.c2fmzq-server.settings.verbose": {"declarations": ["nixos/modules/services/web-apps/c2fmzq-server.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "The level of logging verbosity: 1:Error 2:Info 3:Debug", "loc": ["services", "c2fmzq-server", "settings", "verbose"], "readOnly": false, "type": "integer between 1 and 3 (both inclusive)"}, "services.cachefilesd.cacheDir": {"declarations": ["nixos/modules/services/network-filesystems/cachefilesd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/cache/fscache\""}, "description": "Directory to contain filesystem cache.", "loc": ["services", "cachefilesd", "cacheDir"], "readOnly": false, "type": "string"}, "services.cachefilesd.enable": {"declarations": ["nixos/modules/services/network-filesystems/cachefilesd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cachefilesd network filesystems caching daemon.", "loc": ["services", "cachefilesd", "enable"], "readOnly": false, "type": "boolean"}, "services.cachefilesd.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/cachefilesd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional configuration file entries. See {manpage}`cachefilesd.conf(5)` for more information.", "example": {"_type": "literalExpression", "text": "\"brun 10%\""}, "loc": ["services", "cachefilesd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.cachix-agent.credentialsFile": {"declarations": ["nixos/modules/services/system/cachix-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/cachix-agent.token\""}, "description": "Required file that needs to contain CACHIX_AGENT_TOKEN=...\n", "loc": ["services", "cachix-agent", "credentialsFile"], "readOnly": false, "type": "absolute path"}, "services.cachix-agent.enable": {"declarations": ["nixos/modules/services/system/cachix-agent/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cachix Deploy Agent: <https://docs.cachix.org/deploy/>.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cachix-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.cachix-agent.host": {"declarations": ["nixos/modules/services/system/cachix-agent/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cachix uri to use.", "loc": ["services", "cachix-agent", "host"], "readOnly": false, "type": "null or string"}, "services.cachix-agent.name": {"declarations": ["nixos/modules/services/system/cachix-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"config.networking.hostName\""}, "description": "Agent name, usually same as the hostname", "loc": ["services", "cachix-agent", "name"], "readOnly": false, "type": "string"}, "services.cachix-agent.package": {"declarations": ["nixos/modules/services/system/cachix-agent/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cachix"}, "description": "The cachix package to use.", "loc": ["services", "cachix-agent", "package"], "readOnly": false, "type": "package"}, "services.cachix-agent.profile": {"declarations": ["nixos/modules/services/system/cachix-agent/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Profile name, defaults to 'system' (NixOS).", "loc": ["services", "cachix-agent", "profile"], "readOnly": false, "type": "null or string"}, "services.cachix-agent.verbose": {"declarations": ["nixos/modules/services/system/cachix-agent/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable verbose output", "loc": ["services", "cachix-agent", "verbose"], "readOnly": false, "type": "boolean"}, "services.cachix-watch-store.cacheName": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "description": "Cachix binary cache name", "loc": ["services", "cachix-watch-store", "cacheName"], "readOnly": false, "type": "string"}, "services.cachix-watch-store.cachixTokenFile": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "description": "Required file that needs to contain the cachix auth token.\n", "loc": ["services", "cachix-watch-store", "cachixTokenFile"], "readOnly": false, "type": "absolute path"}, "services.cachix-watch-store.compressionLevel": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The compression level for ZSTD compression (between 0 and 16)", "loc": ["services", "cachix-watch-store", "compressionLevel"], "readOnly": false, "type": "null or integer between 0 and 16 (both inclusive)"}, "services.cachix-watch-store.enable": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cachix Watch Store: <https://docs.cachix.org>.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cachix-watch-store", "enable"], "readOnly": false, "type": "boolean"}, "services.cachix-watch-store.host": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cachix host to connect to", "loc": ["services", "cachix-watch-store", "host"], "readOnly": false, "type": "null or string"}, "services.cachix-watch-store.jobs": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of threads used for pushing store paths", "loc": ["services", "cachix-watch-store", "jobs"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.cachix-watch-store.package": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cachix"}, "description": "The cachix package to use.", "loc": ["services", "cachix-watch-store", "package"], "readOnly": false, "type": "package"}, "services.cachix-watch-store.signingKeyFile": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional file containing a self-managed signing key to sign uploaded store paths.\n", "loc": ["services", "cachix-watch-store", "signingKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.cachix-watch-store.verbose": {"declarations": ["nixos/modules/services/system/cachix-watch-store.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable verbose output", "loc": ["services", "cachix-watch-store", "verbose"], "readOnly": false, "type": "boolean"}, "services.caddy.acmeCA": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "::: {.note}\nSets the [`acme_ca` option](https://caddyserver.com/docs/caddyfile/options#acme-ca)\nin the global options block of the resulting Caddyfile.\n:::\n\nThe URL to the ACME CA's directory. It is strongly recommended to set\nthis to `https://acme-staging-v02.api.letsencrypt.org/directory` for\nLet's Encrypt's [staging endpoint](https://letsencrypt.org/docs/staging-environment/)\nwhile testing or in development.\n\nValue `null` should be prefered for production setups,\nas it omits the `acme_ca` option to enable\n[automatic issuer fallback](https://caddyserver.com/docs/automatic-https#issuer-fallback).\n", "example": {"_type": "literalExpression", "text": "\"https://acme-v02.api.letsencrypt.org/directory\""}, "loc": ["services", "caddy", "acmeCA"], "readOnly": false, "type": "null or string"}, "services.caddy.adapter": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "if ((cfg.configFile != configFile) || (baseNameOf cfg.configFile) == \"Caddyfile\") then \"caddyfile\" else null\n"}, "description": "Name of the config adapter to use.\nSee <https://caddyserver.com/docs/config-adapters>\nfor the full list.\n\nIf `null` is specified, the `--adapter` argument is omitted when\nstarting or restarting Caddy. Notably, this allows specification of a\nconfiguration file in Caddy's native JSON format, as long as the\nfilename does not start with `Caddyfile` (in which case the `caddyfile`\nadapter is implicitly enabled). See\n<https://caddyserver.com/docs/command-line#caddy-run> for details.\n\n::: {.note}\nAny value other than `null` or `caddyfile` is only valid when providing\nyour own `configFile`.\n:::\n", "example": {"_type": "literalExpression", "text": "nginx"}, "loc": ["services", "caddy", "adapter"], "readOnly": false, "type": "null or string"}, "services.caddy.configFile": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"A Caddyfile automatically generated by values from services.caddy.*\""}, "description": "Override the configuration file used by Caddy. By default,\nNixOS generates one automatically.\n\nThe configuration file is exposed at {file}`/etc/caddy/caddy_config`.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"Caddyfile\" ''\n  example.com\n\n  root * /var/www/wordpress\n  php_fastcgi unix//run/php/php-version-fpm.sock\n  file_server\n'';\n"}, "loc": ["services", "caddy", "configFile"], "readOnly": false, "type": "absolute path"}, "services.caddy.dataDir": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/caddy\""}, "description": "The data directory for caddy.\n\n::: {.note}\nIf left as the default value this directory will automatically be created\nbefore the Caddy server starts, otherwise you are responsible for ensuring\nthe directory exists with appropriate ownership and permissions.\n\nCaddy v2 replaced `CADDYPATH` with XDG directories.\nSee <https://caddyserver.com/docs/conventions#file-locations>.\n:::\n", "loc": ["services", "caddy", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.caddy.email": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Your email address. Mainly used when creating an ACME account with your\nCA, and is highly recommended in case there are problems with your\ncertificates.\n", "loc": ["services", "caddy", "email"], "readOnly": false, "type": "null or string"}, "services.caddy.enable": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Caddy web server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "caddy", "enable"], "readOnly": false, "type": "boolean"}, "services.caddy.enableReload": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Reload Caddy instead of restarting it when configuration file changes.\n\nNote that enabling this option requires the [admin API](https://caddyserver.com/docs/caddyfile/options#admin)\nto not be turned off.\n\nIf you enable this option, consider setting [`grace_period`](https://caddyserver.com/docs/caddyfile/options#grace-period)\nto a non-infinite value in {option}`services.caddy.globalConfig`\nto prevent Caddy waiting for active connections to finish,\nwhich could delay the reload essentially indefinitely.\n", "loc": ["services", "caddy", "enableReload"], "readOnly": false, "type": "boolean"}, "services.caddy.environmentFile": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file as defined in {manpage}`systemd.exec(5)`.\n\nYou can use environment variables to pass secrets to the service without adding\nthem to the world-redable nix store.\n\n```\n# in configuration.nix\nservices.caddy.environmentFile = \"/run/secrets/caddy.env\";\nservices.caddy.globalConfig = ''\n  {\n    acme_ca https://acme.zerossl.com/v2/DV90\n    acme_eab {\n      key_id {$EAB_KEY_ID}\n      mac_key {$EAB_MAC_KEY}\n    }\n  }\n'';\n```\n\n```\n# in /run/secrets/caddy.env\nEAB_KEY_ID=secret\nEAB_MAC_KEY=secret\n```\n\nFind more examples\n[here](https://caddyserver.com/docs/caddyfile/concepts#environment-variables)\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/caddy.env\""}, "loc": ["services", "caddy", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.caddy.extraConfig": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional lines of configuration appended to the automatically\ngenerated `Caddyfile`.\n", "example": {"_type": "literalExpression", "text": "''\n  example.com {\n    encode gzip\n    log\n    root /srv/http\n  }\n''"}, "loc": ["services", "caddy", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.caddy.globalConfig": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional lines of configuration appended to the global config section\nof the `Caddyfile`.\n\nRefer to <https://caddyserver.com/docs/caddyfile/options#global-options>\nfor details on supported values.\n", "example": {"_type": "literalExpression", "text": "''\n  debug\n  servers {\n    protocol {\n      experimental_http3\n    }\n  }\n''"}, "loc": ["services", "caddy", "globalConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.caddy.group": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"caddy\""}, "description": "Group under which caddy runs.\n\n::: {.note}\nIf left as the default value this group will automatically be created\non system activation, otherwise you are responsible for\nensuring the group exists before the Caddy service starts.\n:::\n", "loc": ["services", "caddy", "group"], "readOnly": false, "type": "string"}, "services.caddy.httpPort": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "80"}, "description": "The default port to listen on for HTTP traffic.\n", "loc": ["services", "caddy", "httpPort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.caddy.httpsPort": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "443"}, "description": "The default port to listen on for HTTPS traffic.\nWill also be used for HTTP/3.\n", "loc": ["services", "caddy", "httpsPort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.caddy.logDir": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/caddy\""}, "description": "Directory for storing Caddy access logs.\n\n::: {.note}\nIf left as the default value this directory will automatically be created\nbefore the Caddy server starts, otherwise the sysadmin is responsible for\nensuring the directory exists with appropriate ownership and permissions.\n:::\n", "loc": ["services", "caddy", "logDir"], "readOnly": false, "type": "absolute path"}, "services.caddy.logFormat": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "''\n  level ERROR\n''"}, "description": "Configuration for the default logger. See\n<https://caddyserver.com/docs/caddyfile/options#log>\nfor details.\n", "example": {"_type": "literalExpression", "text": "mkForce \"level INFO\";\n"}, "loc": ["services", "caddy", "logFormat"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.caddy.openFirewall": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening the specified http(s) ports in the firewall.\nAny port set to `null` will not be opened.\n\n::: {.note}\nIf you use other ports for your virtual hosts, you need to open them manually.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "caddy", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.caddy.package": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.caddy"}, "description": "The caddy package to use.", "loc": ["services", "caddy", "package"], "readOnly": false, "type": "package"}, "services.caddy.resume": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use saved config, if any (and prefer over any specified configuration passed with `--config`).\n", "loc": ["services", "caddy", "resume"], "readOnly": false, "type": "boolean"}, "services.caddy.settings": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Structured configuration for Caddy to generate a Caddy JSON configuration file.\nSee <https://caddyserver.com/docs/json/> for available options.\n\n::: {.warning}\nUsing a [Caddyfile](https://caddyserver.com/docs/caddyfile) instead of a JSON config is highly recommended by upstream.\nThere are only very few exception to this.\n\nPlease use a Caddyfile via {option}`services.caddy.configFile`, {option}`services.caddy.virtualHosts` or\n{option}`services.caddy.extraConfig` with {option}`services.caddy.globalConfig` instead.\n:::\n\n::: {.note}\nTakes presence over most `services.caddy.*` options, such as {option}`services.caddy.configFile` and {option}`services.caddy.virtualHosts`, if specified.\n:::\n", "loc": ["services", "caddy", "settings"], "readOnly": false, "type": "JSON value"}, "services.caddy.user": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"caddy\""}, "description": "User account under which caddy runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise you are responsible for\nensuring the user exists before the Caddy service starts.\n:::\n", "loc": ["services", "caddy", "user"], "readOnly": false, "type": "string"}, "services.caddy.virtualHosts": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative specification of virtual hosts served by Caddy.\n", "example": {"_type": "literalExpression", "text": "{\n  \"hydra.example.com\" = {\n    serverAliases = [ \"www.hydra.example.com\" ];\n    extraConfig = ''\n      encode gzip\n      root * /srv/http\n    '';\n  };\n};\n"}, "loc": ["services", "caddy", "virtualHosts"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.caddy.virtualHosts.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional lines of configuration appended to this virtual host in the\nautomatically generated `Caddyfile`.\n", "loc": ["services", "caddy", "virtualHosts", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.caddy.virtualHosts.<name>.hostName": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Canonical hostname for the server.", "loc": ["services", "caddy", "virtualHosts", "<name>", "hostName"], "readOnly": false, "type": "string"}, "services.caddy.virtualHosts.<name>.listenAddresses": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of host interfaces to bind to for this virtual host.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"::1\"\n]"}, "loc": ["services", "caddy", "virtualHosts", "<name>", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.caddy.virtualHosts.<name>.logFormat": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "''\n  output file ''${config.services.caddy.logDir}/access-''${hostName}.log\n''"}, "description": "Configuration for HTTP request logging (also known as access logs). See\n<https://caddyserver.com/docs/caddyfile/directives/log#log>\nfor details.\n", "example": {"_type": "literalExpression", "text": "mkForce ''\n  output discard\n'';\n"}, "loc": ["services", "caddy", "virtualHosts", "<name>", "logFormat"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.caddy.virtualHosts.<name>.serverAliases": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "caddy", "virtualHosts", "<name>", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.caddy.virtualHosts.<name>.useACMEHost": {"declarations": ["nixos/modules/services/web-servers/caddy/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is mostly useful if you use DNS challenges but Caddy does not\ncurrently support your provider.\n\n*Note that this option does not create any certificates, nor\ndoes it add subdomains to existing ones \u2013 you will need to create them\nmanually using [](#opt-security.acme.certs).*\n", "loc": ["services", "caddy", "virtualHosts", "<name>", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.cadvisor.enable": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cadvisor service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cadvisor", "enable"], "readOnly": false, "type": "boolean"}, "services.cadvisor.extraOptions": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional cadvisor options.\n\nSee <https://github.com/google/cadvisor/blob/master/docs/runtime_options.md> for available options.\n", "loc": ["services", "cadvisor", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.cadvisor.listenAddress": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Cadvisor listening host", "loc": ["services", "cadvisor", "listenAddress"], "readOnly": false, "type": "string"}, "services.cadvisor.port": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Cadvisor listening port", "loc": ["services", "cadvisor", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cadvisor.storageDriver": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cadvisor storage driver.", "example": {"_type": "literalExpression", "text": "\"influxdb\""}, "loc": ["services", "cadvisor", "storageDriver"], "readOnly": false, "type": "null or string"}, "services.cadvisor.storageDriverDb": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Cadvisord storage driver database name.", "loc": ["services", "cadvisor", "storageDriverDb"], "readOnly": false, "type": "string"}, "services.cadvisor.storageDriverHost": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:8086\""}, "description": "Cadvisor storage driver host.", "loc": ["services", "cadvisor", "storageDriverHost"], "readOnly": false, "type": "string"}, "services.cadvisor.storageDriverPassword": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Cadvisor storage driver password.\n\nWarning: this password is stored in the world-readable Nix store. It's\nrecommended to use the {option}`storageDriverPasswordFile` option\nsince that gives you control over the security of the password.\n{option}`storageDriverPasswordFile` also takes precedence over {option}`storageDriverPassword`.\n", "loc": ["services", "cadvisor", "storageDriverPassword"], "readOnly": false, "type": "string"}, "services.cadvisor.storageDriverPasswordFile": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "description": "File that contains the cadvisor storage driver password.\n\n{option}`storageDriverPasswordFile` takes precedence over {option}`storageDriverPassword`\n\nWarning: when {option}`storageDriverPassword` is non-empty this defaults to a file in the\nworld-readable Nix store that contains the value of {option}`storageDriverPassword`.\n\nIt's recommended to override this with a path not in the Nix store.\nTip: use [nixops key management](https://nixos.org/nixops/manual/#idm140737318306400)\n", "loc": ["services", "cadvisor", "storageDriverPasswordFile"], "readOnly": false, "type": "string"}, "services.cadvisor.storageDriverSecure": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Cadvisor storage driver, enable secure communication.", "loc": ["services", "cadvisor", "storageDriverSecure"], "readOnly": false, "type": "boolean"}, "services.cadvisor.storageDriverUser": {"declarations": ["nixos/modules/services/monitoring/cadvisor.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Cadvisor storage driver username.", "loc": ["services", "cadvisor", "storageDriverUser"], "readOnly": false, "type": "string"}, "services.cage.enable": {"declarations": ["nixos/modules/services/wayland/cage.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cage kiosk service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cage", "enable"], "readOnly": false, "type": "boolean"}, "services.cage.environment": {"declarations": ["nixos/modules/services/wayland/cage.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to pass to Cage.", "example": {"_type": "literalExpression", "text": "{\n  WLR_LIBINPUT_NO_DEVICES = \"1\";\n}"}, "loc": ["services", "cage", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.cage.extraArguments": {"declarations": ["nixos/modules/services/wayland/cage.nix"], "default": {"_type": "literalExpression", "text": "[]"}, "description": "Additional command line arguments to pass to Cage.", "example": {"_type": "literalExpression", "text": "[\n  \"-d\"\n]"}, "loc": ["services", "cage", "extraArguments"], "readOnly": false, "type": "list of string"}, "services.cage.package": {"declarations": ["nixos/modules/services/wayland/cage.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cage"}, "description": "The cage package to use.", "loc": ["services", "cage", "package"], "readOnly": false, "type": "package"}, "services.cage.program": {"declarations": ["nixos/modules/services/wayland/cage.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.xterm}/bin/xterm\""}, "description": "Program to run in cage.\n", "loc": ["services", "cage", "program"], "readOnly": false, "type": "absolute path"}, "services.cage.user": {"declarations": ["nixos/modules/services/wayland/cage.nix"], "default": {"_type": "literalExpression", "text": "\"demo\""}, "description": "User to log-in as.\n", "loc": ["services", "cage", "user"], "readOnly": false, "type": "string"}, "services.calibre-server.auth.enable": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Password based authentication to access the server.\nSee the [calibre-server documentation](https://manual.calibre-ebook.com/generated/en/calibre-server.html#cmdoption-calibre-server-enable-auth) for details.\n", "loc": ["services", "calibre-server", "auth", "enable"], "readOnly": false, "type": "boolean"}, "services.calibre-server.auth.mode": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Choose the type of authentication used.\nSet the HTTP authentication mode used by the server.\nSee the [calibre-server documentation](https://manual.calibre-ebook.com/generated/en/calibre-server.html#cmdoption-calibre-server-auth-mode) for details.\n", "loc": ["services", "calibre-server", "auth", "mode"], "readOnly": false, "type": "one of \"auto\", \"basic\", \"digest\""}, "services.calibre-server.auth.userDb": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Choose users database file to use for authentication.\nMake sure users database file is initialized before service startup.\nSee the [calibre-server documentation](https://manual.calibre-ebook.com/server.html#managing-user-accounts-from-the-command-line-only) for details.\n", "loc": ["services", "calibre-server", "auth", "userDb"], "readOnly": false, "type": "null or absolute path"}, "services.calibre-server.enable": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable calibre-server (e-book software).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "calibre-server", "enable"], "readOnly": false, "type": "boolean"}, "services.calibre-server.extraFlags": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to the calibre-server command.\nSee the [calibre-server documentation](https://manual.calibre-ebook.com/generated/en/calibre-server.html) for details.\n", "loc": ["services", "calibre-server", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.calibre-server.group": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "\"calibre-server\""}, "description": "The group under which calibre-server runs.", "loc": ["services", "calibre-server", "group"], "readOnly": false, "type": "string"}, "services.calibre-server.host": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "The interface on which to listen for connections.\nSee the [calibre-server documentation](https://manual.calibre-ebook.com/generated/en/calibre-server.html#cmdoption-calibre-server-listen-on) for details.\n", "example": {"_type": "literalExpression", "text": "\"::1\""}, "loc": ["services", "calibre-server", "host"], "readOnly": false, "type": "string"}, "services.calibre-server.libraries": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/var/lib/calibre-server\"\n]"}, "description": "Make sure each library path is initialized before service startup.\nThe directories of the libraries to serve. They must be readable for the user under which the server runs.\nSee the [calibredb documentation](https://manual.calibre-ebook.com/generated/en/calibredb.html#add) for details.\n", "loc": ["services", "calibre-server", "libraries"], "readOnly": false, "type": "list of absolute path"}, "services.calibre-server.openFirewall": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the Calibre Server web interface.", "loc": ["services", "calibre-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.calibre-server.package": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.calibre"}, "description": "The calibre package to use.", "loc": ["services", "calibre-server", "package"], "readOnly": false, "type": "package"}, "services.calibre-server.port": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port on which to listen for connections.\nSee the [calibre-server documentation](https://manual.calibre-ebook.com/generated/en/calibre-server.html#cmdoption-calibre-server-port) for details.\n", "loc": ["services", "calibre-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.calibre-server.user": {"declarations": ["nixos/modules/services/misc/calibre-server.nix"], "default": {"_type": "literalExpression", "text": "\"calibre-server\""}, "description": "The user under which calibre-server runs.", "loc": ["services", "calibre-server", "user"], "readOnly": false, "type": "string"}, "services.calibre-web.calibrePackage": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "pkgs.calibre"}, "description": "The calibre package to use.", "loc": ["services", "calibre-web", "calibrePackage"], "readOnly": false, "type": "package"}, "services.calibre-web.dataDir": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "\"calibre-web\""}, "description": "Where Calibre-Web stores its data.\nEither an absolute path, or the directory name below {file}`/var/lib`.\n", "loc": ["services", "calibre-web", "dataDir"], "readOnly": false, "type": "string"}, "services.calibre-web.enable": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Calibre-Web.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "calibre-web", "enable"], "readOnly": false, "type": "boolean"}, "services.calibre-web.group": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "\"calibre-web\""}, "description": "Group account under which Calibre-Web runs.", "loc": ["services", "calibre-web", "group"], "readOnly": false, "type": "string"}, "services.calibre-web.listen.ip": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "\"::1\""}, "description": "IP address that Calibre-Web should listen on.\n", "loc": ["services", "calibre-web", "listen", "ip"], "readOnly": false, "type": "string"}, "services.calibre-web.listen.port": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "8083"}, "description": "Listen port for Calibre-Web.\n", "loc": ["services", "calibre-web", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.calibre-web.openFirewall": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the server.\n", "loc": ["services", "calibre-web", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.calibre-web.options.calibreLibrary": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to Calibre library.\n", "loc": ["services", "calibre-web", "options", "calibreLibrary"], "readOnly": false, "type": "null or absolute path"}, "services.calibre-web.options.enableBookConversion": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configure path to the Calibre's ebook-convert in the DB.\n", "loc": ["services", "calibre-web", "options", "enableBookConversion"], "readOnly": false, "type": "boolean"}, "services.calibre-web.options.enableBookUploading": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow books to be uploaded via Calibre-Web UI.\n", "loc": ["services", "calibre-web", "options", "enableBookUploading"], "readOnly": false, "type": "boolean"}, "services.calibre-web.options.enableKepubify": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kepub conversion support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "calibre-web", "options", "enableKepubify"], "readOnly": false, "type": "boolean"}, "services.calibre-web.options.reverseProxyAuth.enable": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable authorization using auth proxy.\n", "loc": ["services", "calibre-web", "options", "reverseProxyAuth", "enable"], "readOnly": false, "type": "boolean"}, "services.calibre-web.options.reverseProxyAuth.header": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Auth proxy header name.\n", "loc": ["services", "calibre-web", "options", "reverseProxyAuth", "header"], "readOnly": false, "type": "string"}, "services.calibre-web.package": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "pkgs.calibre-web"}, "description": "The calibre-web package to use.", "loc": ["services", "calibre-web", "package"], "readOnly": false, "type": "package"}, "services.calibre-web.user": {"declarations": ["nixos/modules/services/web-apps/calibre-web.nix"], "default": {"_type": "literalExpression", "text": "\"calibre-web\""}, "description": "User account under which Calibre-Web runs.", "loc": ["services", "calibre-web", "user"], "readOnly": false, "type": "string"}, "services.canaille.enable": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Canaille.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "canaille", "enable"], "readOnly": false, "type": "boolean"}, "services.canaille.jwtPrivateKeyFile": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the JWT private key. Make sure it has appropriate permissions.\n\nYou can generate one using\n```\nopenssl genrsa -out private.pem 4096\nopenssl rsa -in private.pem -pubout -outform PEM -out public.pem\n```\n", "loc": ["services", "canaille", "jwtPrivateKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.canaille.ldapBindPasswordFile": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the LDAP bind password.\n", "loc": ["services", "canaille", "ldapBindPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.canaille.package": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "pkgs.canaille"}, "description": "The canaille package to use.", "loc": ["services", "canaille", "package"], "readOnly": false, "type": "package"}, "services.canaille.secretKeyFile": {"declarations": ["nixos/modules/services/security/canaille.nix"], "description": "File containing the Flask secret key. Its content is going to be\nprovided to Canaille as `SECRET_KEY`. Make sure it has appropriate\npermissions. For example, copy the output of this to the specified\nfile:\n\n```\npython3 -c 'import secrets; print(secrets.token_hex())'\n```\n", "loc": ["services", "canaille", "secretKeyFile"], "readOnly": false, "type": "absolute path"}, "services.canaille.settings": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for Canaille. See [the documentation](https://canaille.readthedocs.io/en/latest/references/configuration.html) for details.", "loc": ["services", "canaille", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.canaille.settings.CANAILLE.ACL": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Access Control Lists.\n\nSee also [the documentation](https://canaille.readthedocs.io/en/latest/references/configuration.html#canaille.core.configuration.ACLSettings).\n", "loc": ["services", "canaille", "settings", "CANAILLE", "ACL"], "readOnly": false, "type": "null or (open submodule of (TOML value))"}, "services.canaille.settings.CANAILLE.SMTP": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SMTP configuration. By default, sending emails is not enabled.\n\nSet to an empty attrs to send emails from localhost without\nauthentication.\n\nSee also [the documentation](https://canaille.readthedocs.io/en/latest/references/configuration.html#canaille.core.configuration.SMTPSettings).\n", "example": {"_type": "literalExpression", "text": "{ }"}, "loc": ["services", "canaille", "settings", "CANAILLE", "SMTP"], "readOnly": false, "type": "null or (open submodule of (TOML value))"}, "services.canaille.settings.CANAILLE.SMTP.PASSWORD": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SMTP Password. Can't be set and has to be provided using\n`services.canaille.smtpPasswordFile`.\n", "loc": ["services", "canaille", "settings", "CANAILLE", "SMTP", "PASSWORD"], "readOnly": true, "type": "null or string"}, "services.canaille.settings.CANAILLE_LDAP": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration for the LDAP backend. This storage backend is not\nyet supported by the module, so use at your own risk!\n", "loc": ["services", "canaille", "settings", "CANAILLE_LDAP"], "readOnly": false, "type": "null or (open submodule of (TOML value))"}, "services.canaille.settings.CANAILLE_LDAP.BIND_PW": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The LDAP bind password. Can't be set and has to be provided using\n`services.canaille.ldapBindPasswordFile`.\n", "loc": ["services", "canaille", "settings", "CANAILLE_LDAP", "BIND_PW"], "readOnly": true, "type": "null or string"}, "services.canaille.settings.CANAILLE_OIDC": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "OpenID Connect settings. See [the documentation](https://canaille.readthedocs.io/en/latest/references/configuration.html#canaille.oidc.configuration.OIDCSettings).\n", "loc": ["services", "canaille", "settings", "CANAILLE_OIDC"], "readOnly": false, "type": "null or (open submodule of (TOML value))"}, "services.canaille.settings.CANAILLE_OIDC.JWT.PRIVATE_KEY": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "JWT private key. Can't be set and has to be provided using\n`services.canaille.jwtPrivateKeyFile`.\n", "loc": ["services", "canaille", "settings", "CANAILLE_OIDC", "JWT", "PRIVATE_KEY"], "readOnly": true, "type": "null or string"}, "services.canaille.settings.CANAILLE_SQL.DATABASE_URI": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "\"postgresql://localhost/canaille?host=/run/postgresql\""}, "description": "The SQL server URI. Will configure a local PostgreSQL db if\nleft to default. Please note that the NixOS module only really\nsupports PostgreSQL for now. Change at your own risk!\n", "loc": ["services", "canaille", "settings", "CANAILLE_SQL", "DATABASE_URI"], "readOnly": false, "type": "string"}, "services.canaille.settings.PREFERRED_URL_SCHEME": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "\"https\""}, "description": "The url scheme by which canaille will be served.", "loc": ["services", "canaille", "settings", "PREFERRED_URL_SCHEME"], "readOnly": false, "type": "one of \"http\", \"https\""}, "services.canaille.settings.SECRET_KEY": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Flask Secret Key. Can't be set and must be provided through\n`services.canaille.settings.secretKeyFile`.\n", "loc": ["services", "canaille", "settings", "SECRET_KEY"], "readOnly": true, "type": "null or string"}, "services.canaille.settings.SERVER_NAME": {"declarations": ["nixos/modules/services/security/canaille.nix"], "description": "The domain name on which canaille will be served.", "example": {"_type": "literalExpression", "text": "\"auth.example.org\""}, "loc": ["services", "canaille", "settings", "SERVER_NAME"], "readOnly": false, "type": "string"}, "services.canaille.smtpPasswordFile": {"declarations": ["nixos/modules/services/security/canaille.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the SMTP password. Make sure it has appropriate permissions.\n", "loc": ["services", "canaille", "smtpPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.canto-daemon.enable": {"declarations": ["nixos/modules/services/misc/canto-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the canto RSS daemon.", "loc": ["services", "canto-daemon", "enable"], "readOnly": false, "type": "boolean"}, "services.cassandra.allowClients": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables or disables the native transport server (CQL binary protocol).\nThis server uses the same address as the {option}`rpcAddress`,\nbut the port it uses is not `rpc_port` but\n`native_transport_port`. See the official Cassandra\ndocs for more information on these variables and set them using\n{option}`extraConfig`.\n", "loc": ["services", "cassandra", "allowClients"], "readOnly": false, "type": "boolean"}, "services.cassandra.clusterName": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"Test Cluster\""}, "description": "The name of the cluster.\nThis setting prevents nodes in one logical cluster from joining\nanother. All nodes in a cluster must have the same value.\n", "loc": ["services", "cassandra", "clusterName"], "readOnly": false, "type": "string"}, "services.cassandra.enable": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Apache Cassandra \u2013 Scalable and highly available database\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cassandra", "enable"], "readOnly": false, "type": "boolean"}, "services.cassandra.extraConfig": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra options to be merged into {file}`cassandra.yaml` as nix attribute set.\n", "example": {"_type": "literalExpression", "text": "{\n  commitlog_sync_batch_window_in_ms = 3;\n}"}, "loc": ["services", "cassandra", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.cassandra.extraEnvSh": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra shell lines to be appended onto {file}`cassandra-env.sh`.\n", "example": {"_type": "literalExpression", "text": "\"CLASSPATH=$CLASSPATH:${extraJar}\""}, "loc": ["services", "cassandra", "extraEnvSh"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.cassandra.fullRepairInterval": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"3w\""}, "description": "Set the interval how often full repairs are run, i.e.\n{command}`nodetool repair --full` is executed. See\n<https://cassandra.apache.org/doc/latest/operating/repair.html>\nfor more information.\n\nSet to `null` to disable full repairs.\n", "example": {"_type": "literalExpression", "text": "null"}, "loc": ["services", "cassandra", "fullRepairInterval"], "readOnly": false, "type": "null or string"}, "services.cassandra.fullRepairOptions": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Options passed through to the full repair command.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--partitioner-range\"\n]"}, "loc": ["services", "cassandra", "fullRepairOptions"], "readOnly": false, "type": "list of string"}, "services.cassandra.group": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"cassandra\""}, "description": "Run Apache Cassandra under this group.", "loc": ["services", "cassandra", "group"], "readOnly": false, "type": "string"}, "services.cassandra.heapNewSize": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Must be left blank or set together with {option}`heapNewSize`.\nIf left blank a sensible value for the available amount of RAM and CPU\ncores is calculated.\n\nOverride to set the amount of memory to allocate to the JVM at\nstart-up. For production use you may wish to adjust this for your\nenvironment. `HEAP_NEWSIZE` refers to the size of the young\ngeneration.\n\nThe main trade-off for the young generation is that the larger it\nis, the longer GC pause times will be. The shorter it is, the more\nexpensive GC will be (usually).\n\nThe example `HEAP_NEWSIZE` assumes a modern 8-core+ machine for decent pause\ntimes. If in doubt, and if you do not particularly want to tweak, go with\n100 MB per physical CPU core.\n", "example": {"_type": "literalExpression", "text": "\"800M\""}, "loc": ["services", "cassandra", "heapNewSize"], "readOnly": false, "type": "null or string"}, "services.cassandra.homeDir": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cassandra\""}, "description": "Home directory for Apache Cassandra.\n", "loc": ["services", "cassandra", "homeDir"], "readOnly": false, "type": "absolute path"}, "services.cassandra.incrementalRepairInterval": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"3d\""}, "description": "Set the interval how often incremental repairs are run, i.e.\n{command}`nodetool repair` is executed. See\n<https://cassandra.apache.org/doc/latest/operating/repair.html>\nfor more information.\n\nSet to `null` to disable incremental repairs.\n", "example": {"_type": "literalExpression", "text": "null"}, "loc": ["services", "cassandra", "incrementalRepairInterval"], "readOnly": false, "type": "null or string"}, "services.cassandra.incrementalRepairOptions": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Options passed through to the incremental repair command.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--partitioner-range\"\n]"}, "loc": ["services", "cassandra", "incrementalRepairOptions"], "readOnly": false, "type": "list of string"}, "services.cassandra.jmxPort": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "7199"}, "description": "Specifies the default port over which Cassandra will be available for\nJMX connections.\nFor security reasons, you should not expose this port to the internet.\nFirewall it if needed.\n", "loc": ["services", "cassandra", "jmxPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cassandra.jmxRoles": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Roles that are allowed to access the JMX (e.g. {command}`nodetool`)\nBEWARE: The passwords will be stored world readable in the nix store.\n        It's recommended to use your own protected file using\n        {option}`jmxRolesFile`\n\nDoesn't work in versions older than 3.11 because they don't like that\nit's world readable.\n", "loc": ["services", "cassandra", "jmxRoles"], "readOnly": false, "type": "list of (submodule)"}, "services.cassandra.jmxRoles.*.password": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "description": "Password for JMX", "loc": ["services", "cassandra", "jmxRoles", "*", "password"], "readOnly": false, "type": "string"}, "services.cassandra.jmxRoles.*.username": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "description": "Username for JMX", "loc": ["services", "cassandra", "jmxRoles", "*", "username"], "readOnly": false, "type": "string"}, "services.cassandra.jmxRolesFile": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"generated configuration file\""}, "description": "Specify your own jmx roles file.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/cassandra/jmx.password\""}, "loc": ["services", "cassandra", "jmxRolesFile"], "readOnly": false, "type": "null or absolute path"}, "services.cassandra.jvmOpts": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Populate the `JVM_OPT` environment variable.\n", "loc": ["services", "cassandra", "jvmOpts"], "readOnly": false, "type": "list of string"}, "services.cassandra.listenAddress": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address or interface to bind to and tell other Cassandra nodes\nto connect to. You _must_ change this if you want multiple\nnodes to be able to communicate!\n\nSet {option}`listenAddress` OR {option}`listenInterface`, not both.\n\nLeaving it blank leaves it up to\n`InetAddress.getLocalHost()`. This will always do the \"Right\nThing\" _if_ the node is properly configured (hostname, name\nresolution, etc), and the Right Thing is to use the address\nassociated with the hostname (it might not be).\n\nSetting {option}`listenAddress` to `0.0.0.0` is always wrong.\n", "example": {"_type": "literalExpression", "text": "null"}, "loc": ["services", "cassandra", "listenAddress"], "readOnly": false, "type": "null or string"}, "services.cassandra.listenInterface": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set `listenAddress` OR `listenInterface`, not both. Interfaces\nmust correspond to a single address, IP aliasing is not\nsupported.\n", "example": {"_type": "literalExpression", "text": "\"eth1\""}, "loc": ["services", "cassandra", "listenInterface"], "readOnly": false, "type": "null or string"}, "services.cassandra.logbackConfig": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "''\n  <configuration scan=\"false\">\n    <appender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n      <encoder>\n        <pattern>%-5level %date{HH:mm:ss,SSS} %msg%n</pattern>\n      </encoder>\n    </appender>\n  \n    <root level=\"INFO\">\n      <appender-ref ref=\"STDOUT\" />\n    </root>\n  \n    <logger name=\"com.thinkaurelius.thrift\" level=\"ERROR\"/>\n  </configuration>\n''"}, "description": "XML logback configuration for cassandra\n", "loc": ["services", "cassandra", "logbackConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.cassandra.mallocArenaMax": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set this to control the amount of arenas per-thread in glibc.\n", "example": {"_type": "literalExpression", "text": "4"}, "loc": ["services", "cassandra", "mallocArenaMax"], "readOnly": false, "type": "null or signed integer"}, "services.cassandra.maxHeapSize": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Must be left blank or set together with {option}`heapNewSize`.\nIf left blank a sensible value for the available amount of RAM and CPU\ncores is calculated.\n\nOverride to set the amount of memory to allocate to the JVM at\nstart-up. For production use you may wish to adjust this for your\nenvironment. `MAX_HEAP_SIZE` is the total amount of memory dedicated\nto the Java heap. `HEAP_NEWSIZE` refers to the size of the young\ngeneration.\n\nThe main trade-off for the young generation is that the larger it\nis, the longer GC pause times will be. The shorter it is, the more\nexpensive GC will be (usually).\n", "example": {"_type": "literalExpression", "text": "\"4G\""}, "loc": ["services", "cassandra", "maxHeapSize"], "readOnly": false, "type": "null or string"}, "services.cassandra.package": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cassandra"}, "description": "The cassandra package to use.", "example": {"_type": "literalExpression", "text": "cassandra_4"}, "loc": ["services", "cassandra", "package"], "readOnly": false, "type": "package"}, "services.cassandra.remoteJmx": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Cassandra ships with JMX accessible *only* from localhost.\nTo enable remote JMX connections set to true.\n\nBe sure to also enable authentication and/or TLS.\nSee: <https://wiki.apache.org/cassandra/JmxSecurity>\n", "loc": ["services", "cassandra", "remoteJmx"], "readOnly": false, "type": "boolean"}, "services.cassandra.rpcAddress": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The address or interface to bind the native transport server to.\n\nSet {option}`rpcAddress` OR {option}`rpcInterface`, not both.\n\nLeaving {option}`rpcAddress` blank has the same effect as on\n{option}`listenAddress` (i.e. it will be based on the configured hostname\nof the node).\n\nNote that unlike {option}`listenAddress`, you can specify `\"0.0.0.0\"`, but you\nmust also set `extraConfig.broadcast_rpc_address` to a value other\nthan `\"0.0.0.0\"`.\n\nFor security reasons, you should not expose this port to the\ninternet. Firewall it if needed.\n", "example": {"_type": "literalExpression", "text": "null"}, "loc": ["services", "cassandra", "rpcAddress"], "readOnly": false, "type": "null or string"}, "services.cassandra.rpcInterface": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set {option}`rpcAddress` OR {option}`rpcInterface`, not both. Interfaces must\ncorrespond to a single address, IP aliasing is not supported.\n", "example": {"_type": "literalExpression", "text": "\"eth1\""}, "loc": ["services", "cassandra", "rpcInterface"], "readOnly": false, "type": "null or string"}, "services.cassandra.seedAddresses": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "description": "The addresses of hosts designated as contact points in the cluster. A\njoining node contacts one of the nodes in the seeds list to learn the\ntopology of the ring.\nSet to `[ \"127.0.0.1\" ]` for a single node cluster.\n", "loc": ["services", "cassandra", "seedAddresses"], "readOnly": false, "type": "list of string"}, "services.cassandra.user": {"declarations": ["nixos/modules/services/databases/cassandra.nix"], "default": {"_type": "literalExpression", "text": "\"cassandra\""}, "description": "Run Apache Cassandra under this user.", "loc": ["services", "cassandra", "user"], "readOnly": false, "type": "string"}, "services.castopod.configureNginx": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Configure nginx as a reverse proxy for CastoPod.", "loc": ["services", "castopod", "configureNginx"], "readOnly": false, "type": "boolean"}, "services.castopod.dataDir": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/castopod\""}, "description": "The path where castopod stores all data. This path must be in sync\nwith the castopod package (where it is hardcoded during the build in\naccordance with its own `dataDir` argument).\n", "loc": ["services", "castopod", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.castopod.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.\n", "loc": ["services", "castopod", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.castopod.database.hostname": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database hostname.", "loc": ["services", "castopod", "database", "hostname"], "readOnly": false, "type": "string"}, "services.castopod.database.name": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "\"castopod\""}, "description": "Database name.", "loc": ["services", "castopod", "database", "name"], "readOnly": false, "type": "string"}, "services.castopod.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n[](#opt-services.castopod.database.user).\n\nThis file is loaded using systemd LoadCredentials.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/castopod-dbpassword\""}, "loc": ["services", "castopod", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.castopod.database.user": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "\"castopod\""}, "description": "Database user.", "loc": ["services", "castopod", "database", "user"], "readOnly": false, "type": "string"}, "services.castopod.enable": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Castopod, a hosting platform for podcasters.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "castopod", "enable"], "readOnly": false, "type": "boolean"}, "services.castopod.environmentFile": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file to inject e.g. secrets into the configuration.\nSee [](https://code.castopod.org/adaures/castopod/-/blob/main/.env.example)\nfor available environment variables.\n\nThis file is loaded using systemd LoadCredentials.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/castopod-env\""}, "loc": ["services", "castopod", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.castopod.localDomain": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "description": "The domain serving your CastoPod instance.", "example": {"_type": "literalExpression", "text": "\"castopod.example.org\""}, "loc": ["services", "castopod", "localDomain"], "readOnly": false, "type": "string"}, "services.castopod.maxUploadSize": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "\"512M\""}, "description": "Maximum supported size for a file upload in. Maximum HTTP body\nsize is set to this value for nginx and PHP (because castopod doesn't\nsupport chunked uploads yet:\nhttps://code.castopod.org/adaures/castopod/-/issues/330).\n\nNote, that practical upload size limit is smaller. For example, with\n512 MiB setting - around 500 MiB is possible.\n", "loc": ["services", "castopod", "maxUploadSize"], "readOnly": false, "type": "string"}, "services.castopod.package": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "pkgs.castopod"}, "description": "The castopod package to use.", "loc": ["services", "castopod", "package"], "readOnly": false, "type": "package"}, "services.castopod.poolSettings": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = \"32\";\n  \"pm.max_requests\" = \"500\";\n  \"pm.max_spare_servers\" = \"4\";\n  \"pm.min_spare_servers\" = \"2\";\n  \"pm.start_servers\" = \"2\";\n}"}, "description": "Options for Castopod's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.\n", "loc": ["services", "castopod", "poolSettings"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.castopod.settings": {"declarations": ["nixos/modules/services/web-apps/castopod.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables used for Castopod.\nSee [](https://code.castopod.org/adaures/castopod/-/blob/main/.env.example)\nfor available environment variables.\n", "example": {"_type": "literalExpression", "text": "{\n  \"email.SMTPHost\" = \"localhost\";\n  \"email.SMTPUser\" = \"myuser\";\n  \"email.fromEmail\" = \"castopod@example.com\";\n  \"email.protocol\" = \"smtp\";\n}"}, "loc": ["services", "castopod", "settings"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.cato-client.enable": {"declarations": ["nixos/modules/services/networking/cato-client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cato-client service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cato-client", "enable"], "readOnly": false, "type": "boolean"}, "services.cato-client.package": {"declarations": ["nixos/modules/services/networking/cato-client.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cato-client"}, "description": "The cato-client package to use.", "loc": ["services", "cato-client", "package"], "readOnly": false, "type": "package"}, "services.centrifugo.credentials": {"declarations": ["nixos/modules/services/networking/centrifugo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables with absolute paths to credentials files to load\non service startup.\n", "example": {"_type": "literalExpression", "text": "{\n  CENTRIFUGO_UNI_GRPC_TLS_KEY = \"/run/keys/centrifugo-uni-grpc-tls.key\";\n}"}, "loc": ["services", "centrifugo", "credentials"], "readOnly": false, "type": "attribute set of absolute path"}, "services.centrifugo.enable": {"declarations": ["nixos/modules/services/networking/centrifugo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Centrifugo messaging server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "centrifugo", "enable"], "readOnly": false, "type": "boolean"}, "services.centrifugo.environmentFiles": {"declarations": ["nixos/modules/services/networking/centrifugo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to load environment variables from. Options set via environment\nvariables take precedence over {option}`settings`.\n\nSee the [Centrifugo documentation] for the environment variable name\nformat.\n\n[Centrifugo documentation]: https://centrifugal.dev/docs/server/configuration#os-environment-variables\n", "loc": ["services", "centrifugo", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.centrifugo.extraGroups": {"declarations": ["nixos/modules/services/networking/centrifugo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional groups for the systemd service.\n", "example": {"_type": "literalExpression", "text": "[\n  \"redis-centrifugo\"\n]"}, "loc": ["services", "centrifugo", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.centrifugo.package": {"declarations": ["nixos/modules/services/networking/centrifugo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.centrifugo"}, "description": "The centrifugo package to use.", "loc": ["services", "centrifugo", "package"], "readOnly": false, "type": "package"}, "services.centrifugo.settings": {"declarations": ["nixos/modules/services/networking/centrifugo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative Centrifugo configuration. See the [Centrifugo\ndocumentation] for a list of options.\n\n[Centrifugo documentation]: https://centrifugal.dev/docs/server/configuration\n", "loc": ["services", "centrifugo", "settings"], "readOnly": false, "type": "JSON value"}, "services.ceph.client.enable": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ceph client configuration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ceph", "client", "enable"], "readOnly": false, "type": "boolean"}, "services.ceph.client.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to add to the client section. Configuration for rados gateways\nwould be added here, with their own sections, see example.\n", "example": {"_type": "literalExpression", "text": "{\n  # This would create a section for a radosgw daemon named node0 and related\n  # configuration for it\n  \"client.radosgw.node0\" = { \"some config option\" = \"true\"; };\n};\n"}, "loc": ["services", "ceph", "client", "extraConfig"], "readOnly": false, "type": "attribute set of attribute set of string"}, "services.ceph.enable": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ceph global configuration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ceph", "enable"], "readOnly": false, "type": "boolean"}, "services.ceph.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to add to the global section. Use for setting values that are common for all daemons in the cluster.\n", "example": {"_type": "literalExpression", "text": "{\n  \"ms bind ipv6\" = \"true\";\n}"}, "loc": ["services", "ceph", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "services.ceph.global.authClientRequired": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "\"cephx\""}, "description": "Enables requiring the cluster to authenticate itself to the client.\n", "loc": ["services", "ceph", "global", "authClientRequired"], "readOnly": false, "type": "one of \"cephx\", \"none\""}, "services.ceph.global.authClusterRequired": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "\"cephx\""}, "description": "Enables requiring daemons to authenticate with eachother in the cluster.\n", "loc": ["services", "ceph", "global", "authClusterRequired"], "readOnly": false, "type": "one of \"cephx\", \"none\""}, "services.ceph.global.authServiceRequired": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "\"cephx\""}, "description": "Enables requiring clients to authenticate with the cluster to access services in the cluster (e.g. radosgw, mds or osd).\n", "loc": ["services", "ceph", "global", "authServiceRequired"], "readOnly": false, "type": "one of \"cephx\", \"none\""}, "services.ceph.global.clusterName": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "\"ceph\""}, "description": "Name of cluster\n", "loc": ["services", "ceph", "global", "clusterName"], "readOnly": false, "type": "string"}, "services.ceph.global.clusterNetwork": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A comma-separated list of subnets that will be used as cluster networks in the cluster.\n", "example": {"_type": "literalExpression", "text": "''\n  10.10.0.0/24, 192.168.0.0/24\n''"}, "loc": ["services", "ceph", "global", "clusterNetwork"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.ceph.global.fsid": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "description": "Filesystem ID, a generated uuid, its must be generated and set before\nattempting to start a cluster\n", "example": {"_type": "literalExpression", "text": "''\n  433a2193-4f8a-47a0-95d2-209d7ca2cca5\n''"}, "loc": ["services", "ceph", "global", "fsid"], "readOnly": false, "type": "string"}, "services.ceph.global.maxOpenFiles": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "131072"}, "description": "Max open files for each OSD daemon.\n", "loc": ["services", "ceph", "global", "maxOpenFiles"], "readOnly": false, "type": "signed integer"}, "services.ceph.global.mgrModulePath": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.ceph.lib}/lib/ceph/mgr\""}, "description": "Path at which to find ceph-mgr modules.\n", "loc": ["services", "ceph", "global", "mgrModulePath"], "readOnly": false, "type": "absolute path"}, "services.ceph.global.monHost": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of hostname shortnames/IP addresses of the initial monitors.\n", "example": {"_type": "literalExpression", "text": "''\n  10.10.0.1, 10.10.0.2, 10.10.0.3\n''"}, "loc": ["services", "ceph", "global", "monHost"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.ceph.global.monInitialMembers": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of hosts that will be used as monitors at startup.\n", "example": {"_type": "literalExpression", "text": "''\n  node0, node1, node2\n''"}, "loc": ["services", "ceph", "global", "monInitialMembers"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.ceph.global.publicNetwork": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A comma-separated list of subnets that will be used as public networks in the cluster.\n", "example": {"_type": "literalExpression", "text": "''\n  10.20.0.0/24, 192.168.1.0/24\n''"}, "loc": ["services", "ceph", "global", "publicNetwork"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.ceph.global.rgwMimeTypesFile": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.mailcap}/etc/mime.types\""}, "description": "Path to mime types used by radosgw.\n", "loc": ["services", "ceph", "global", "rgwMimeTypesFile"], "readOnly": false, "type": "null or absolute path"}, "services.ceph.mds.daemons": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of metadata service daemons that should have a service created. The names correspond\nto the id part in ceph i.e. [ \"name1\" ] would result in mds.name1\n", "example": {"_type": "literalExpression", "text": "[\n  \"name1\"\n  \"name2\"\n]"}, "loc": ["services", "ceph", "mds", "daemons"], "readOnly": false, "type": "list of string"}, "services.ceph.mds.enable": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ceph MDS daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ceph", "mds", "enable"], "readOnly": false, "type": "boolean"}, "services.ceph.mds.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to add to the MDS section.\n", "loc": ["services", "ceph", "mds", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "services.ceph.mds.package": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ceph"}, "description": "The ceph package to use.", "loc": ["services", "ceph", "mds", "package"], "readOnly": false, "type": "package"}, "services.ceph.mgr.daemons": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of names for manager daemons that should have a service created. The names correspond\nto the id part in ceph i.e. [ \"name1\" ] would result in mgr.name1\n", "example": {"_type": "literalExpression", "text": "[\n  \"name1\"\n  \"name2\"\n]"}, "loc": ["services", "ceph", "mgr", "daemons"], "readOnly": false, "type": "list of string"}, "services.ceph.mgr.enable": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ceph MGR daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ceph", "mgr", "enable"], "readOnly": false, "type": "boolean"}, "services.ceph.mgr.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to add to the global section for manager daemons.\n", "loc": ["services", "ceph", "mgr", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "services.ceph.mgr.package": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ceph"}, "description": "The ceph package to use.", "loc": ["services", "ceph", "mgr", "package"], "readOnly": false, "type": "package"}, "services.ceph.mon.daemons": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of monitor daemons that should have a service created. The names correspond\nto the id part in ceph i.e. [ \"name1\" ] would result in mon.name1\n", "example": {"_type": "literalExpression", "text": "[\n  \"name1\"\n  \"name2\"\n]"}, "loc": ["services", "ceph", "mon", "daemons"], "readOnly": false, "type": "list of string"}, "services.ceph.mon.enable": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ceph MON daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ceph", "mon", "enable"], "readOnly": false, "type": "boolean"}, "services.ceph.mon.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to add to the monitor section.\n", "loc": ["services", "ceph", "mon", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "services.ceph.mon.package": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ceph"}, "description": "The ceph package to use.", "loc": ["services", "ceph", "mon", "package"], "readOnly": false, "type": "package"}, "services.ceph.osd.daemons": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of OSD daemons that should have a service created. The names correspond\nto the id part in ceph i.e. [ \"name1\" ] would result in osd.name1\n", "example": {"_type": "literalExpression", "text": "[\n  \"name1\"\n  \"name2\"\n]"}, "loc": ["services", "ceph", "osd", "daemons"], "readOnly": false, "type": "list of string"}, "services.ceph.osd.enable": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ceph OSD daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ceph", "osd", "enable"], "readOnly": false, "type": "boolean"}, "services.ceph.osd.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"osd crush chooseleaf type\" = \"1\";\n  \"osd journal size\" = \"10000\";\n  \"osd pool default min size\" = \"2\";\n  \"osd pool default pg num\" = \"200\";\n  \"osd pool default pgp num\" = \"200\";\n  \"osd pool default size\" = \"3\";\n}"}, "description": "Extra configuration to add to the OSD section.\n", "loc": ["services", "ceph", "osd", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "services.ceph.osd.package": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ceph"}, "description": "The ceph package to use.", "loc": ["services", "ceph", "osd", "package"], "readOnly": false, "type": "package"}, "services.ceph.rgw.daemons": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of rados gateway daemons that should have a service created. The names correspond\nto the id part in ceph i.e. [ \"name1\" ] would result in client.name1, radosgw daemons\naren't daemons to cluster in the sense that OSD, MGR or MON daemons are. They are simply\ndaemons, from ceph, that uses the cluster as a backend.\n", "example": {"_type": "literalExpression", "text": "[\n  \"name1\"\n  \"name2\"\n]"}, "loc": ["services", "ceph", "rgw", "daemons"], "readOnly": false, "type": "list of string"}, "services.ceph.rgw.enable": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ceph RadosGW daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ceph", "rgw", "enable"], "readOnly": false, "type": "boolean"}, "services.ceph.rgw.package": {"declarations": ["nixos/modules/services/network-filesystems/ceph.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ceph"}, "description": "The ceph package to use.", "loc": ["services", "ceph", "rgw", "package"], "readOnly": false, "type": "package"}, "services.certmgr.defaultRemote": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:8888\""}, "description": "The default CA host:port to use.", "loc": ["services", "certmgr", "defaultRemote"], "readOnly": false, "type": "string"}, "services.certmgr.enable": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable certmgr.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "certmgr", "enable"], "readOnly": false, "type": "boolean"}, "services.certmgr.metricsAddress": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The address for the Prometheus HTTP endpoint.", "loc": ["services", "certmgr", "metricsAddress"], "readOnly": false, "type": "string"}, "services.certmgr.metricsPort": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "9488"}, "description": "The port for the Prometheus HTTP endpoint.", "loc": ["services", "certmgr", "metricsPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.certmgr.package": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.certmgr"}, "description": "The certmgr package to use.", "loc": ["services", "certmgr", "package"], "readOnly": false, "type": "package"}, "services.certmgr.renewInterval": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "\"30m\""}, "description": "How often to check certificate expirations and how often to update the cert_next_expires metric.", "loc": ["services", "certmgr", "renewInterval"], "readOnly": false, "type": "string"}, "services.certmgr.specs": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Certificate specs as described by:\n<https://github.com/cloudflare/certmgr#certificate-specs>\nThese will be added to the Nix store, so they will be world readable.\n", "example": {"_type": "literalExpression", "text": "{\n  exampleCert =\n  let\n    domain = \"example.com\";\n    secret = name: \"/var/lib/secrets/${name}.pem\";\n  in {\n    service = \"nginx\";\n    action = \"reload\";\n    authority = {\n      file.path = secret \"ca\";\n    };\n    certificate = {\n      path = secret domain;\n    };\n    private_key = {\n      owner = \"root\";\n      group = \"root\";\n      mode = \"0600\";\n      path = secret \"${domain}-key\";\n    };\n    request = {\n      CN = domain;\n      hosts = [ \"mail.${domain}\" \"www.${domain}\" ];\n      key = {\n        algo = \"rsa\";\n        size = 2048;\n      };\n      names = {\n        O = \"Example Organization\";\n        C = \"USA\";\n      };\n    };\n  };\n  otherCert = \"/var/certmgr/specs/other-cert.json\";\n}\n"}, "loc": ["services", "certmgr", "specs"], "readOnly": false, "type": "attribute set of (absolute path or (submodule))"}, "services.certmgr.svcManager": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "\"systemd\""}, "description": "This specifies the service manager to use for restarting or reloading services.\nSee: <https://github.com/cloudflare/certmgr#certmgryaml>.\nFor how to use the \"command\" service manager in particular,\nsee: <https://github.com/cloudflare/certmgr#command-svcmgr-and-how-to-use-it>.\n", "loc": ["services", "certmgr", "svcManager"], "readOnly": false, "type": "one of \"circus\", \"command\", \"dummy\", \"openrc\", \"systemd\", \"sysv\""}, "services.certmgr.validMin": {"declarations": ["nixos/modules/services/security/certmgr.nix"], "default": {"_type": "literalExpression", "text": "\"72h\""}, "description": "The interval before a certificate expires to start attempting to renew it.", "loc": ["services", "certmgr", "validMin"], "readOnly": false, "type": "string"}, "services.certspotter.emailRecipients": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of email addresses to send certificate updates to.", "loc": ["services", "certspotter", "emailRecipients"], "readOnly": false, "type": "list of string"}, "services.certspotter.enable": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cert Spotter, a Certificate Transparency log monitor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "certspotter", "enable"], "readOnly": false, "type": "boolean"}, "services.certspotter.extraFlags": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line arguments to pass to Cert Spotter", "example": {"_type": "literalExpression", "text": "[\n  \"-no_save\"\n]"}, "loc": ["services", "certspotter", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.certspotter.hooks": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Scripts to run upon the detection of a new certificate. See `man 8 certspotter-script` or\n[the GitHub page](https://github.com/SSLMate/certspotter/blob/master/man/certspotter-script.md)\nfor more info.\n", "example": {"_type": "literalExpression", "text": "[\n  (pkgs.writeShellScript \"certspotter-hook\" ''\n    echo \"Event summary: $SUMMARY.\"\n  '')\n]\n"}, "loc": ["services", "certspotter", "hooks"], "readOnly": false, "type": "list of absolute path"}, "services.certspotter.package": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "pkgs.certspotter"}, "description": "The certspotter package to use.", "loc": ["services", "certspotter", "package"], "readOnly": false, "type": "package"}, "services.certspotter.sendmailPath": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the `sendmail` binary. By default, the local sendmail wrapper is used\n(see {option}`services.mail.sendmailSetuidWrapper`}).\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.system-sendmail}/bin/sendmail\""}, "loc": ["services", "certspotter", "sendmailPath"], "readOnly": false, "type": "null or absolute path"}, "services.certspotter.startAtEnd": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to skip certificates issued before the first launch of Cert Spotter.\nSetting this to `false` will cause Cert Spotter to download tens of terabytes of data.\n", "loc": ["services", "certspotter", "startAtEnd"], "readOnly": false, "type": "boolean"}, "services.certspotter.watchlist": {"declarations": ["nixos/modules/services/monitoring/certspotter.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Domain names to watch. To monitor a domain with all subdomains, prefix its name with `.` (e.g. `.example.org`).", "example": {"_type": "literalExpression", "text": "[\n  \".example.org\"\n  \"another.example.com\"\n]"}, "loc": ["services", "certspotter", "watchlist"], "readOnly": false, "type": "list of string"}, "services.cfdyndns.apiTokenFile": {"declarations": ["nixos/modules/services/misc/cfdyndns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the API Token\nused to authenticate with CloudFlare.\n", "loc": ["services", "cfdyndns", "apiTokenFile"], "readOnly": false, "type": "null or string"}, "services.cfdyndns.apikeyFile": {"declarations": ["nixos/modules/services/misc/cfdyndns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the API Key\nused to authenticate with CloudFlare.\n", "loc": ["services", "cfdyndns", "apikeyFile"], "readOnly": false, "type": "null or string"}, "services.cfdyndns.email": {"declarations": ["nixos/modules/services/misc/cfdyndns.nix"], "description": "The email address to use to authenticate to CloudFlare.\n", "loc": ["services", "cfdyndns", "email"], "readOnly": false, "type": "string"}, "services.cfdyndns.enable": {"declarations": ["nixos/modules/services/misc/cfdyndns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cloudflare Dynamic DNS Client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cfdyndns", "enable"], "readOnly": false, "type": "boolean"}, "services.cfdyndns.records": {"declarations": ["nixos/modules/services/misc/cfdyndns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The records to update in CloudFlare.\n", "example": {"_type": "literalExpression", "text": "[\n  \"host.tld\"\n]"}, "loc": ["services", "cfdyndns", "records"], "readOnly": false, "type": "list of string"}, "services.cfssl.address": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to bind.", "loc": ["services", "cfssl", "address"], "readOnly": false, "type": "string"}, "services.cfssl.ca": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "\"${cfg.dataDir}/ca.pem\""}, "description": "CA used to sign the new certificate -- accepts '[file:]fname' or 'env:varname'.", "loc": ["services", "cfssl", "ca"], "readOnly": false, "type": "string"}, "services.cfssl.caBundle": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root certificate store.", "loc": ["services", "cfssl", "caBundle"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.caKey": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "\"file:${cfg.dataDir}/ca-key.pem\""}, "description": "CA private key -- accepts '[file:]fname' or 'env:varname'.", "loc": ["services", "cfssl", "caKey"], "readOnly": false, "type": "string"}, "services.cfssl.configFile": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to configuration file. Do not put this in nix-store as it might contain secrets.", "loc": ["services", "cfssl", "configFile"], "readOnly": false, "type": "null or string"}, "services.cfssl.dataDir": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cfssl\""}, "description": "The work directory for CFSSL.\n\n::: {.note}\nIf left as the default value this directory will automatically be\ncreated before the CFSSL server starts, otherwise you are\nresponsible for ensuring the directory exists with appropriate\nownership and permissions.\n:::\n", "loc": ["services", "cfssl", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.cfssl.dbConfig": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Certificate db configuration file. Path must be writeable.", "loc": ["services", "cfssl", "dbConfig"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.disable": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Endpoints to disable (comma-separated list)", "loc": ["services", "cfssl", "disable"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.cfssl.enable": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the CFSSL CA api-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cfssl", "enable"], "readOnly": false, "type": "boolean"}, "services.cfssl.intBundle": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to intermediate certificate store.", "loc": ["services", "cfssl", "intBundle"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.intDir": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Intermediates directory.", "loc": ["services", "cfssl", "intDir"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.logLevel": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Log level (0 = DEBUG, 5 = FATAL).", "loc": ["services", "cfssl", "logLevel"], "readOnly": false, "type": "integer between 0 and 5 (both inclusive)"}, "services.cfssl.metadata": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Metadata file for root certificate presence.\nThe content of the file is a json dictionary (k,v): each key k is\na SHA-1 digest of a root certificate while value v is a list of key\nstore filenames.\n", "loc": ["services", "cfssl", "metadata"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.mutualTlsCa": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mutual TLS - require clients be signed by this CA.", "loc": ["services", "cfssl", "mutualTlsCa"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.mutualTlsClientCert": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mutual TLS - client certificate to call remote instance requiring client certs.", "loc": ["services", "cfssl", "mutualTlsClientCert"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.mutualTlsClientKey": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mutual TLS - client key to call remote instance requiring client certs. Do not put this in nix-store.", "loc": ["services", "cfssl", "mutualTlsClientKey"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.mutualTlsCn": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mutual TLS - regex for whitelist of allowed client CNs.", "loc": ["services", "cfssl", "mutualTlsCn"], "readOnly": false, "type": "null or string"}, "services.cfssl.port": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "8888"}, "description": "Port to bind.", "loc": ["services", "cfssl", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cfssl.remote": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Remote CFSSL server.", "loc": ["services", "cfssl", "remote"], "readOnly": false, "type": "null or string"}, "services.cfssl.responder": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Certificate for OCSP responder.", "loc": ["services", "cfssl", "responder"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.responderKey": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Private key for OCSP responder certificate. Do not put this in nix-store.", "loc": ["services", "cfssl", "responderKey"], "readOnly": false, "type": "null or string"}, "services.cfssl.tlsCert": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Other endpoint's CA to set up TLS protocol.", "loc": ["services", "cfssl", "tlsCert"], "readOnly": false, "type": "null or absolute path"}, "services.cfssl.tlsKey": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Other endpoint's CA private key. Do not put this in nix-store.", "loc": ["services", "cfssl", "tlsKey"], "readOnly": false, "type": "null or string"}, "services.cfssl.tlsRemoteCa": {"declarations": ["nixos/modules/services/security/cfssl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "CAs to trust for remote TLS requests.", "loc": ["services", "cfssl", "tlsRemoteCa"], "readOnly": false, "type": "null or absolute path"}, "services.cgit": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configure cgit instances.", "loc": ["services", "cgit"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.cgit.<name>.enable": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cgit.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cgit", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.cgit.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of cgitrc verbatim.", "loc": ["services", "cgit", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.cgit.<name>.gitHttpBackend.checkExportOkFiles": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "description": "Whether git-http-backend should only export repositories that contain a `git-daemon-export-ok` file.\n\nWhen the backend is enabled and the check is disabled all repositories can be cloned\nirrespective of cgit's settings (e.g. the `ignore` repository setting).\n\nWhen enabled you must also configure `strict-export = \"git-daemon-export-ok\"`\nin `settings` to make cgit check for the same files.\n", "loc": ["services", "cgit", "<name>", "gitHttpBackend", "checkExportOkFiles"], "readOnly": false, "type": "boolean"}, "services.cgit.<name>.gitHttpBackend.enable": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to bypass cgit and use git-http-backend for HTTP clones.\nWhile this enables HTTP clones to use the more efficient smart protocol,\nit does not support access control via cgit's settings (e.g. the `ignore` repository setting).\n\nIf you want to disallow access to some repositories with this backend,\nenable `checkExportOkFiles` and set `strict-export = \"git-daemon-export-ok\"` in `settings`.\n", "loc": ["services", "cgit", "<name>", "gitHttpBackend", "enable"], "readOnly": false, "type": "boolean"}, "services.cgit.<name>.group": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "\"cgit\""}, "description": "Group to run the cgit service as.", "loc": ["services", "cgit", "<name>", "group"], "readOnly": false, "type": "string"}, "services.cgit.<name>.nginx.location": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "Location to serve cgit under.", "example": {"_type": "literalExpression", "text": "\"/git/\""}, "loc": ["services", "cgit", "<name>", "nginx", "location"], "readOnly": false, "type": "string"}, "services.cgit.<name>.nginx.virtualHost": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "VirtualHost to serve cgit on, defaults to the attribute name.", "example": {"_type": "literalExpression", "text": "\"git.example.com\""}, "loc": ["services", "cgit", "<name>", "nginx", "virtualHost"], "readOnly": false, "type": "string"}, "services.cgit.<name>.package": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cgit"}, "description": "The cgit package to use.", "loc": ["services", "cgit", "<name>", "package"], "readOnly": false, "type": "package"}, "services.cgit.<name>.repos": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "cgit repository settings, see {manpage}`cgitrc(5)`", "example": {"_type": "literalExpression", "text": "{\n  blah = {\n    desc = \"An example repository\";\n    path = \"/var/lib/git/example\";\n  };\n}"}, "loc": ["services", "cgit", "<name>", "repos"], "readOnly": false, "type": "attribute set of attribute set of (boolean or signed integer or string)"}, "services.cgit.<name>.scanPath": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A path which will be scanned for repositories.", "example": {"_type": "literalExpression", "text": "\"/var/lib/git\""}, "loc": ["services", "cgit", "<name>", "scanPath"], "readOnly": false, "type": "null or absolute path"}, "services.cgit.<name>.settings": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "cgit configuration, see {manpage}`cgitrc(5)`", "example": {"_type": "literalExpression", "text": "{\n  enable-follow-links = true;\n  source-filter = \"${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py\";\n}\n"}, "loc": ["services", "cgit", "<name>", "settings"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string or list of (boolean or signed integer or string))"}, "services.cgit.<name>.user": {"declarations": ["nixos/modules/services/networking/cgit.nix"], "default": {"_type": "literalExpression", "text": "\"cgit\""}, "description": "User to run the cgit service as.", "loc": ["services", "cgit", "<name>", "user"], "readOnly": false, "type": "string"}, "services.cgminer.config": {"declarations": ["nixos/modules/services/misc/cgminer.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional config", "example": {"_type": "literalExpression", "text": "{\n  auto-fan = true;\n  auto-gpu = true;\n  expiry = 120;\n  failover-only = true;\n  gpu-threads = 2;\n  log = 5;\n  queue = 1;\n  scan-time = 60;\n  temp-histeresys = 3;\n}"}, "loc": ["services", "cgminer", "config"], "readOnly": false, "type": "attribute set of (boolean or signed integer)"}, "services.cgminer.enable": {"declarations": ["nixos/modules/services/misc/cgminer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cgminer, an ASIC/FPGA/GPU miner for bitcoin and litecoin.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cgminer", "enable"], "readOnly": false, "type": "boolean"}, "services.cgminer.hardware": {"declarations": ["nixos/modules/services/misc/cgminer.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of config options for every GPU", "example": {"_type": "literalExpression", "text": "[\n  {\n    gpu-engine = \"0-985\";\n    gpu-fan = \"0-85\";\n    gpu-memclock = 860;\n    gpu-powertune = 20;\n    intensity = 9;\n    temp-cutoff = 95;\n    temp-overheat = 85;\n    temp-target = 75;\n  }\n  {\n    gpu-engine = \"0-950\";\n    gpu-fan = \"0-85\";\n    gpu-memclock = 825;\n    gpu-powertune = 20;\n    intensity = 9;\n    temp-cutoff = 95;\n    temp-overheat = 85;\n    temp-target = 75;\n  }\n]"}, "loc": ["services", "cgminer", "hardware"], "readOnly": false, "type": "list of attribute set of (string or signed integer)"}, "services.cgminer.package": {"declarations": ["nixos/modules/services/misc/cgminer.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cgminer"}, "description": "The cgminer package to use.", "loc": ["services", "cgminer", "package"], "readOnly": false, "type": "package"}, "services.cgminer.pools": {"declarations": ["nixos/modules/services/misc/cgminer.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of pools where to mine", "example": {"_type": "literalExpression", "text": "[\n  {\n    password = \"X\";\n    url = \"http://p2pool.org:9332\";\n    username = \"17EUZxTvs9uRmPsjPZSYUU3zCz9iwstudk\";\n  }\n]"}, "loc": ["services", "cgminer", "pools"], "readOnly": false, "type": "list of attribute set of string"}, "services.cgminer.user": {"declarations": ["nixos/modules/services/misc/cgminer.nix"], "default": {"_type": "literalExpression", "text": "\"cgminer\""}, "description": "User account under which cgminer runs", "loc": ["services", "cgminer", "user"], "readOnly": false, "type": "string"}, "services.changedetection-io.baseURL": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The base url used in notifications and `{base_url}` token.\n", "example": {"_type": "literalExpression", "text": "\"https://changedetection-io.example\""}, "loc": ["services", "changedetection-io", "baseURL"], "readOnly": false, "type": "null or string"}, "services.changedetection-io.behindProxy": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable this option when changedetection-io runs behind a reverse proxy, so that it trusts X-* headers.\nIt is recommend to run changedetection-io behind a TLS reverse proxy.\n", "loc": ["services", "changedetection-io", "behindProxy"], "readOnly": false, "type": "boolean"}, "services.changedetection-io.chromePort": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "4444"}, "description": "A free port on which webDriverSupport or playwrightSupport listen on localhost.\n", "loc": ["services", "changedetection-io", "chromePort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.changedetection-io.datastorePath": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/changedetection-io\""}, "description": "The directory used to store all data for changedetection-io.\n", "loc": ["services", "changedetection-io", "datastorePath"], "readOnly": false, "type": "string"}, "services.changedetection-io.enable": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable changedetection-io.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "changedetection-io", "enable"], "readOnly": false, "type": "boolean"}, "services.changedetection-io.environmentFile": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Securely pass environment variables to changedetection-io.\n\nThis can be used to set for example a frontend password reproducible via `SALTED_PASS`\nwhich convinetly also deactivates nags about the hosted version.\n`SALTED_PASS` should be 64 characters long while the first 32 are the salt and the second the frontend password.\nIt can easily be retrieved from the settings file when first set via the frontend with the following command:\n``jq -r .settings.application.password /var/lib/changedetection-io/url-watches.json``\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/changedetection-io.env\""}, "loc": ["services", "changedetection-io", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.changedetection-io.group": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "\"changedetection-io\""}, "description": "Group account under which changedetection-io runs.\n", "loc": ["services", "changedetection-io", "group"], "readOnly": false, "type": "string"}, "services.changedetection-io.listenAddress": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address the server will listen on.", "loc": ["services", "changedetection-io", "listenAddress"], "readOnly": false, "type": "string"}, "services.changedetection-io.package": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "pkgs.changedetection-io"}, "description": "The changedetection-io package to use.", "loc": ["services", "changedetection-io", "package"], "readOnly": false, "type": "package"}, "services.changedetection-io.playwrightSupport": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable support for fetching web pages using playwright and Chromium.\nThis starts a headless Chromium controlled by puppeteer in an oci container.\n\n::: {.note}\nPlaywright can currently leak memory.\nSee <https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher#playwright-memory-leak>\n:::\n", "loc": ["services", "changedetection-io", "playwrightSupport"], "readOnly": false, "type": "boolean"}, "services.changedetection-io.port": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "Port the server will listen on.", "loc": ["services", "changedetection-io", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.changedetection-io.user": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "\"changedetection-io\""}, "description": "User account under which changedetection-io runs.\n", "loc": ["services", "changedetection-io", "user"], "readOnly": false, "type": "string"}, "services.changedetection-io.webDriverSupport": {"declarations": ["nixos/modules/services/web-apps/changedetection-io.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable support for fetching web pages using WebDriver and Chromium.\nThis starts a headless chromium controlled by puppeteer in an oci container.\n\n::: {.note}\nPlaywright can currently leak memory.\nSee <https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher#playwright-memory-leak>\n:::\n", "loc": ["services", "changedetection-io", "webDriverSupport"], "readOnly": false, "type": "boolean"}, "services.chhoto-url.enable": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Chhoto URL.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "chhoto-url", "enable"], "readOnly": false, "type": "boolean"}, "services.chhoto-url.environmentFiles": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to load environment variables from in addition to [](#opt-services.chhoto-url.settings).\nThis is useful to avoid putting secrets into the nix store.\nSee <https://github.com/SinTan1729/chhoto-url/blob/main/compose.yaml> for a list of options.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/run/secrets/chhoto-url.env\"\n]"}, "loc": ["services", "chhoto-url", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.chhoto-url.package": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "pkgs.chhoto-url"}, "description": "The chhoto-url package to use.", "loc": ["services", "chhoto-url", "package"], "readOnly": false, "type": "package"}, "services.chhoto-url.settings": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "description": "Configuration of Chhoto URL.\nSee <https://github.com/SinTan1729/chhoto-url/blob/main/compose.yaml> for a list of options.\n", "example": {"_type": "literalExpression", "text": "{\n  port = 4567;\n}"}, "loc": ["services", "chhoto-url", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean)"}, "services.chhoto-url.settings.allow_capital_letters": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow capital letters in slugs.", "loc": ["services", "chhoto-url", "settings", "allow_capital_letters"], "readOnly": false, "type": "boolean"}, "services.chhoto-url.settings.cache_control_header": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The Cache-Control header to send.", "example": {"_type": "literalExpression", "text": "\"no-cache, private\""}, "loc": ["services", "chhoto-url", "settings", "cache_control_header"], "readOnly": false, "type": "null or string"}, "services.chhoto-url.settings.custom_landing_directory": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of a directory which contains a custom landing page.", "loc": ["services", "chhoto-url", "settings", "custom_landing_directory"], "readOnly": false, "type": "null or absolute path"}, "services.chhoto-url.settings.db_url": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/chhoto-url/urls.sqlite\""}, "description": "The path of the sqlite database.", "loc": ["services", "chhoto-url", "settings", "db_url"], "readOnly": false, "type": "absolute path"}, "services.chhoto-url.settings.disable_frontend": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable the frontend.", "loc": ["services", "chhoto-url", "settings", "disable_frontend"], "readOnly": false, "type": "boolean"}, "services.chhoto-url.settings.hash_algorithm": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The hash algorithm to use for passwords and API keys.\nSet to `null` if you want to provide these secrets as plaintext.\n", "loc": ["services", "chhoto-url", "settings", "hash_algorithm"], "readOnly": false, "type": "null or value \"Argon2\" (singular enum)"}, "services.chhoto-url.settings.port": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "description": "The port to listen on.", "example": {"_type": "literalExpression", "text": "4567"}, "loc": ["services", "chhoto-url", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.chhoto-url.settings.public_mode": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable public mode.", "loc": ["services", "chhoto-url", "settings", "public_mode"], "readOnly": false, "type": "boolean"}, "services.chhoto-url.settings.public_mode_expiry_delay": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum expiry delay in seconds to force in public mode.", "example": {"_type": "literalExpression", "text": "3600"}, "loc": ["services", "chhoto-url", "settings", "public_mode_expiry_delay"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "services.chhoto-url.settings.redirect_method": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "\"PERMANENT\""}, "description": "The redirect method to use.", "loc": ["services", "chhoto-url", "settings", "redirect_method"], "readOnly": false, "type": "one of \"TEMPORARY\", \"PERMANENT\""}, "services.chhoto-url.settings.site_url": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The URL under which Chhoto URL is externally reachable.", "loc": ["services", "chhoto-url", "settings", "site_url"], "readOnly": false, "type": "null or string"}, "services.chhoto-url.settings.slug_length": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "8"}, "description": "The length of auto-generated slugs.", "loc": ["services", "chhoto-url", "settings", "slug_length"], "readOnly": false, "type": "signed integer"}, "services.chhoto-url.settings.slug_style": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "\"Pair\""}, "description": "The slug style to use for auto-generated URLs.", "loc": ["services", "chhoto-url", "settings", "slug_style"], "readOnly": false, "type": "one of \"Pair\", \"UID\""}, "services.chhoto-url.settings.try_longer_slugs": {"declarations": ["nixos/modules/services/web-apps/chhoto-url.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to try a longer UID upon collision.", "loc": ["services", "chhoto-url", "settings", "try_longer_slugs"], "readOnly": false, "type": "boolean"}, "services.chisel-server.authfile": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to auth.json file", "loc": ["services", "chisel-server", "authfile"], "readOnly": false, "type": "null or absolute path"}, "services.chisel-server.backend": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "HTTP server to proxy normal requests to", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:8888\""}, "loc": ["services", "chisel-server", "backend"], "readOnly": false, "type": "null or string"}, "services.chisel-server.enable": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Chisel Tunnel Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "chisel-server", "enable"], "readOnly": false, "type": "boolean"}, "services.chisel-server.host": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Address to listen on, falls back to 0.0.0.0", "example": {"_type": "literalExpression", "text": "\"[::1]\""}, "loc": ["services", "chisel-server", "host"], "readOnly": false, "type": "null or string"}, "services.chisel-server.keepalive": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Keepalive interval, falls back to 25s", "example": {"_type": "literalExpression", "text": "\"5s\""}, "loc": ["services", "chisel-server", "keepalive"], "readOnly": false, "type": "null or string"}, "services.chisel-server.port": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port to listen on, falls back to 8080", "loc": ["services", "chisel-server", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.chisel-server.reverse": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow clients reverse port forwarding", "loc": ["services", "chisel-server", "reverse"], "readOnly": false, "type": "boolean"}, "services.chisel-server.socks5": {"declarations": ["nixos/modules/services/networking/chisel-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow clients access to internal SOCKS5 proxy", "loc": ["services", "chisel-server", "socks5"], "readOnly": false, "type": "boolean"}, "services.chromadb.dbpath": {"declarations": ["nixos/modules/services/databases/chromadb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/chromadb\""}, "description": "Location where ChromaDB stores its files", "loc": ["services", "chromadb", "dbpath"], "readOnly": false, "type": "string"}, "services.chromadb.enable": {"declarations": ["nixos/modules/services/databases/chromadb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ChromaDB, an open-source AI application database..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "chromadb", "enable"], "readOnly": false, "type": "boolean"}, "services.chromadb.host": {"declarations": ["nixos/modules/services/databases/chromadb.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Defines the IP address by which ChromaDB will be accessible.\n", "loc": ["services", "chromadb", "host"], "readOnly": false, "type": "string"}, "services.chromadb.openFirewall": {"declarations": ["nixos/modules/services/databases/chromadb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically open the specified TCP port in the firewall.\n", "loc": ["services", "chromadb", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.chromadb.package": {"declarations": ["nixos/modules/services/databases/chromadb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3Packages.chromadb"}, "description": "The chromadb package to use.", "loc": ["services", "chromadb", "package"], "readOnly": false, "type": "package"}, "services.chromadb.port": {"declarations": ["nixos/modules/services/databases/chromadb.nix"], "default": {"_type": "literalExpression", "text": "8000"}, "description": "Defined the port number to listen.\n", "loc": ["services", "chromadb", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.chrony.autotrimThreshold": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "30"}, "description": "Maximum estimated error threshold for the `rtcautotrim` command.\nWhen reached, the RTC will be trimmed.\nOnly used when [](#opt-services.chrony.enableRTCTrimming) is enabled.\n", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["services", "chrony", "autotrimThreshold"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.chrony.directory": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/chrony\""}, "description": "Directory where chrony state is stored.", "loc": ["services", "chrony", "directory"], "readOnly": false, "type": "string"}, "services.chrony.dispatcherScript": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "config.networking.networkmanager.enable"}, "description": "Whether to install the chrony NetworkManager dispatcher script\nto handle connectivity changes.\n", "loc": ["services", "chrony", "dispatcherScript"], "readOnly": false, "type": "boolean"}, "services.chrony.enable": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to synchronise your machine's time using chrony.\nMake sure you disable NTP if you enable this service.\n", "loc": ["services", "chrony", "enable"], "readOnly": false, "type": "boolean"}, "services.chrony.enableMemoryLocking": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "config.environment.memoryAllocator.provider != \"graphene-hardened\" && config.environment.memoryAllocator.provider != \"graphene-hardened-light\""}, "description": "Whether to add the `-m` flag to lock memory.\n", "loc": ["services", "chrony", "enableMemoryLocking"], "readOnly": false, "type": "boolean"}, "services.chrony.enableNTS": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Network Time Security authentication.\nMake sure it is supported by your selected NTP server(s).\n", "loc": ["services", "chrony", "enableNTS"], "readOnly": false, "type": "boolean"}, "services.chrony.enableRTCTrimming": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable tracking of the RTC offset to the system clock and automatic trimming.\nSee also [](#opt-services.chrony.autotrimThreshold)\n\n::: {.note}\nThis is not compatible with the `rtcsync` directive, which naively syncs the RTC time every 11 minutes.\n\nTracking the RTC drift will allow more precise timekeeping,\nespecially on intermittently running devices, where the RTC is very relevant.\n:::\n", "loc": ["services", "chrony", "enableRTCTrimming"], "readOnly": false, "type": "boolean"}, "services.chrony.extraConfig": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration directives that should be added to\n{file}`chrony.conf`\n", "loc": ["services", "chrony", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.chrony.extraFlags": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags passed to the chronyd command.", "example": {"_type": "literalExpression", "text": "[\n  \"-s\"\n]"}, "loc": ["services", "chrony", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.chrony.initstepslew.enabled": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "DEPRECATED. Consider using `services.chrony.makestep` instead.\nAllow chronyd to make a rapid measurement of the system clock error\nat boot time, and to correct the system clock by stepping before\nnormal operation begins.\n", "loc": ["services", "chrony", "initstepslew", "enabled"], "readOnly": false, "type": "boolean"}, "services.chrony.initstepslew.threshold": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "The threshold of system clock error (in seconds) above which the\nclock will be stepped. If the correction required is less than the\nthreshold, a slew is used instead.\n", "loc": ["services", "chrony", "initstepslew", "threshold"], "readOnly": false, "type": "floating point number or signed integer"}, "services.chrony.makestep.enable": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Allow chronyd to step the system clock if the error is larger than\nthe specified threshold.\n", "loc": ["services", "chrony", "makestep", "enable"], "readOnly": false, "type": "boolean"}, "services.chrony.makestep.limit": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "The maximum number of times the system clock will be stepped.\n", "loc": ["services", "chrony", "makestep", "limit"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.chrony.makestep.threshold": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "0.1"}, "description": "The threshold of system clock error (in seconds) above which the\nclock will be stepped. If the correction required is less than the\nthreshold, a slew is used instead.\n", "loc": ["services", "chrony", "makestep", "threshold"], "readOnly": false, "type": "floating point number or signed integer"}, "services.chrony.package": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "pkgs.chrony"}, "description": "The chrony package to use.", "loc": ["services", "chrony", "package"], "readOnly": false, "type": "package"}, "services.chrony.serverOption": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "\"iburst\""}, "description": "Set option for server directives.\n\nUse \"iburst\" to rapidly poll on startup. Recommended if your machine\nis consistently online.\n\nUse \"offline\" to prevent polling on startup. Recommended if your\nmachine boots offline or is otherwise frequently offline.\n", "loc": ["services", "chrony", "serverOption"], "readOnly": false, "type": "one of \"iburst\", \"offline\""}, "services.chrony.servers": {"declarations": ["nixos/modules/services/networking/ntp/chrony.nix"], "default": {"_type": "literalExpression", "text": "config.networking.timeServers"}, "description": "The set of NTP servers from which to synchronise.\n", "loc": ["services", "chrony", "servers"], "readOnly": false, "type": "list of string"}, "services.cinnamon.apps.enable": {"declarations": ["nixos/modules/services/x11/desktop-managers/cinnamon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cinnamon default applications.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cinnamon", "apps", "enable"], "readOnly": false, "type": "boolean"}, "services.cjdns.ETHInterface.beacon": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "Auto-connect to other cjdns nodes on the same network.\nOptions:\n  0: Disabled.\n  1: Accept beacons, this will cause cjdns to accept incoming\n     beacon messages and try connecting to the sender.\n  2: Accept and send beacons, this will cause cjdns to broadcast\n     messages on the local network which contain a randomly\n     generated per-session password, other nodes which have this\n     set to 1 or 2 will hear the beacon messages and connect\n     automatically.\n", "loc": ["services", "cjdns", "ETHInterface", "beacon"], "readOnly": false, "type": "signed integer"}, "services.cjdns.ETHInterface.bind": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Bind to this device for native ethernet operation.\n`all` is a pseudo-name which will try to connect to all devices.\n", "example": {"_type": "literalExpression", "text": "\"eth0\""}, "loc": ["services", "cjdns", "ETHInterface", "bind"], "readOnly": false, "type": "string"}, "services.cjdns.ETHInterface.connectTo": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Credentials for connecting look similar to UDP credientials\nexcept they begin with the mac address.\n", "example": {"_type": "literalExpression", "text": "{\n  \"01:02:03:04:05:06\" = {\n    hostname = \"homer.hype\";\n    password = \"5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM\";\n    publicKey = \"371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k\";\n  };\n}\n"}, "loc": ["services", "cjdns", "ETHInterface", "connectTo"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.cjdns.ETHInterface.connectTo.<name>.hostname": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Optional hostname to add to /etc/hosts; prevents reverse lookup failures.", "example": {"_type": "literalExpression", "text": "\"foobar.hype\""}, "loc": ["services", "cjdns", "ETHInterface", "connectTo", "<name>", "hostname"], "readOnly": false, "type": "string"}, "services.cjdns.ETHInterface.connectTo.<name>.login": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "(optional) name your peer has for you", "loc": ["services", "cjdns", "ETHInterface", "connectTo", "<name>", "login"], "readOnly": false, "type": "string"}, "services.cjdns.ETHInterface.connectTo.<name>.password": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "description": "Authorized password to the opposite end of the tunnel.", "loc": ["services", "cjdns", "ETHInterface", "connectTo", "<name>", "password"], "readOnly": false, "type": "string"}, "services.cjdns.ETHInterface.connectTo.<name>.peerName": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "(optional) human-readable name for peer", "loc": ["services", "cjdns", "ETHInterface", "connectTo", "<name>", "peerName"], "readOnly": false, "type": "string"}, "services.cjdns.ETHInterface.connectTo.<name>.publicKey": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "description": "Public key at the opposite end of the tunnel.", "loc": ["services", "cjdns", "ETHInterface", "connectTo", "<name>", "publicKey"], "readOnly": false, "type": "string"}, "services.cjdns.UDPInterface.bind": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Address and port to bind UDP tunnels to.\n", "example": {"_type": "literalExpression", "text": "\"192.168.1.32:43211\""}, "loc": ["services", "cjdns", "UDPInterface", "bind"], "readOnly": false, "type": "string"}, "services.cjdns.UDPInterface.connectTo": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Credentials for making UDP tunnels.\n", "example": {"_type": "literalExpression", "text": "{\n  \"192.168.1.1:27313\" = {\n    hostname = \"homer.hype\";\n    password = \"5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM\";\n    publicKey = \"371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k\";\n  };\n}\n"}, "loc": ["services", "cjdns", "UDPInterface", "connectTo"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.cjdns.UDPInterface.connectTo.<name>.hostname": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Optional hostname to add to /etc/hosts; prevents reverse lookup failures.", "example": {"_type": "literalExpression", "text": "\"foobar.hype\""}, "loc": ["services", "cjdns", "UDPInterface", "connectTo", "<name>", "hostname"], "readOnly": false, "type": "string"}, "services.cjdns.UDPInterface.connectTo.<name>.login": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "(optional) name your peer has for you", "loc": ["services", "cjdns", "UDPInterface", "connectTo", "<name>", "login"], "readOnly": false, "type": "string"}, "services.cjdns.UDPInterface.connectTo.<name>.password": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "description": "Authorized password to the opposite end of the tunnel.", "loc": ["services", "cjdns", "UDPInterface", "connectTo", "<name>", "password"], "readOnly": false, "type": "string"}, "services.cjdns.UDPInterface.connectTo.<name>.peerName": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "(optional) human-readable name for peer", "loc": ["services", "cjdns", "UDPInterface", "connectTo", "<name>", "peerName"], "readOnly": false, "type": "string"}, "services.cjdns.UDPInterface.connectTo.<name>.publicKey": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "description": "Public key at the opposite end of the tunnel.", "loc": ["services", "cjdns", "UDPInterface", "connectTo", "<name>", "publicKey"], "readOnly": false, "type": "string"}, "services.cjdns.addExtraHosts": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add cjdns peers with an associated hostname to\n{file}`/etc/hosts`.  Beware that enabling this\nincurs heavy eval-time costs.\n", "loc": ["services", "cjdns", "addExtraHosts"], "readOnly": false, "type": "boolean"}, "services.cjdns.admin.bind": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:11234\""}, "description": "Bind the administration port to this address and port.\n", "loc": ["services", "cjdns", "admin", "bind"], "readOnly": false, "type": "string"}, "services.cjdns.authorizedPasswords": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Any remote cjdns nodes that offer these passwords on\nconnection will be allowed to route through this node.\n", "example": {"_type": "literalExpression", "text": "[\n  \"snyrfgkqsc98qh1y4s5hbu0j57xw5s0\"\n  \"z9md3t4p45mfrjzdjurxn4wuj0d8swv\"\n  \"49275fut6tmzu354pq70sr5b95qq0vj\"\n]"}, "loc": ["services", "cjdns", "authorizedPasswords"], "readOnly": false, "type": "list of string"}, "services.cjdns.confFile": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Ignore all other cjdns options and load configuration from this file.\n", "example": {"_type": "literalExpression", "text": "\"/etc/cjdroute.conf\""}, "loc": ["services", "cjdns", "confFile"], "readOnly": false, "type": "null or absolute path"}, "services.cjdns.enable": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the cjdns network encryption\nand routing engine. A file at /etc/cjdns.keys will\nbe created if it does not exist to contain a random\nsecret key that your IPv6 address will be derived from.\n", "loc": ["services", "cjdns", "enable"], "readOnly": false, "type": "boolean"}, "services.cjdns.extraConfig": {"declarations": ["nixos/modules/services/networking/cjdns.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration, given as attrs, that will be merged recursively\nwith the rest of the JSON generated by this module, at the root node.\n", "example": {"_type": "literalExpression", "text": "{\n  router = {\n    interface = {\n      tunDevice = \"tun10\";\n    };\n  };\n}"}, "loc": ["services", "cjdns", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.clamav.clamonacc.enable": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ClamAV on-access scanner.\n\nThe settings for ClamAV's on-access scanner is configured in `clamd.conf` via `services.clamav.daemon.settings`.\nRefer to <https://docs.clamav.net/manual/OnAccess.html> on how to configure it.\n\nExample to scan `/home/foo/Downloads` (and block access until scanning is completed) would be:\n```\nservices.clamav = {\n  daemon.enable = true;\n  clamonacc.enable = true;\n\n  daemon.settings = {\n    OnAccessPrevention = true;\n    OnAccessIncludePath = \"/home/foo/Downloads\";\n  };\n};\n```\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clamav", "clamonacc", "enable"], "readOnly": false, "type": "boolean"}, "services.clamav.daemon.enable": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ClamAV clamd daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clamav", "daemon", "enable"], "readOnly": false, "type": "boolean"}, "services.clamav.daemon.settings": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "ClamAV configuration. Refer to <https://linux.die.net/man/5/clamd.conf>,\nfor details on supported values.\n", "loc": ["services", "clamav", "daemon", "settings"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string or list of string)"}, "services.clamav.fangfrisch.enable": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ClamAV fangfrisch updater.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clamav", "fangfrisch", "enable"], "readOnly": false, "type": "boolean"}, "services.clamav.fangfrisch.interval": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "\"hourly\""}, "description": "How often freshclam is invoked. See {manpage}`systemd.time(7)` for more\ninformation about the format.\n", "loc": ["services", "clamav", "fangfrisch", "interval"], "readOnly": false, "type": "string"}, "services.clamav.fangfrisch.settings": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "fangfrisch configuration. Refer to <https://rseichter.github.io/fangfrisch/#_configuration>,\nfor details on supported values.\nNote that by default urlhaus and sanesecurity are enabled.\n", "example": {"_type": "literalExpression", "text": "{\n  securiteinfo = {\n    customer_id = \"your customer_id\";\n    enabled = \"yes\";\n  };\n}"}, "loc": ["services", "clamav", "fangfrisch", "settings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of (string or signed integer or boolean)"}, "services.clamav.package": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clamav"}, "description": "The clamav package to use.", "loc": ["services", "clamav", "package"], "readOnly": false, "type": "package"}, "services.clamav.scanner.enable": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ClamAV scanner.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clamav", "scanner", "enable"], "readOnly": false, "type": "boolean"}, "services.clamav.scanner.interval": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "\"*-*-* 04:00:00\""}, "description": "How often clamdscan is invoked. See {manpage}`systemd.time(7)` for more\ninformation about the format.\nBy default this runs using 10 cores at most, be sure to run it at a time of low traffic.\n", "loc": ["services", "clamav", "scanner", "interval"], "readOnly": false, "type": "string"}, "services.clamav.scanner.scanDirectories": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/home\"\n  \"/var/lib\"\n  \"/tmp\"\n  \"/etc\"\n  \"/var/tmp\"\n]"}, "description": "List of directories to scan.\nThe default includes everything I could think of that is valid for nixos. Feel free to contribute a PR to add to the default if you see something missing.\n", "loc": ["services", "clamav", "scanner", "scanDirectories"], "readOnly": false, "type": "list of string"}, "services.clamav.updater.enable": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ClamAV freshclam updater.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clamav", "updater", "enable"], "readOnly": false, "type": "boolean"}, "services.clamav.updater.frequency": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "12"}, "description": "Number of database checks per day.\n", "loc": ["services", "clamav", "updater", "frequency"], "readOnly": false, "type": "signed integer"}, "services.clamav.updater.interval": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "\"hourly\""}, "description": "How often freshclam is invoked. See {manpage}`systemd.time(7)` for more\ninformation about the format.\n", "loc": ["services", "clamav", "updater", "interval"], "readOnly": false, "type": "string"}, "services.clamav.updater.settings": {"declarations": ["nixos/modules/services/security/clamav.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "freshclam configuration. Refer to <https://linux.die.net/man/5/freshclam.conf>,\nfor details on supported values.\n", "loc": ["services", "clamav", "updater", "settings"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string or list of string)"}, "services.clatd.enable": {"declarations": ["nixos/modules/services/networking/clatd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable clatd.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clatd", "enable"], "readOnly": false, "type": "boolean"}, "services.clatd.enableNetworkManagerIntegration": {"declarations": ["nixos/modules/services/networking/clatd.nix"], "default": {"_type": "literalExpression", "text": "\"config.networking.networkmanager.enable\""}, "description": "Whether to enable NetworkManager integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clatd", "enableNetworkManagerIntegration"], "readOnly": false, "type": "boolean"}, "services.clatd.package": {"declarations": ["nixos/modules/services/networking/clatd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clatd"}, "description": "The clatd package to use.", "loc": ["services", "clatd", "package"], "readOnly": false, "type": "package"}, "services.clatd.settings": {"declarations": ["nixos/modules/services/networking/clatd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration of clatd. See [clatd Documentation](https://github.com/toreanderson/clatd/blob/master/README.pod#configuration).\n", "example": {"_type": "literalExpression", "text": "{\n  plat-prefix = \"64:ff9b::/96\";\n}\n"}, "loc": ["services", "clatd", "settings"], "readOnly": false, "type": "open submodule of attribute set of (atom (null, bool, int, float or string))"}, "services.clickhouse.enable": {"declarations": ["nixos/modules/services/databases/clickhouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ClickHouse database server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clickhouse", "enable"], "readOnly": false, "type": "boolean"}, "services.clickhouse.extraServerConfig": {"declarations": ["nixos/modules/services/databases/clickhouse.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional raw XML configuration for ClickHouse server.", "example": {"_type": "literalExpression", "text": "''\n  <clickhouse>\n    <max_connections>500</max_connections>\n    <keep_alive_timeout>3</keep_alive_timeout>\n  </clickhouse>\n''"}, "loc": ["services", "clickhouse", "extraServerConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.clickhouse.extraUsersConfig": {"declarations": ["nixos/modules/services/databases/clickhouse.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional raw XML configuration for ClickHouse server.", "example": {"_type": "literalExpression", "text": "''\n  <clickhouse>\n    <users>\n      <readonly>\n        <profile>readonly</profile>\n      </readonly>\n    </users>\n  </clickhouse>\n''"}, "loc": ["services", "clickhouse", "extraUsersConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.clickhouse.package": {"declarations": ["nixos/modules/services/databases/clickhouse.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clickhouse"}, "description": "The clickhouse package to use.", "example": {"_type": "literalExpression", "text": "pkgs.clickhouse-lts"}, "loc": ["services", "clickhouse", "package"], "readOnly": false, "type": "package"}, "services.clickhouse.serverConfig": {"declarations": ["nixos/modules/services/databases/clickhouse.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Your {file}`config.yaml` as a Nix attribute set.\nCheck the [documentation](https://clickhouse.com/docs/operations/configuration-files)\nfor possible options.\n", "example": {"_type": "literalExpression", "text": "{\n  http_port = 8123;\n  tcp_port = 9000;\n\n  remote_servers = {\n    default = {\n      shard = {\n        replica = [\n          { host = \"::\"; port = \"9000\"; }\n          { host = \"::\"; port = \"9001\"; }\n          { host = \"::\"; port = \"9002\"; }\n        ];\n      };\n    };\n  };\n}\n"}, "loc": ["services", "clickhouse", "serverConfig"], "readOnly": false, "type": "YAML 1.1 value"}, "services.clickhouse.usersConfig": {"declarations": ["nixos/modules/services/databases/clickhouse.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Your {file}`users.yaml` as a Nix attribute set.\nCheck the [documentation](https://clickhouse.com/docs/operations/configuration-files#user-settings)\nfor possible options.\n", "example": {"_type": "literalExpression", "text": "{\n  profiles = {};\n\n  users = {\n    default = {\n      profile = \"default\";\n      password_sha256_hex = \"36dd292533174299fb0c34665df468bb881756ca9eaf9757d0cfde38f9ededa1\";  # `echo -n verysecret | sha256sum`\n    };\n  };\n}\n"}, "loc": ["services", "clickhouse", "usersConfig"], "readOnly": false, "type": "YAML 1.1 value"}, "services.clight.enable": {"declarations": ["nixos/modules/services/x11/clight.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable clight.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clight", "enable"], "readOnly": false, "type": "boolean"}, "services.clight.settings": {"declarations": ["nixos/modules/services/x11/clight.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional configuration to extend clight.conf. See\n<https://github.com/FedeDP/Clight/blob/master/Extra/clight.conf> for a\nsample configuration file.\n", "example": {"_type": "literalExpression", "text": "{\n  ac_capture_timeouts = [\n    120\n    300\n    60\n  ];\n  captures = 20;\n  gamma_long_transition = true;\n}"}, "loc": ["services", "clight", "settings"], "readOnly": false, "type": "attribute set of (null or signed integer or string or boolean or floating point number or list of (signed integer or string or boolean or floating point number) or attribute set of (signed integer or string or boolean or floating point number or list of (signed integer or string or boolean or floating point number)))"}, "services.clight.temperature.day": {"declarations": ["nixos/modules/services/x11/clight.nix"], "default": {"_type": "literalExpression", "text": "5500"}, "description": "Colour temperature to use during the day, between\n`1000` and `25000` K.\n", "loc": ["services", "clight", "temperature", "day"], "readOnly": false, "type": "signed integer"}, "services.clight.temperature.night": {"declarations": ["nixos/modules/services/x11/clight.nix"], "default": {"_type": "literalExpression", "text": "3700"}, "description": "Colour temperature to use at night, between\n`1000` and `25000` K.\n", "loc": ["services", "clight", "temperature", "night"], "readOnly": false, "type": "signed integer"}, "services.clipcat.enable": {"declarations": ["nixos/modules/services/misc/clipcat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Clipcat clipboard daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clipcat", "enable"], "readOnly": false, "type": "boolean"}, "services.clipcat.package": {"declarations": ["nixos/modules/services/misc/clipcat.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clipcat"}, "description": "The clipcat package to use.", "loc": ["services", "clipcat", "package"], "readOnly": false, "type": "package"}, "services.clipmenu.enable": {"declarations": ["nixos/modules/services/misc/clipmenu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable clipmenu, the clipboard management daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "clipmenu", "enable"], "readOnly": false, "type": "boolean"}, "services.clipmenu.package": {"declarations": ["nixos/modules/services/misc/clipmenu.nix"], "default": {"_type": "literalExpression", "text": "pkgs.clipmenu"}, "description": "The clipmenu package to use.", "loc": ["services", "clipmenu", "package"], "readOnly": false, "type": "package"}, "services.cloud-init.btrfs.enable": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "hasFs \"btrfs\""}, "description": "Allow the cloud-init service to operate `btrfs` filesystem.\n", "loc": ["services", "cloud-init", "btrfs", "enable"], "readOnly": false, "type": "boolean"}, "services.cloud-init.config": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "raw cloud-init configuration.\n\nTakes precedence over the `settings` option if set.\n", "loc": ["services", "cloud-init", "config"], "readOnly": false, "type": "string"}, "services.cloud-init.enable": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the cloud-init service. This services reads\nconfiguration metadata in a cloud environment and configures\nthe machine according to this metadata.\n\nThis configuration is not completely compatible with the\nNixOS way of doing configuration, as configuration done by\ncloud-init might be overridden by a subsequent nixos-rebuild\ncall. However, some parts of cloud-init fall outside of\nNixOS's responsibility, like filesystem resizing and ssh\npublic key provisioning, and cloud-init is useful for that\nparts. Thus, be wary that using cloud-init in NixOS might\ncome as some cost.\n", "loc": ["services", "cloud-init", "enable"], "readOnly": false, "type": "boolean"}, "services.cloud-init.ext4.enable": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "hasFs \"ext4\""}, "description": "Allow the cloud-init service to operate `ext4` filesystem.\n", "loc": ["services", "cloud-init", "ext4", "enable"], "readOnly": false, "type": "boolean"}, "services.cloud-init.extraPackages": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional packages to be available within cloud-init jobs.\n", "loc": ["services", "cloud-init", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.cloud-init.network.enable": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow the cloud-init service to configure network interfaces\nthrough systemd-networkd.\n", "loc": ["services", "cloud-init", "network", "enable"], "readOnly": false, "type": "boolean"}, "services.cloud-init.settings": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Structured cloud-init configuration.\n", "loc": ["services", "cloud-init", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.cloud-init.xfs.enable": {"declarations": ["nixos/modules/services/system/cloud-init.nix"], "default": {"_type": "literalExpression", "text": "hasFs \"xfs\""}, "description": "Allow the cloud-init service to operate `xfs` filesystem.\n", "loc": ["services", "cloud-init", "xfs", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudflare-ddns.cacheExpiration": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"6h\""}, "description": "Duration for which API responses (like Zone ID, Record IDs) are cached.\nUses Go's duration format (e.g., \"6h\", \"1h30m\").\n", "loc": ["services", "cloudflare-ddns", "cacheExpiration"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.credentialsFile": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "description": "Path to a file containing the Cloudflare API authentication token.\nThe file content should be in the format `CLOUDFLARE_API_TOKEN=YOUR_SECRET_TOKEN`.\nThe service user needs read access to this file.\nEnsure permissions are secure (e.g., `0400` or `0440`) and ownership is appropriate\nUsing `CLOUDFLARE_API_TOKEN` is preferred over the deprecated `CF_API_TOKEN`.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/cloudflare-ddns-token\""}, "loc": ["services", "cloudflare-ddns", "credentialsFile"], "readOnly": false, "type": "absolute path"}, "services.cloudflare-ddns.deleteOnStop": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to delete the managed DNS records and clear WAF lists when the service is stopped gracefully.\nWarning: Setting this to true with `updateCron = \"@once\"` will cause immediate deletion.\n", "loc": ["services", "cloudflare-ddns", "deleteOnStop"], "readOnly": false, "type": "boolean"}, "services.cloudflare-ddns.detectionTimeout": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"5s\""}, "description": "Timeout for detecting the public IP address.", "loc": ["services", "cloudflare-ddns", "detectionTimeout"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.domains": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of domain names (FQDNs) to manage. Wildcards like `*.example.com` are supported.\nThese domains will be managed for both IPv4 and IPv6 unless overridden by\n`ip4Domains` or `ip6Domains`, or if the respective providers are disabled.\nThis corresponds to the `DOMAINS` environment variable.\n", "example": {"_type": "literalExpression", "text": "[\n  \"home.example.com\"\n  \"*.dynamic.example.org\"\n]"}, "loc": ["services", "cloudflare-ddns", "domains"], "readOnly": false, "type": "list of string"}, "services.cloudflare-ddns.enable": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cloudflare Dynamic DNS service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cloudflare-ddns", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudflare-ddns.group": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"cloudflare-ddns\""}, "description": "Group under which the service runs.", "loc": ["services", "cloudflare-ddns", "group"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.healthchecks": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL for Healthchecks.io monitoring endpoint (optional).", "example": {"_type": "literalExpression", "text": "\"https://hc-ping.com/your-uuid\""}, "loc": ["services", "cloudflare-ddns", "healthchecks"], "readOnly": false, "type": "null or string"}, "services.cloudflare-ddns.ip4Domains": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Explicit list of domains to manage only for IPv4. If set, overrides `domains` for IPv4.\nCorresponds to the `IP4_DOMAINS` environment variable.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ipv4.example.com\"\n]"}, "loc": ["services", "cloudflare-ddns", "ip4Domains"], "readOnly": false, "type": "null or (list of string)"}, "services.cloudflare-ddns.ip6Domains": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Explicit list of domains to manage only for IPv6. If set, overrides `domains` for IPv6.\nCorresponds to the `IP6_DOMAINS` environment variable.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ipv6.example.com\"\n]"}, "loc": ["services", "cloudflare-ddns", "ip6Domains"], "readOnly": false, "type": "null or (list of string)"}, "services.cloudflare-ddns.package": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cloudflare-ddns"}, "description": "The cloudflare-ddns package to use.", "loc": ["services", "cloudflare-ddns", "package"], "readOnly": false, "type": "package"}, "services.cloudflare-ddns.provider.ipv4": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"cloudflare.trace\""}, "description": "IP detection provider for IPv4. Common values: `cloudflare.trace`, `cloudflare.doh`, `local`, `url:URL`, `none`.\nUse `none` to disable IPv4 updates.\nSee cloudflare-ddns documentation for all options.\n", "loc": ["services", "cloudflare-ddns", "provider", "ipv4"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.provider.ipv6": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"cloudflare.trace\""}, "description": "IP detection provider for IPv6. Common values: `cloudflare.trace`, `cloudflare.doh`, `local`, `url:URL`, `none`.\nUse `none` to disable IPv6 updates.\nSee cloudflare-ddns documentation for all options.\n", "loc": ["services", "cloudflare-ddns", "provider", "ipv6"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.proxied": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"false\""}, "description": "Whether the managed DNS records should be proxied through Cloudflare ('orange cloud').\nAccepts boolean values (`true`, `false`) or a domain expression.\nSee cloudflare-ddns documentation for expression syntax (e.g., \"is(a.com) || sub(b.org)\").\n", "example": {"_type": "literalExpression", "text": "\"true\""}, "loc": ["services", "cloudflare-ddns", "proxied"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.recordComment": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Comment to add to managed DNS records.", "loc": ["services", "cloudflare-ddns", "recordComment"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.shoutrrr": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of Shoutrrr notification service URLs (optional).", "example": {"_type": "literalExpression", "text": "[\n  \"discord://token@id\"\n  \"gotify://host/token\"\n]"}, "loc": ["services", "cloudflare-ddns", "shoutrrr"], "readOnly": false, "type": "null or (list of string)"}, "services.cloudflare-ddns.ttl": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Time To Live (TTL) for the DNS records in seconds.\nMust be 1 (for automatic) or between 30 and 86400.\n", "loc": ["services", "cloudflare-ddns", "ttl"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.cloudflare-ddns.updateCron": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"@every 5m\""}, "description": "Cron expression for how often to check and update IPs.\nUse \"@once\" to run only once and then exit.\n", "example": {"_type": "literalExpression", "text": "\"@hourly\""}, "loc": ["services", "cloudflare-ddns", "updateCron"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.updateOnStart": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to perform an update check immediately on service start.", "loc": ["services", "cloudflare-ddns", "updateOnStart"], "readOnly": false, "type": "boolean"}, "services.cloudflare-ddns.updateTimeout": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"30s\""}, "description": "Timeout for updating records via the Cloudflare API.", "loc": ["services", "cloudflare-ddns", "updateTimeout"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.uptimeKuma": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL for Uptime Kuma push monitor endpoint (optional).", "example": {"_type": "literalExpression", "text": "\"https://status.example.com/api/push/tag?status=up&msg=OK&ping=\""}, "loc": ["services", "cloudflare-ddns", "uptimeKuma"], "readOnly": false, "type": "null or string"}, "services.cloudflare-ddns.user": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"cloudflare-ddns\""}, "description": "User account under which the service runs.", "loc": ["services", "cloudflare-ddns", "user"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.wafListDescription": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Description for managed WAF lists (used when creating or verifying lists).", "loc": ["services", "cloudflare-ddns", "wafListDescription"], "readOnly": false, "type": "string"}, "services.cloudflare-ddns.wafLists": {"declarations": ["nixos/modules/services/networking/cloudflare-ddns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of WAF IP Lists to manage, in the format `account-id/list-name`.\n(Experimental feature as of cloudflare-ddns 1.14.0).\n", "example": {"_type": "literalExpression", "text": "[\n  \"YOUR_ACCOUNT_ID/allowed_dynamic_ips\"\n]"}, "loc": ["services", "cloudflare-ddns", "wafLists"], "readOnly": false, "type": "list of string"}, "services.cloudflare-dyndns.apiTokenFile": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "description": "The path to a file containing the CloudFlare API token.\n", "loc": ["services", "cloudflare-dyndns", "apiTokenFile"], "readOnly": false, "type": "absolute path not in the Nix store"}, "services.cloudflare-dyndns.deleteMissing": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to delete the record when no IP address is found.\n", "loc": ["services", "cloudflare-dyndns", "deleteMissing"], "readOnly": false, "type": "boolean"}, "services.cloudflare-dyndns.domains": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of domain names to update records for.\n", "loc": ["services", "cloudflare-dyndns", "domains"], "readOnly": false, "type": "list of string"}, "services.cloudflare-dyndns.enable": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cloudflare Dynamic DNS Client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cloudflare-dyndns", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudflare-dyndns.frequency": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "\"*:0/5\""}, "description": "Run cloudflare-dyndns with the given frequency (see\n{manpage}`systemd.time(7)` for the format).\nIf null, do not run automatically.\n", "loc": ["services", "cloudflare-dyndns", "frequency"], "readOnly": false, "type": "null or string"}, "services.cloudflare-dyndns.ipv4": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable setting IPv4 A records.\n", "loc": ["services", "cloudflare-dyndns", "ipv4"], "readOnly": false, "type": "boolean"}, "services.cloudflare-dyndns.ipv6": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable setting IPv6 AAAA records.\n", "loc": ["services", "cloudflare-dyndns", "ipv6"], "readOnly": false, "type": "boolean"}, "services.cloudflare-dyndns.package": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cloudflare-dyndns"}, "description": "The cloudflare-dyndns package to use.", "loc": ["services", "cloudflare-dyndns", "package"], "readOnly": false, "type": "package"}, "services.cloudflare-dyndns.proxied": {"declarations": ["nixos/modules/services/networking/cloudflare-dyndns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether this is a DNS-only record, or also being proxied through CloudFlare.\n", "loc": ["services", "cloudflare-dyndns", "proxied"], "readOnly": false, "type": "boolean"}, "services.cloudflare-warp.enable": {"declarations": ["nixos/modules/services/networking/cloudflare-warp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cloudflare Zero Trust client daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cloudflare-warp", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudflare-warp.openFirewall": {"declarations": ["nixos/modules/services/networking/cloudflare-warp.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable opening UDP ports in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cloudflare-warp", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.cloudflare-warp.package": {"declarations": ["nixos/modules/services/networking/cloudflare-warp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cloudflare-warp"}, "description": "The cloudflare-warp package to use.", "loc": ["services", "cloudflare-warp", "package"], "readOnly": false, "type": "package"}, "services.cloudflare-warp.rootDir": {"declarations": ["nixos/modules/services/networking/cloudflare-warp.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cloudflare-warp\""}, "description": "Working directory for the warp-svc daemon.\n", "loc": ["services", "cloudflare-warp", "rootDir"], "readOnly": false, "type": "string"}, "services.cloudflare-warp.udpPort": {"declarations": ["nixos/modules/services/networking/cloudflare-warp.nix"], "default": {"_type": "literalExpression", "text": "2408"}, "description": "The UDP port to open in the firewall. Warp uses port 2408 by default, but fallback ports can be used\nif that conflicts with another service. See the [firewall documentation](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/deployment/firewall#warp-udp-ports)\nfor the pre-configured available fallback ports.\n", "loc": ["services", "cloudflare-warp", "udpPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cloudflared.certificateFile": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Account certificate file, necessary to create, delete and manage tunnels. It can be obtained by running `cloudflared login`.\n\nNote that this is **necessary** for a fully declarative set up, as routes can not otherwise be created outside of the Cloudflare interface.\n\nSee [Cert.pem](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-terms/#certpem) for information about the file, and [Tunnel permissions](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/local-management/tunnel-permissions/) for a comparison between the account certificate and the tunnel credentials file.\n", "loc": ["services", "cloudflared", "certificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.cloudflared.enable": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cloudflare Tunnel client daemon (formerly Argo Tunnel).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cloudflared", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudflared.package": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cloudflared"}, "description": "The cloudflared package to use.", "loc": ["services", "cloudflared", "package"], "readOnly": false, "type": "package"}, "services.cloudflared.tunnels": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Cloudflare tunnels.\n", "example": {"_type": "literalExpression", "text": "{\n  \"00000000-0000-0000-0000-000000000000\" = {\n    credentialsFile = \"/tmp/test\";\n    default = \"http_status:404\";\n    ingress = {\n      \"*.domain1.com\" = {\n        service = \"http://localhost:80\";\n      };\n    };\n  };\n}"}, "loc": ["services", "cloudflared", "tunnels"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.cloudflared.tunnels.<name>.certificateFile": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Account certificate file, necessary to create, delete and manage tunnels. It can be obtained by running `cloudflared login`.\n\nNote that this is **necessary** for a fully declarative set up, as routes can not otherwise be created outside of the Cloudflare interface.\n\nSee [Cert.pem](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-terms/#certpem) for information about the file, and [Tunnel permissions](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/local-management/tunnel-permissions/) for a comparison between the account certificate and the tunnel credentials file.\n", "loc": ["services", "cloudflared", "tunnels", "<name>", "certificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.cloudflared.tunnels.<name>.credentialsFile": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "description": "Credential file.\n\nSee [Credentials file](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-terms/#credentials-file).\n", "loc": ["services", "cloudflared", "tunnels", "<name>", "credentialsFile"], "readOnly": false, "type": "absolute path"}, "services.cloudflared.tunnels.<name>.default": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "description": "Catch-all service if no ingress matches.\n\nSee `service`.\n", "example": {"_type": "literalExpression", "text": "\"http_status:404\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "default"], "readOnly": false, "type": "string"}, "services.cloudflared.tunnels.<name>.edgeIPVersion": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "\"4\""}, "description": "Specifies the IP address version (IPv4 or IPv6) used to establish a connection between `cloudflared` and the Cloudflare global network.\n\nThe value `auto` relies on the host operating system to determine which IP version to select. The first IP version returned from the DNS resolution of the region lookup will be used as the primary set. In dual IPv6 and IPv4 network setups, `cloudflared` will separate the IP versions into two address sets that will be used to fallback in connectivity failure scenarios.\n\nSee [Tunnel run parameters](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/configure-tunnels/cloudflared-parameters/run-parameters/#edge-ip-version).\n", "example": {"_type": "literalExpression", "text": "\"auto\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "edgeIPVersion"], "readOnly": false, "type": "one of \"auto\", \"4\", \"6\""}, "services.cloudflared.tunnels.<name>.ingress": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Ingress rules.\n\nSee [Ingress rules](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/local-management/ingress/).\n", "example": {"_type": "literalExpression", "text": "{\n  \"*.anotherone.com\" = \"http://localhost:80\";\n  \"*.domain.com\" = \"http://localhost:80\";\n}"}, "loc": ["services", "cloudflared", "tunnels", "<name>", "ingress"], "readOnly": false, "type": "attribute set of (string or (submodule))"}, "services.cloudflared.tunnels.<name>.originRequest.caPool": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "caPool"], "readOnly": false, "type": "null or string or absolute path"}, "services.cloudflared.tunnels.<name>.originRequest.connectTimeout": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Timeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by [tlsTimeout](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/local-management/ingress/#tlstimeout).\n", "example": {"_type": "literalExpression", "text": "\"30s\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "connectTimeout"], "readOnly": false, "type": "null or string"}, "services.cloudflared.tunnels.<name>.originRequest.disableChunkedEncoding": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Disables chunked transfer encoding. Useful if you are running a WSGI server.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "disableChunkedEncoding"], "readOnly": false, "type": "null or boolean"}, "services.cloudflared.tunnels.<name>.originRequest.httpHostHeader": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the HTTP `Host` header on requests sent to the local service.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "httpHostHeader"], "readOnly": false, "type": "null or string"}, "services.cloudflared.tunnels.<name>.originRequest.keepAliveConnections": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.\n", "example": {"_type": "literalExpression", "text": "100"}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "keepAliveConnections"], "readOnly": false, "type": "null or signed integer"}, "services.cloudflared.tunnels.<name>.originRequest.keepAliveTimeout": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Timeout after which an idle keepalive connection can be discarded.\n", "example": {"_type": "literalExpression", "text": "\"1m30s\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "keepAliveTimeout"], "readOnly": false, "type": "null or string"}, "services.cloudflared.tunnels.<name>.originRequest.noHappyEyeballs": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Disable the \u201chappy eyeballs\u201d algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "noHappyEyeballs"], "readOnly": false, "type": "null or boolean"}, "services.cloudflared.tunnels.<name>.originRequest.noTLSVerify": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "noTLSVerify"], "readOnly": false, "type": "null or boolean"}, "services.cloudflared.tunnels.<name>.originRequest.originServerName": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Hostname that `cloudflared` should expect from your origin server certificate.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "originServerName"], "readOnly": false, "type": "null or string"}, "services.cloudflared.tunnels.<name>.originRequest.proxyAddress": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "`cloudflared` starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures the listen address for that proxy.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "proxyAddress"], "readOnly": false, "type": "null or string"}, "services.cloudflared.tunnels.<name>.originRequest.proxyPort": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "`cloudflared` starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures the listen port for that proxy. If set to zero, an unused port will randomly be chosen.\n", "example": {"_type": "literalExpression", "text": "0"}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "proxyPort"], "readOnly": false, "type": "null or signed integer"}, "services.cloudflared.tunnels.<name>.originRequest.proxyType": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "`cloudflared` starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are:\n\n- `\"\"` for the regular proxy\n- `\"socks\"` for a SOCKS5 proxy. Refer to the [tutorial on connecting through Cloudflare Access using kubectl](https://developers.cloudflare.com/cloudflare-one/tutorials/kubectl/) for more information.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "proxyType"], "readOnly": false, "type": "null or one of \"\", \"socks\""}, "services.cloudflared.tunnels.<name>.originRequest.tcpKeepAlive": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.\n", "example": {"_type": "literalExpression", "text": "\"30s\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "tcpKeepAlive"], "readOnly": false, "type": "null or string"}, "services.cloudflared.tunnels.<name>.originRequest.tlsTimeout": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Timeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.\n", "example": {"_type": "literalExpression", "text": "\"10s\""}, "loc": ["services", "cloudflared", "tunnels", "<name>", "originRequest", "tlsTimeout"], "readOnly": false, "type": "null or string"}, "services.cloudflared.tunnels.<name>.warp-routing.enabled": {"declarations": ["nixos/modules/services/networking/cloudflared.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable warp routing.\n\nSee [Connect from WARP to a private network on Cloudflare using Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/tutorials/warp-to-tunnel/).\n", "loc": ["services", "cloudflared", "tunnels", "<name>", "warp-routing", "enabled"], "readOnly": false, "type": "null or boolean"}, "services.cloudlog.baseUrl": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost\""}, "description": "Cloudlog base URL", "loc": ["services", "cloudlog", "baseUrl"], "readOnly": false, "type": "string"}, "services.cloudlog.dataDir": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cloudlog\""}, "description": "Cloudlog data directory.", "loc": ["services", "cloudlog", "dataDir"], "readOnly": false, "type": "string"}, "services.cloudlog.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "cloudlog", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.cloudlog.database.host": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "MySQL database host", "loc": ["services", "cloudlog", "database", "host"], "readOnly": false, "type": "string"}, "services.cloudlog.database.name": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"cloudlog\""}, "description": "MySQL database name.", "loc": ["services", "cloudlog", "database", "name"], "readOnly": false, "type": "string"}, "services.cloudlog.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MySQL user password file.", "loc": ["services", "cloudlog", "database", "passwordFile"], "readOnly": false, "type": "null or string"}, "services.cloudlog.database.user": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"cloudlog\""}, "description": "MySQL user name.", "loc": ["services", "cloudlog", "database", "user"], "readOnly": false, "type": "string"}, "services.cloudlog.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cloudlog.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cloudlog", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.extraConfig": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any additional text to be appended to the config.php\nconfiguration file. This is a PHP script. For configuration\nsettings, see <https://github.com/magicbug/Cloudlog/wiki/Cloudlog.php-Configuration-File>.\n", "example": {"_type": "literalExpression", "text": "''\n  $config['show_time'] = TRUE;\n''"}, "loc": ["services", "cloudlog", "extraConfig"], "readOnly": false, "type": "string"}, "services.cloudlog.poolConfig": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for Cloudlog's PHP-FPM pool.\n", "loc": ["services", "cloudlog", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.cloudlog.update-clublog-scp.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically update the Clublog SCP database. If enabled,\na systemd timer will run the update task as specified by the interval\noption.\n", "loc": ["services", "cloudlog", "update-clublog-scp", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.update-clublog-scp.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"monthly\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the time\nat which the Clublog SCP update will occur.\n", "loc": ["services", "cloudlog", "update-clublog-scp", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.update-dok.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically update the DOK resource file. If enabled, a\nsystemd timer will run the update task as specified by the interval option.\n", "loc": ["services", "cloudlog", "update-dok", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.update-dok.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"monthly\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the\ntime at which the DOK update will occur.\n", "loc": ["services", "cloudlog", "update-dok", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.update-lotw-users.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically update the list of LoTW users. If enabled, a\nsystemd timer will run the update task as specified by the interval\noption.\n", "loc": ["services", "cloudlog", "update-lotw-users", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.update-lotw-users.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"weekly\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the\ntime at which the LoTW user update will occur.\n", "loc": ["services", "cloudlog", "update-lotw-users", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.update-sota.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically update the SOTA database. If enabled, a\nsystemd timer will run the update task as specified by the interval option.\n", "loc": ["services", "cloudlog", "update-sota", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.update-sota.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"monthly\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the time\nat which the SOTA update will occur.\n", "loc": ["services", "cloudlog", "update-sota", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.update-wwff.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically update the WWFF database. If enabled, a\nsystemd timer will run the update task as specified by the interval\noption.\n", "loc": ["services", "cloudlog", "update-wwff", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.update-wwff.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"monthly\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the time\nat which the WWFF update will occur.\n", "loc": ["services", "cloudlog", "update-wwff", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.upload-clublog.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically upload logs to Clublog. If enabled, a systemd\ntimer will run the log upload task as specified by the interval option.\n", "loc": ["services", "cloudlog", "upload-clublog", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.upload-clublog.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the time\nat which the Clublog upload will occur.\n", "loc": ["services", "cloudlog", "upload-clublog", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.upload-lotw.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically upload logs to LoTW. If enabled, a systemd\ntimer will run the log upload task as specified by the interval\n option.\n", "loc": ["services", "cloudlog", "upload-lotw", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.upload-lotw.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the\ntime at which the LoTW upload will occur.\n", "loc": ["services", "cloudlog", "upload-lotw", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.upload-qrz.enable": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to periodically upload logs to QRZ. If enabled, a systemd\ntimer will run the update task as specified by the interval option.\n", "loc": ["services", "cloudlog", "upload-qrz", "enable"], "readOnly": false, "type": "boolean"}, "services.cloudlog.upload-qrz.interval": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "Specification (in the format described by {manpage}`systemd.time(7)`) of the\ntime at which the QRZ upload will occur.\n", "loc": ["services", "cloudlog", "upload-qrz", "interval"], "readOnly": false, "type": "string"}, "services.cloudlog.user": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"cloudlog\""}, "description": "User account under which Cloudlog runs.", "loc": ["services", "cloudlog", "user"], "readOnly": false, "type": "string"}, "services.cloudlog.virtualHost": {"declarations": ["nixos/modules/services/web-apps/cloudlog.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Name of the nginx virtualhost to use and setup. If null, do not setup\n any virtualhost.\n", "loc": ["services", "cloudlog", "virtualHost"], "readOnly": false, "type": "null or string"}, "services.cntlm.configText": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim contents of {file}`cntlm.conf`.", "loc": ["services", "cntlm", "configText"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.cntlm.domain": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "description": "Proxy account domain/workgroup name.", "loc": ["services", "cntlm", "domain"], "readOnly": false, "type": "string"}, "services.cntlm.enable": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cntlm, which starts a local proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cntlm", "enable"], "readOnly": false, "type": "boolean"}, "services.cntlm.extraConfig": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional config appended to the end of the generated {file}`cntlm.conf`.", "loc": ["services", "cntlm", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.cntlm.netbios_hostname": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The hostname of your machine.\n", "loc": ["services", "cntlm", "netbios_hostname"], "readOnly": false, "type": "string"}, "services.cntlm.noproxy": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of domains where the proxy is skipped.\n", "example": {"_type": "literalExpression", "text": "[\n  \"*.example.com\"\n  \"example.com\"\n]"}, "loc": ["services", "cntlm", "noproxy"], "readOnly": false, "type": "list of string"}, "services.cntlm.password": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/cntlm.password\""}, "description": "Proxy account password. Note: use chmod 0600 on /etc/cntlm.password for security.", "loc": ["services", "cntlm", "password"], "readOnly": false, "type": "string"}, "services.cntlm.port": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "[\n  3128\n]"}, "description": "Specifies on which ports the cntlm daemon listens.", "loc": ["services", "cntlm", "port"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cntlm.proxy": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of NTLM/NTLMv2 authenticating HTTP proxies.\n\nParent proxy, which requires authentication. The same as proxy on the command-line, can be used more than  once  to  specify  unlimited\nnumber  of  proxies.  Should  one proxy fail, cntlm automatically moves on to the next one. The connect request fails only if the whole\nlist of proxies is scanned and (for each request) and found to be invalid. Command-line takes precedence over the configuration file.\n", "example": {"_type": "literalExpression", "text": "[\n  \"proxy.example.com:81\"\n]"}, "loc": ["services", "cntlm", "proxy"], "readOnly": false, "type": "list of string"}, "services.cntlm.username": {"declarations": ["nixos/modules/services/networking/cntlm.nix"], "description": "Proxy account name, without the possibility to include domain name ('at' sign is interpreted literally).\n", "loc": ["services", "cntlm", "username"], "readOnly": false, "type": "string"}, "services.cockpit.allowed-origins": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of allowed origins.\n\nMaps to the WebService.Origins setting and allows merging from multiple modules.\n", "loc": ["services", "cockpit", "allowed-origins"], "readOnly": false, "type": "list of string"}, "services.cockpit.enable": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cockpit.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cockpit", "enable"], "readOnly": false, "type": "boolean"}, "services.cockpit.openFirewall": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open port for cockpit.", "loc": ["services", "cockpit", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.cockpit.package": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cockpit"}, "description": "The Cockpit package to use.", "loc": ["services", "cockpit", "package"], "readOnly": false, "type": "package"}, "services.cockpit.plugins": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of cockpit plugins.\n\nThis add the passthru.cockpitPath of the packages to the systemd cockpit service.\n", "example": {"_type": "literalExpression", "text": "[\n  pkgs.cockpit-zfs\n]\n"}, "loc": ["services", "cockpit", "plugins"], "readOnly": false, "type": "list of package"}, "services.cockpit.port": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "9090"}, "description": "Port where cockpit will listen.", "loc": ["services", "cockpit", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cockpit.settings": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for cockpit that will be saved in /etc/cockpit/cockpit.conf.\n\nSee the [documentation](https://cockpit-project.org/guide/latest/cockpit.conf.5.html), that is also available with `man cockpit.conf.5` for details.\n", "loc": ["services", "cockpit", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.cockpit.showBanner": {"declarations": ["nixos/modules/services/monitoring/cockpit.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add the Cockpit banner to the issue and motd files.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "cockpit", "showBanner"], "readOnly": false, "type": "boolean"}, "services.cockroachdb.cache": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "\"25%\""}, "description": "The total size for caches.\n\nThis can be a percentage, expressed with a fraction sign or as a\ndecimal-point number, or any bytes-based unit. For example,\n`\"25%\"`, `\"0.25\"` both represent\n25% of the available system memory. The values\n`\"1000000000\"` and `\"1GB\"` both\nrepresent 1 gigabyte of memory.\n\n", "loc": ["services", "cockroachdb", "cache"], "readOnly": false, "type": "string"}, "services.cockroachdb.certsDir": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the certificate directory.", "loc": ["services", "cockroachdb", "certsDir"], "readOnly": false, "type": "null or absolute path"}, "services.cockroachdb.enable": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CockroachDB Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cockroachdb", "enable"], "readOnly": false, "type": "boolean"}, "services.cockroachdb.extraArgs": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra CLI arguments passed to {command}`cockroach start`.\nFor the full list of supported arguments, check <https://www.cockroachlabs.com/docs/stable/cockroach-start.html#flags>\n", "example": {"_type": "literalExpression", "text": "[\n  \"--advertise-addr\"\n  \"[fe80::f6f2:::]\"\n]"}, "loc": ["services", "cockroachdb", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.cockroachdb.group": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "\"cockroachdb\""}, "description": "User account under which CockroachDB runs", "loc": ["services", "cockroachdb", "group"], "readOnly": false, "type": "string"}, "services.cockroachdb.http.address": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address to bind to for http-based Admin UI", "loc": ["services", "cockroachdb", "http", "address"], "readOnly": false, "type": "string"}, "services.cockroachdb.http.port": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port to bind to for http-based Admin UI", "loc": ["services", "cockroachdb", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cockroachdb.insecure": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Run in insecure mode.", "loc": ["services", "cockroachdb", "insecure"], "readOnly": false, "type": "boolean"}, "services.cockroachdb.join": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The addresses for connecting the node to a cluster.", "loc": ["services", "cockroachdb", "join"], "readOnly": false, "type": "null or string"}, "services.cockroachdb.listen.address": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address to bind to for intra-cluster communication", "loc": ["services", "cockroachdb", "listen", "address"], "readOnly": false, "type": "string"}, "services.cockroachdb.listen.port": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "26257"}, "description": "Port to bind to for intra-cluster communication", "loc": ["services", "cockroachdb", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cockroachdb.locality": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An ordered, comma-separated list of key-value pairs that describe the\ntopography of the machine. Topography might include country,\ndatacenter or rack designations. Data is automatically replicated to\nmaximize diversities of each tier. The order of tiers is used to\ndetermine the priority of the diversity, so the more inclusive\nlocalities like country should come before less inclusive localities\nlike datacenter.  The tiers and order must be the same on all nodes.\nIncluding more tiers is better than including fewer. For example:\n\n```\n    country=us,region=us-west,datacenter=us-west-1b,rack=12\n    country=ca,region=ca-east,datacenter=ca-east-2,rack=4\n\n    planet=earth,province=manitoba,colo=secondary,power=3\n```\n", "loc": ["services", "cockroachdb", "locality"], "readOnly": false, "type": "null or string"}, "services.cockroachdb.maxSqlMemory": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "\"25%\""}, "description": "The maximum in-memory storage capacity available to store temporary\ndata for SQL queries.\n\nThis can be a percentage, expressed with a fraction sign or as a\ndecimal-point number, or any bytes-based unit. For example,\n`\"25%\"`, `\"0.25\"` both represent\n25% of the available system memory. The values\n`\"1000000000\"` and `\"1GB\"` both\nrepresent 1 gigabyte of memory.\n", "loc": ["services", "cockroachdb", "maxSqlMemory"], "readOnly": false, "type": "string"}, "services.cockroachdb.openPorts": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for cluster communication by default", "loc": ["services", "cockroachdb", "openPorts"], "readOnly": false, "type": "boolean"}, "services.cockroachdb.package": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cockroachdb"}, "description": "The cockroachdb package to use. This would primarily be useful to enable Enterprise Edition features\nin your own custom CockroachDB build (Nixpkgs CockroachDB binaries\nonly contain open source features and open source code).\n", "loc": ["services", "cockroachdb", "package"], "readOnly": false, "type": "package"}, "services.cockroachdb.user": {"declarations": ["nixos/modules/services/databases/cockroachdb.nix"], "default": {"_type": "literalExpression", "text": "\"cockroachdb\""}, "description": "User account under which CockroachDB runs", "loc": ["services", "cockroachdb", "user"], "readOnly": false, "type": "string"}, "services.cocoon.enable": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cocoon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cocoon", "enable"], "readOnly": false, "type": "boolean"}, "services.cocoon.environmentFiles": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "File to load environment variables from. Loaded variables override\nvalues set in {option}`environment`.\n\nUse it to set values of `COCOON_ADMIN_PASSWORD` and `COCOON_SESSION_SECRE`.\n\nGenerate `COCOON_ADMIN_PASSWORD` with\n```\nopenssl rand -hex 16\n```\n\nGenerate `COCOON_SESSION_SECRET` with\n```\nopenssl rand -hex 32\n```\n", "loc": ["services", "cocoon", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.cocoon.package": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cocoon"}, "description": "The cocoon package to use.", "loc": ["services", "cocoon", "package"], "readOnly": false, "type": "package"}, "services.cocoon.settings": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "description": "Environment variables to set for the service. Secrets should be\nspecified using {option}`environmentFile`.\n\nRefer to <https://github.com/haileyok/cocoon/blob/main/.env.example>\nand <https://github.com/haileyok/cocoon/blob/main/README.md> for\navailable environment variables.\n", "loc": ["services", "cocoon", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string or absolute path)"}, "services.cocoon.settings.COCOON_ADDR": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "\":8080\""}, "description": "Address to bind the Cocoon instance to", "example": {"_type": "literalExpression", "text": "\":3000\""}, "loc": ["services", "cocoon", "settings", "COCOON_ADDR"], "readOnly": false, "type": "string"}, "services.cocoon.settings.COCOON_CONTACT_EMAIL": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "description": "Contact email for the Cocoon instance", "example": {"_type": "literalExpression", "text": "\"me@example.com\""}, "loc": ["services", "cocoon", "settings", "COCOON_CONTACT_EMAIL"], "readOnly": false, "type": "string"}, "services.cocoon.settings.COCOON_DATABASE_URL": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database connection URL", "example": {"_type": "literalExpression", "text": "\"postgres://cocoon:password@localhost:5432/cocoon?sslmode=disable\""}, "loc": ["services", "cocoon", "settings", "COCOON_DATABASE_URL"], "readOnly": false, "type": "null or string"}, "services.cocoon.settings.COCOON_DB_NAME": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cocoon/cocoon.db\""}, "description": "Name of the SQLite database file (if using sqlite)", "loc": ["services", "cocoon", "settings", "COCOON_DB_NAME"], "readOnly": false, "type": "string"}, "services.cocoon.settings.COCOON_DB_TYPE": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Type of database to use (sqlite or postgres)", "loc": ["services", "cocoon", "settings", "COCOON_DB_TYPE"], "readOnly": false, "type": "string"}, "services.cocoon.settings.COCOON_DID": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DID web address for the Cocoon instance", "example": {"_type": "literalExpression", "text": "\"did:web:cocoon.example.com\""}, "loc": ["services", "cocoon", "settings", "COCOON_DID"], "readOnly": false, "type": "null or string"}, "services.cocoon.settings.COCOON_HOSTNAME": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Hostname for the Cocoon instance", "example": {"_type": "literalExpression", "text": "\"cocoon.example.com\""}, "loc": ["services", "cocoon", "settings", "COCOON_HOSTNAME"], "readOnly": false, "type": "null or string"}, "services.cocoon.settings.COCOON_JWK_PATH": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cocoon/jwk.key\""}, "description": "Path to the JWK key file\n\nGenerate it with:\n```\ncocoon create-private-jwk --out /var/lib/cocoon/jwk.key\n```\n", "loc": ["services", "cocoon", "settings", "COCOON_JWK_PATH"], "readOnly": false, "type": "absolute path or string"}, "services.cocoon.settings.COCOON_RELAYS": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "\"https://bsky.network\""}, "description": "Comma-separated list of Nostr relays to connect to", "loc": ["services", "cocoon", "settings", "COCOON_RELAYS"], "readOnly": false, "type": "string"}, "services.cocoon.settings.COCOON_ROTATION_KEY_PATH": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cocoon/rotation.key\""}, "description": "Path to the rotation key file.\n\nGenerate it with:\n```\ncocoon create-rotation-key --out /var/lib/cocoon/rotation.key\n```\n", "loc": ["services", "cocoon", "settings", "COCOON_ROTATION_KEY_PATH"], "readOnly": false, "type": "absolute path or string"}, "services.cocoon.settings.COCOON_SESSION_COOKIE_KEY": {"declarations": ["nixos/modules/services/web-apps/cocoon.nix"], "default": {"_type": "literalExpression", "text": "\"session\""}, "description": "Name of the session cookie", "loc": ["services", "cocoon", "settings", "COCOON_SESSION_COOKIE_KEY"], "readOnly": false, "type": "string"}, "services.code-server.auth": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "\"password\""}, "description": "The type of authentication to use.\n", "loc": ["services", "code-server", "auth"], "readOnly": false, "type": "one of \"none\", \"password\""}, "services.code-server.disableFileDownloads": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable file downloads from Code.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "code-server", "disableFileDownloads"], "readOnly": false, "type": "boolean"}, "services.code-server.disableGettingStartedOverride": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable the coder/coder override in the Help: Getting Started page.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "code-server", "disableGettingStartedOverride"], "readOnly": false, "type": "boolean"}, "services.code-server.disableTelemetry": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable telemetry.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "code-server", "disableTelemetry"], "readOnly": false, "type": "boolean"}, "services.code-server.disableUpdateCheck": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable update check.\nWithout this flag, code-server checks every 6 hours against the latest github release and\nthen notifies you once every week that a new release is available.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "code-server", "disableUpdateCheck"], "readOnly": false, "type": "boolean"}, "services.code-server.disableWorkspaceTrust": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable Workspace Trust feature.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "code-server", "disableWorkspaceTrust"], "readOnly": false, "type": "boolean"}, "services.code-server.enable": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable code-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "code-server", "enable"], "readOnly": false, "type": "boolean"}, "services.code-server.extensionsDir": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the extensions directory.\n", "loc": ["services", "code-server", "extensionsDir"], "readOnly": false, "type": "null or string"}, "services.code-server.extraArguments": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments to pass to code-server.\n", "example": {"_type": "literalExpression", "text": "[ \"--log=info\" ]"}, "loc": ["services", "code-server", "extraArguments"], "readOnly": false, "type": "list of string"}, "services.code-server.extraEnvironment": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to pass to code-server.\n", "example": {"_type": "literalExpression", "text": "{\n  PKG_CONFIG_PATH = \"/run/current-system/sw/lib/pkgconfig\";\n}"}, "loc": ["services", "code-server", "extraEnvironment"], "readOnly": false, "type": "attribute set of string"}, "services.code-server.extraGroups": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "An array of additional groups for the `code-server` user.\n", "example": {"_type": "literalExpression", "text": "[\n  \"docker\"\n]"}, "loc": ["services", "code-server", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.code-server.extraPackages": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to add to the code-server {env}`PATH`.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.go ]"}, "loc": ["services", "code-server", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.code-server.group": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "\"code-server\""}, "description": "The group to run code-server under.\nBy default, a group named `code-server` will be created.\n", "example": {"_type": "literalExpression", "text": "\"yourGroup\""}, "loc": ["services", "code-server", "group"], "readOnly": false, "type": "string"}, "services.code-server.hashedPassword": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Create the password with: {command}`echo -n 'thisismypassword' | nix run nixpkgs#libargon2 -- \"$(head -c 20 /dev/random | base64)\" -e`\n", "loc": ["services", "code-server", "hashedPassword"], "readOnly": false, "type": "string"}, "services.code-server.host": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The host name or IP address the server should listen to.\n", "loc": ["services", "code-server", "host"], "readOnly": false, "type": "string"}, "services.code-server.package": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.code-server"}, "description": "The code-server package to use.", "example": {"_type": "literalExpression", "text": "pkgs.vscode-with-extensions.override {\n  vscode = pkgs.code-server;\n  vscodeExtensions = with pkgs.vscode-extensions; [\n    bbenoist.nix\n    dracula-theme.theme-dracula\n  ];\n}\n"}, "loc": ["services", "code-server", "package"], "readOnly": false, "type": "package"}, "services.code-server.port": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "4444"}, "description": "The port the server should listen to.\n", "loc": ["services", "code-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.code-server.proxyDomain": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Domain used for proxying ports.\n", "example": {"_type": "literalExpression", "text": "\"code-server.lan\""}, "loc": ["services", "code-server", "proxyDomain"], "readOnly": false, "type": "null or string"}, "services.code-server.socket": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a socket (bind-addr will be ignored).\n", "example": {"_type": "literalExpression", "text": "\"/run/code-server/socket\""}, "loc": ["services", "code-server", "socket"], "readOnly": false, "type": "null or string"}, "services.code-server.socketMode": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File mode of the socket.\n", "loc": ["services", "code-server", "socketMode"], "readOnly": false, "type": "null or string"}, "services.code-server.user": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "\"code-server\""}, "description": "The user to run code-server as.\nBy default, a user named `code-server` will be created.\n", "example": {"_type": "literalExpression", "text": "\"yourUser\""}, "loc": ["services", "code-server", "user"], "readOnly": false, "type": "string"}, "services.code-server.userDataDir": {"declarations": ["nixos/modules/services/web-apps/code-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the user data directory.\n", "loc": ["services", "code-server", "userDataDir"], "readOnly": false, "type": "null or string"}, "services.coder.accessUrl": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Access URL should be a external IP address or domain with DNS records pointing to Coder.\n", "example": {"_type": "literalExpression", "text": "\"https://coder.example.com\""}, "loc": ["services", "coder", "accessUrl"], "readOnly": false, "type": "null or string"}, "services.coder.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.\n", "loc": ["services", "coder", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.coder.database.database": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"coder\""}, "description": "Name of database.\n", "loc": ["services", "coder", "database", "database"], "readOnly": false, "type": "string"}, "services.coder.database.host": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"/run/postgresql\""}, "description": "Hostname hosting the database.\n", "loc": ["services", "coder", "database", "host"], "readOnly": false, "type": "string"}, "services.coder.database.password": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for accessing the database.\n", "loc": ["services", "coder", "database", "password"], "readOnly": false, "type": "null or string"}, "services.coder.database.sslmode": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"disable\""}, "description": "Password for accessing the database.\n", "loc": ["services", "coder", "database", "sslmode"], "readOnly": false, "type": "null or string"}, "services.coder.database.username": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"coder\""}, "description": "Username for accessing the database.\n", "loc": ["services", "coder", "database", "username"], "readOnly": false, "type": "string"}, "services.coder.enable": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Coder service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "coder", "enable"], "readOnly": false, "type": "boolean"}, "services.coder.environment.extra": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to pass run Coder's server with. See Coder documentation.", "example": {"_type": "literalExpression", "text": "{\n  CODER_OAUTH2_GITHUB_ALLOWED_ORGS = \"your-org\";\n  CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS = true;\n}"}, "loc": ["services", "coder", "environment", "extra"], "readOnly": false, "type": "attribute set"}, "services.coder.environment.file": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Systemd environment file to add to Coder.", "loc": ["services", "coder", "environment", "file"], "readOnly": false, "type": "null or absolute path"}, "services.coder.group": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"coder\""}, "description": "Group under which the coder service runs.\n\n::: {.note}\nIf left as the default value this group will automatically be created\non system activation, otherwise it needs to be configured manually.\n:::\n", "loc": ["services", "coder", "group"], "readOnly": false, "type": "string"}, "services.coder.homeDir": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/coder\""}, "description": "Home directory for coder user.\n", "loc": ["services", "coder", "homeDir"], "readOnly": false, "type": "string"}, "services.coder.listenAddress": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:3000\""}, "description": "Listen address.\n", "loc": ["services", "coder", "listenAddress"], "readOnly": false, "type": "string"}, "services.coder.package": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "pkgs.coder"}, "description": "The coder package to use.", "loc": ["services", "coder", "package"], "readOnly": false, "type": "package"}, "services.coder.tlsCert": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the TLS certificate.\n", "loc": ["services", "coder", "tlsCert"], "readOnly": false, "type": "null or absolute path"}, "services.coder.tlsKey": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the TLS key.\n", "loc": ["services", "coder", "tlsKey"], "readOnly": false, "type": "null or absolute path"}, "services.coder.user": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "\"coder\""}, "description": "User under which the coder service runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise it needs to be configured manually.\n:::\n", "loc": ["services", "coder", "user"], "readOnly": false, "type": "string"}, "services.coder.wildcardAccessUrl": {"declarations": ["nixos/modules/services/web-apps/coder.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If you are providing TLS certificates directly to the Coder server, you must use a single certificate for the root and wildcard domains.\n", "example": {"_type": "literalExpression", "text": "\"*.coder.example.com\""}, "loc": ["services", "coder", "wildcardAccessUrl"], "readOnly": false, "type": "null or string"}, "services.collabora-online.aliasGroups": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Alias groups to use.", "loc": ["services", "collabora-online", "aliasGroups"], "readOnly": false, "type": "list of (submodule)"}, "services.collabora-online.aliasGroups.*.aliases": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of regex pattern of aliasname.", "example": {"_type": "literalExpression", "text": "[\n  \"scheme://aliasname1:port\"\n  \"scheme://aliasname2:port\"\n]"}, "loc": ["services", "collabora-online", "aliasGroups", "*", "aliases"], "readOnly": false, "type": "list of string"}, "services.collabora-online.aliasGroups.*.host": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "description": "Hostname to allow or deny.", "example": {"_type": "literalExpression", "text": "\"scheme://hostname:port\""}, "loc": ["services", "collabora-online", "aliasGroups", "*", "host"], "readOnly": false, "type": "string"}, "services.collabora-online.enable": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable collabora-online.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "collabora-online", "enable"], "readOnly": false, "type": "boolean"}, "services.collabora-online.extraArgs": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to pass to the service.", "loc": ["services", "collabora-online", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.collabora-online.package": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "default": {"_type": "literalExpression", "text": "pkgs.collabora-online"}, "description": "The Collabora Online package to use.", "loc": ["services", "collabora-online", "package"], "readOnly": false, "type": "package"}, "services.collabora-online.port": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "default": {"_type": "literalExpression", "text": "9980"}, "description": "Listening port", "loc": ["services", "collabora-online", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.collabora-online.settings": {"declarations": ["nixos/modules/services/web-apps/collabora-online.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Collabora Online WebSocket Daemon, see\n<https://sdk.collaboraonline.com/docs/installation/Configuration.html>, or\n<https://github.com/CollaboraOnline/online/blob/master/coolwsd.xml.in> for the default\nconfiguration.\n", "loc": ["services", "collabora-online", "settings"], "readOnly": false, "type": "`coolwsd.xml` configuration type, used to override values in the default configuration.\n\nAttribute names correspond to XML tags unless prefixed with `@`. Nested attribute sets\ncorrespond to nested XML tags. Attribute prefixed with `@` correspond to XML attributes. E.g.,\n`{ storage.wopi.\"@allow\" = true; }` in Nix corresponds to\n`<storage><wopi allow=\"true\"/></storage>` in `coolwsd.xml`, or `--o:storage.wopi[@allow]=true`\nin the command line.\n\nArrays correspond to multiple elements with the same tag name. E.g.\n`{ host = [ ''127\\.0\\.0\\.1'' \"::1\" ]; }` in Nix corresponds to\n```xml\n<net><post_allow>\n  <host>127\\.0\\.0\\.1</host>\n  <host>::1</host>\n</post_allow></net>\n```\nin `coolwsd.xml`, or\n`--o:net.post_allow.host[0]='127\\.0\\.0\\.1 --o:net.post_allow.host[1]=::1` in the command line.\n\nNull values could be used to remove an element from the default configuration.\n"}, "services.collectd.autoLoadPlugin": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable plugin autoloading.\n", "loc": ["services", "collectd", "autoLoadPlugin"], "readOnly": false, "type": "boolean"}, "services.collectd.buildMinimalPackage": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Build a minimal collectd package with only the configured `services.collectd.plugins`\n", "loc": ["services", "collectd", "buildMinimalPackage"], "readOnly": false, "type": "boolean"}, "services.collectd.dataDir": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/collectd\""}, "description": "Data directory for collectd agent.\n", "loc": ["services", "collectd", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.collectd.enable": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable collectd agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "collectd", "enable"], "readOnly": false, "type": "boolean"}, "services.collectd.extraConfig": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration for collectd. Use mkBefore to add lines before the\ndefault config, and mkAfter to add them below.\n", "loc": ["services", "collectd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.collectd.finalPackage": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "if config.services.collectd.buildMinimalPackage then\n  cfg.package.override {\n    enabledPlugins = [ \"syslog\" ] ++ builtins.attrNames cfg.plugins;\n  }\nelse\n  cfg.package\n"}, "description": "The final package being used after applying plugins and minimalPackage.", "loc": ["services", "collectd", "finalPackage"], "readOnly": true, "type": "unspecified value"}, "services.collectd.include": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional paths to load config from.\n", "loc": ["services", "collectd", "include"], "readOnly": false, "type": "list of string"}, "services.collectd.package": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.collectd"}, "description": "The collectd package to use.", "loc": ["services", "collectd", "package"], "readOnly": false, "type": "package"}, "services.collectd.plugins": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of plugin names to plugin config segments\n", "example": {"_type": "literalExpression", "text": "{\n  cpu = \"\";\n  memory = \"\";\n  network = \"Server 192.168.1.1 25826\";\n}"}, "loc": ["services", "collectd", "plugins"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.collectd.user": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "\"collectd\""}, "description": "User under which to run collectd.\n", "loc": ["services", "collectd", "user"], "readOnly": false, "type": "null or string"}, "services.collectd.validateConfig": {"declarations": ["nixos/modules/services/monitoring/collectd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Validate the syntax of collectd configuration file at build time.\nDisable this if you use the Include directive on files unavailable in\nthe build sandbox, or when cross-compiling.\n", "loc": ["services", "collectd", "validateConfig"], "readOnly": false, "type": "boolean"}, "services.colord.enable": {"declarations": ["nixos/modules/services/x11/colord.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable colord, the color management daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "colord", "enable"], "readOnly": false, "type": "boolean"}, "services.commafeed.enable": {"declarations": ["nixos/modules/services/web-apps/commafeed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CommaFeed.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "commafeed", "enable"], "readOnly": false, "type": "boolean"}, "services.commafeed.environment": {"declarations": ["nixos/modules/services/web-apps/commafeed.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables passed to CommaFeed, refer to\n<https://github.com/Athou/commafeed/blob/master/commafeed-server/config.yml.example>\nfor supported values. The default user is `admin` and the default password is `admin`.\nCorrect configuration for H2 database is already provided.\n", "example": {"_type": "literalExpression", "text": "{\n  CF_SERVER_APPLICATIONCONNECTORS_0_PORT = 9090;\n  CF_SERVER_APPLICATIONCONNECTORS_0_TYPE = \"http\";\n}"}, "loc": ["services", "commafeed", "environment"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string)"}, "services.commafeed.environmentFile": {"declarations": ["nixos/modules/services/web-apps/commafeed.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file as defined in {manpage}`systemd.exec(5)`.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/commafeed/commafeed.env\""}, "loc": ["services", "commafeed", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.commafeed.group": {"declarations": ["nixos/modules/services/web-apps/commafeed.nix"], "default": {"_type": "literalExpression", "text": "\"commafeed\""}, "description": "Group under which CommaFeed runs.", "loc": ["services", "commafeed", "group"], "readOnly": false, "type": "string"}, "services.commafeed.package": {"declarations": ["nixos/modules/services/web-apps/commafeed.nix"], "default": {"_type": "literalExpression", "text": "pkgs.commafeed"}, "description": "The commafeed package to use.", "loc": ["services", "commafeed", "package"], "readOnly": false, "type": "package"}, "services.commafeed.stateDir": {"declarations": ["nixos/modules/services/web-apps/commafeed.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/commafeed\""}, "description": "Directory holding all state for CommaFeed to run.", "loc": ["services", "commafeed", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.commafeed.user": {"declarations": ["nixos/modules/services/web-apps/commafeed.nix"], "default": {"_type": "literalExpression", "text": "\"commafeed\""}, "description": "User under which CommaFeed runs.", "loc": ["services", "commafeed", "user"], "readOnly": false, "type": "string"}, "services.compton": {"declarations": ["nixos/modules/services/x11/picom.nix"], "description": "Alias of {option}`services.picom`.", "loc": ["services", "compton"], "readOnly": false, "type": "submodule"}, "services.confd.backend": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "\"etcd\""}, "description": "Confd config storage backend to use.", "loc": ["services", "confd", "backend"], "readOnly": false, "type": "one of \"etcd\", \"consul\", \"redis\", \"zookeeper\""}, "services.confd.confDir": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/confd\""}, "description": "The path to the confd configs.", "loc": ["services", "confd", "confDir"], "readOnly": false, "type": "absolute path"}, "services.confd.enable": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable confd, a service to manage local application configuration files using templates and data from etcd/consul/redis/zookeeper.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "confd", "enable"], "readOnly": false, "type": "boolean"}, "services.confd.interval": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Confd check interval.", "loc": ["services", "confd", "interval"], "readOnly": false, "type": "signed integer"}, "services.confd.logLevel": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Confd log level.", "loc": ["services", "confd", "logLevel"], "readOnly": false, "type": "one of \"info\", \"debug\""}, "services.confd.nodes": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"http://127.0.0.1:2379\"\n]"}, "description": "Confd list of nodes to connect to.", "loc": ["services", "confd", "nodes"], "readOnly": false, "type": "list of string"}, "services.confd.package": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.confd"}, "description": "The confd package to use.", "loc": ["services", "confd", "package"], "readOnly": false, "type": "package"}, "services.confd.prefix": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "The string to prefix to keys.", "loc": ["services", "confd", "prefix"], "readOnly": false, "type": "absolute path"}, "services.confd.watch": {"declarations": ["nixos/modules/services/misc/confd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Confd, whether to watch etcd config for changes.", "loc": ["services", "confd", "watch"], "readOnly": false, "type": "boolean"}, "services.conman.config": {"declarations": ["nixos/modules/services/misc/conman.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The configuration object.\n\nEither `configFile` or `config` must be specified.\n\nSee <https://github.com/dun/conman/wiki/Man-5-conman.conf#files>.\n", "example": {"_type": "literalExpression", "text": "''\n  server coredump=off\n  server keepalive=on\n  server loopback=off\n  server timestamp=1h\n  \n  # global config\n  global log=\"/var/log/conman/%N.log\"\n  global seropts=\"9600,8n1\"\n  global ipmiopts=\"U:<user>,P:<password>\"\n''"}, "loc": ["services", "conman", "config"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.conman.configFile": {"declarations": ["nixos/modules/services/misc/conman.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The absolute path to the configuration file.\n\nEither `configFile` or `config` must be specified.\n\nSee <https://github.com/dun/conman/wiki/Man-5-conman.conf#files>.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/conman.conf\""}, "loc": ["services", "conman", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.conman.enable": {"declarations": ["nixos/modules/services/misc/conman.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Enable the conman Console manager.\n\nEither `configFile` or `config` must be specified.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "conman", "enable"], "readOnly": false, "type": "boolean"}, "services.conman.package": {"declarations": ["nixos/modules/services/misc/conman.nix"], "default": {"_type": "literalExpression", "text": "pkgs.conman"}, "description": "The conman package to use.", "loc": ["services", "conman", "package"], "readOnly": false, "type": "package"}, "services.connman.enable": {"declarations": ["nixos/modules/services/networking/connman.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use ConnMan for managing your network connections.\n", "loc": ["services", "connman", "enable"], "readOnly": false, "type": "boolean"}, "services.connman.enableVPN": {"declarations": ["nixos/modules/services/networking/connman.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable ConnMan VPN service.\n", "loc": ["services", "connman", "enableVPN"], "readOnly": false, "type": "boolean"}, "services.connman.extraConfig": {"declarations": ["nixos/modules/services/networking/connman.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configuration lines appended to the generated connman configuration file.\n", "loc": ["services", "connman", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.connman.extraFlags": {"declarations": ["nixos/modules/services/networking/connman.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to connmand\n", "example": {"_type": "literalExpression", "text": "[\n  \"--nodnsproxy\"\n]"}, "loc": ["services", "connman", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.connman.networkInterfaceBlacklist": {"declarations": ["nixos/modules/services/networking/connman.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"vmnet\"\n  \"vboxnet\"\n  \"virbr\"\n  \"ifb\"\n  \"ve\"\n]"}, "description": "Default blacklisted interfaces, this includes NixOS containers interfaces (ve).\n", "loc": ["services", "connman", "networkInterfaceBlacklist"], "readOnly": false, "type": "list of string"}, "services.connman.package": {"declarations": ["nixos/modules/services/networking/connman.nix"], "default": {"_type": "literalExpression", "text": "pkgs.connman"}, "description": "The connman package / build flavor", "example": {"_type": "literalExpression", "text": "pkgs.connmanFull"}, "loc": ["services", "connman", "package"], "readOnly": false, "type": "package"}, "services.connman.wifi.backend": {"declarations": ["nixos/modules/services/networking/connman.nix"], "default": {"_type": "literalExpression", "text": "\"wpa_supplicant\""}, "description": "Specify the Wi-Fi backend used.\nCurrently supported are {option}`wpa_supplicant` or {option}`iwd`.\n", "loc": ["services", "connman", "wifi", "backend"], "readOnly": false, "type": "one of \"wpa_supplicant\", \"iwd\""}, "services.consul-template.instances": {"declarations": ["nixos/modules/services/security/vault-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of consul-template instances.\nCreates independent `consul-template-${name}.service` systemd units for each instance defined here.\n", "loc": ["services", "consul-template", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.consul-template.instances.<name>.enable": {"declarations": ["nixos/modules/services/security/vault-agent.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable this consul-template instance.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "consul-template", "instances", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.consul-template.instances.<name>.group": {"declarations": ["nixos/modules/services/security/vault-agent.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Group under which this instance runs.\n", "loc": ["services", "consul-template", "instances", "<name>", "group"], "readOnly": false, "type": "string"}, "services.consul-template.instances.<name>.package": {"declarations": ["nixos/modules/services/security/vault-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.consul-template"}, "description": "The consul-template package to use.", "loc": ["services", "consul-template", "instances", "<name>", "package"], "readOnly": false, "type": "package"}, "services.consul-template.instances.<name>.settings": {"declarations": ["nixos/modules/services/security/vault-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Free-form settings written directly to the {file}`config.json` file.\nRefer to <https://github.com/hashicorp/consul-template/blob/main/docs/configuration.md#configuration-file> for supported values.\n\n::: {.note}\nResulting format is JSON not HCL.\nRefer to <https://www.hcl2json.com/> if you are unsure how to convert HCL options to JSON.\n:::\n", "loc": ["services", "consul-template", "instances", "<name>", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.consul-template.instances.<name>.settings.pid_file": {"declarations": ["nixos/modules/services/security/vault-agent.nix"], "default": {"_type": "literalExpression", "text": "\"/run/consul-template/\u2039name\u203a.pid\""}, "description": "Path to use for the pid file.\n", "loc": ["services", "consul-template", "instances", "<name>", "settings", "pid_file"], "readOnly": false, "type": "string"}, "services.consul-template.instances.<name>.user": {"declarations": ["nixos/modules/services/security/vault-agent.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "User under which this instance runs.\n", "loc": ["services", "consul-template", "instances", "<name>", "user"], "readOnly": false, "type": "string"}, "services.consul.alerts.consulAddr": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:8500\""}, "description": "Consul api listening address", "loc": ["services", "consul", "alerts", "consulAddr"], "readOnly": false, "type": "string"}, "services.consul.alerts.enable": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable consul-alerts.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "consul", "alerts", "enable"], "readOnly": false, "type": "boolean"}, "services.consul.alerts.listenAddr": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:9000\""}, "description": "Api listening address.", "loc": ["services", "consul", "alerts", "listenAddr"], "readOnly": false, "type": "string"}, "services.consul.alerts.package": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "pkgs.consul-alerts"}, "description": "The consul-alerts package to use.", "loc": ["services", "consul", "alerts", "package"], "readOnly": false, "type": "package"}, "services.consul.alerts.watchChecks": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable check watcher.", "loc": ["services", "consul", "alerts", "watchChecks"], "readOnly": false, "type": "boolean"}, "services.consul.alerts.watchEvents": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable event watcher.", "loc": ["services", "consul", "alerts", "watchEvents"], "readOnly": false, "type": "boolean"}, "services.consul.dropPrivileges": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the consul agent should be run as a non-root consul user.\n", "loc": ["services", "consul", "dropPrivileges"], "readOnly": false, "type": "boolean"}, "services.consul.enable": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables the consul daemon.\n", "loc": ["services", "consul", "enable"], "readOnly": false, "type": "boolean"}, "services.consul.extraConfig": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options which are serialized to json and added\nto the config.json file.\n", "loc": ["services", "consul", "extraConfig"], "readOnly": false, "type": "attribute set of anything"}, "services.consul.extraConfigFiles": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional configuration files to pass to consul\nNOTE: These will not trigger the service to be restarted when altered.\n", "loc": ["services", "consul", "extraConfigFiles"], "readOnly": false, "type": "list of string"}, "services.consul.forceAddrFamily": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "\"any\""}, "description": "Whether to bind ipv4/ipv6 or both kind of addresses.\n", "loc": ["services", "consul", "forceAddrFamily"], "readOnly": false, "type": "one of \"any\", \"ipv4\", \"ipv6\""}, "services.consul.forceIpv4": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Deprecated: Use consul.forceAddrFamily instead.\nWhether we should force the interfaces to only pull ipv4 addresses.\n", "loc": ["services", "consul", "forceIpv4"], "readOnly": false, "type": "null or boolean"}, "services.consul.interface.advertise": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of the interface to pull the advertise_addr from.\n", "loc": ["services", "consul", "interface", "advertise"], "readOnly": false, "type": "null or string"}, "services.consul.interface.bind": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of the interface to pull the bind_addr from.\n", "loc": ["services", "consul", "interface", "bind"], "readOnly": false, "type": "null or string"}, "services.consul.leaveOnStop": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, causes a leave action to be sent when closing consul.\nThis allows a clean termination of the node, but permanently removes\nit from the cluster. You probably don't want this option unless you\nare running a node which going offline in a permanent / semi-permanent\nfashion.\n", "loc": ["services", "consul", "leaveOnStop"], "readOnly": false, "type": "boolean"}, "services.consul.package": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "pkgs.consul"}, "description": "The consul package to use.", "loc": ["services", "consul", "package"], "readOnly": false, "type": "package"}, "services.consul.webUi": {"declarations": ["nixos/modules/services/networking/consul.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables the web interface on the consul http port.\n", "loc": ["services", "consul", "webUi"], "readOnly": false, "type": "boolean"}, "services.convos.enable": {"declarations": ["nixos/modules/services/web-apps/convos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Convos.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "convos", "enable"], "readOnly": false, "type": "boolean"}, "services.convos.listenAddress": {"declarations": ["nixos/modules/services/web-apps/convos.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "Address or host the web interface should listen on", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "convos", "listenAddress"], "readOnly": false, "type": "string"}, "services.convos.listenPort": {"declarations": ["nixos/modules/services/web-apps/convos.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port the web interface should listen on", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["services", "convos", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.convos.reverseProxy": {"declarations": ["nixos/modules/services/web-apps/convos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables reverse proxy support. This will allow Convos to automatically\npick up the `X-Forwarded-For` and\n`X-Request-Base` HTTP headers set in your reverse proxy\nweb server. Note that enabling this option without a reverse proxy in\nfront will be a security issue.\n", "loc": ["services", "convos", "reverseProxy"], "readOnly": false, "type": "boolean"}, "services.cook-cli.autoStart": {"declarations": ["nixos/modules/services/web-apps/cook-cli.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to start cook-cli server automatically.\n", "loc": ["services", "cook-cli", "autoStart"], "readOnly": false, "type": "boolean"}, "services.cook-cli.basePath": {"declarations": ["nixos/modules/services/web-apps/cook-cli.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cook-cli\""}, "description": "Path to the directory cook-cli will look for recipes.\n", "loc": ["services", "cook-cli", "basePath"], "readOnly": false, "type": "string"}, "services.cook-cli.enable": {"declarations": ["nixos/modules/services/web-apps/cook-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cook-cli.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cook-cli", "enable"], "readOnly": false, "type": "boolean"}, "services.cook-cli.openFirewall": {"declarations": ["nixos/modules/services/web-apps/cook-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the cook-cli server port in the firewall.\n", "loc": ["services", "cook-cli", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.cook-cli.package": {"declarations": ["nixos/modules/services/web-apps/cook-cli.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cook-cli"}, "description": "The cook-cli package to use.", "loc": ["services", "cook-cli", "package"], "readOnly": false, "type": "package"}, "services.cook-cli.port": {"declarations": ["nixos/modules/services/web-apps/cook-cli.nix"], "default": {"_type": "literalExpression", "text": "9080"}, "description": "Which port cook-cli server will use.\n", "loc": ["services", "cook-cli", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coredns.config": {"declarations": ["nixos/modules/services/networking/coredns.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim Corefile to use.\nSee <https://coredns.io/manual/toc/#configuration> for details.\n", "example": {"_type": "literalExpression", "text": "''\n  . {\n    whoami\n  }\n''"}, "loc": ["services", "coredns", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.coredns.enable": {"declarations": ["nixos/modules/services/networking/coredns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Coredns dns server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "coredns", "enable"], "readOnly": false, "type": "boolean"}, "services.coredns.extraArgs": {"declarations": ["nixos/modules/services/networking/coredns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to pass to coredns.", "example": {"_type": "literalExpression", "text": "[\n  \"-dns.port=53\"\n]"}, "loc": ["services", "coredns", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.coredns.package": {"declarations": ["nixos/modules/services/networking/coredns.nix"], "default": {"_type": "literalExpression", "text": "pkgs.coredns"}, "description": "The coredns package to use.", "loc": ["services", "coredns", "package"], "readOnly": false, "type": "package"}, "services.corerad.configFile": {"declarations": ["nixos/modules/services/networking/corerad.nix"], "description": "Path to CoreRAD TOML configuration file.", "example": {"_type": "literalExpression", "text": "\"${pkgs.corerad}/etc/corerad/corerad.toml\""}, "loc": ["services", "corerad", "configFile"], "readOnly": false, "type": "absolute path"}, "services.corerad.enable": {"declarations": ["nixos/modules/services/networking/corerad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CoreRAD IPv6 NDP RA daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "corerad", "enable"], "readOnly": false, "type": "boolean"}, "services.corerad.package": {"declarations": ["nixos/modules/services/networking/corerad.nix"], "default": {"_type": "literalExpression", "text": "pkgs.corerad"}, "description": "The corerad package to use.", "loc": ["services", "corerad", "package"], "readOnly": false, "type": "package"}, "services.corerad.settings": {"declarations": ["nixos/modules/services/networking/corerad.nix"], "description": "Configuration for CoreRAD, see <https://github.com/mdlayher/corerad/blob/main/internal/config/reference.toml>\nfor supported values. Ignored if configFile is set.\n", "example": {"_type": "literalExpression", "text": "{\n  interfaces = [\n    # eth0 is an upstream interface monitoring for IPv6 router advertisements.\n    {\n      name = \"eth0\";\n      monitor = true;\n    }\n    # eth1 is a downstream interface advertising IPv6 prefixes for SLAAC.\n    {\n      name = \"eth1\";\n      advertise = true;\n      prefix = [{ prefix = \"::/64\"; }];\n    }\n  ];\n  # Optionally enable Prometheus metrics.\n  debug = {\n    address = \"localhost:9430\";\n    prometheus = true;\n  };\n}\n"}, "loc": ["services", "corerad", "settings"], "readOnly": false, "type": "TOML value"}, "services.corosync.clusterName": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "default": {"_type": "literalExpression", "text": "\"nixcluster\""}, "description": "Name of the corosync cluster.", "loc": ["services", "corosync", "clusterName"], "readOnly": false, "type": "string"}, "services.corosync.enable": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable corosync.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "corosync", "enable"], "readOnly": false, "type": "boolean"}, "services.corosync.extraOptions": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional options with which to start corosync.", "loc": ["services", "corosync", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.corosync.nodelist": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Corosync nodelist: all cluster members.", "loc": ["services", "corosync", "nodelist"], "readOnly": false, "type": "list of (submodule)"}, "services.corosync.nodelist.*.name": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "description": "Node name", "loc": ["services", "corosync", "nodelist", "*", "name"], "readOnly": false, "type": "string"}, "services.corosync.nodelist.*.nodeid": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "description": "Node ID number", "loc": ["services", "corosync", "nodelist", "*", "nodeid"], "readOnly": false, "type": "signed integer"}, "services.corosync.nodelist.*.ring_addrs": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of addresses, one for each ring.", "loc": ["services", "corosync", "nodelist", "*", "ring_addrs"], "readOnly": false, "type": "list of string"}, "services.corosync.package": {"declarations": ["nixos/modules/services/cluster/corosync/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.corosync"}, "description": "The corosync package to use.", "loc": ["services", "corosync", "package"], "readOnly": false, "type": "package"}, "services.corteza.address": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "IP for the HTTP server.\n", "loc": ["services", "corteza", "address"], "readOnly": false, "type": "string"}, "services.corteza.enable": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Corteza, a low-code platform.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "corteza", "enable"], "readOnly": false, "type": "boolean"}, "services.corteza.group": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "\"corteza\""}, "description": "The group to run Corteza under.", "loc": ["services", "corteza", "group"], "readOnly": false, "type": "string"}, "services.corteza.openFirewall": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "corteza", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.corteza.package": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "pkgs.corteza"}, "description": "The corteza package to use.", "loc": ["services", "corteza", "package"], "readOnly": false, "type": "package"}, "services.corteza.port": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "80"}, "description": "Port for the HTTP server.\n", "loc": ["services", "corteza", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.corteza.settings": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Corteza, will be passed as environment variables.\nSee <https://docs.cortezaproject.org/corteza-docs/2024.9/devops-guide/references/configuration/server.html>.\n", "loc": ["services", "corteza", "settings"], "readOnly": false, "type": "open submodule of attribute set of string"}, "services.corteza.settings.HTTP_WEBAPP_ENABLED": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable webapps.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "corteza", "settings", "HTTP_WEBAPP_ENABLED"], "readOnly": false, "type": "boolean"}, "services.corteza.user": {"declarations": ["nixos/modules/services/development/corteza.nix"], "default": {"_type": "literalExpression", "text": "\"corteza\""}, "description": "The user to run Corteza under.", "loc": ["services", "corteza", "user"], "readOnly": false, "type": "string"}, "services.coturn.alt-listening-port": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "listening-port + 1"}, "description": "Alternative listening port for UDP and TCP listeners;\ndefault (or zero) value means \"listening port plus one\".\nThis is needed for RFC 5780 support\n(STUN extension specs, NAT behavior discovery). The TURN Server\nsupports RFC 5780 only if it is started with more than one\nlistening IP address of the same family (IPv4 or IPv6).\nRFC 5780 is supported only by UDP protocol, other protocols\nare listening to that endpoint only for \"symmetry\".\n", "loc": ["services", "coturn", "alt-listening-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coturn.alt-tls-listening-port": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "tls-listening-port + 1"}, "description": "Alternative listening port for TLS and DTLS protocols.\n", "loc": ["services", "coturn", "alt-tls-listening-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coturn.cert": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Certificate file in PEM format.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/acme/example.com/fullchain.pem\""}, "loc": ["services", "coturn", "cert"], "readOnly": false, "type": "null or string"}, "services.coturn.cli-ip": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Local system IP address to be used for CLI server endpoint.\n", "loc": ["services", "coturn", "cli-ip"], "readOnly": false, "type": "string"}, "services.coturn.cli-password": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "CLI access password.\nFor the security reasons, it is recommended to use the encrypted\nfor of the password (see the -P command in the turnadmin utility).\n", "loc": ["services", "coturn", "cli-password"], "readOnly": false, "type": "null or string"}, "services.coturn.cli-port": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "5766"}, "description": "CLI server port.\n", "loc": ["services", "coturn", "cli-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coturn.dh-file": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Use custom DH TLS key, stored in PEM format in the file.\n", "loc": ["services", "coturn", "dh-file"], "readOnly": false, "type": "null or string"}, "services.coturn.enable": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable coturn TURN server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "coturn", "enable"], "readOnly": false, "type": "boolean"}, "services.coturn.extraConfig": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional configuration options", "loc": ["services", "coturn", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.coturn.listening-ips": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listener IP addresses of relay server.\nIf no IP(s) specified in the config file or in the command line options,\nthen all IPv4 and IPv6 system IPs will be used for listening.\n", "example": {"_type": "literalExpression", "text": "[\n  \"203.0.113.42\"\n  \"2001:DB8::42\"\n]"}, "loc": ["services", "coturn", "listening-ips"], "readOnly": false, "type": "list of string"}, "services.coturn.listening-port": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "3478"}, "description": "TURN listener port for UDP and TCP.\nNote: actually, TLS and DTLS sessions can connect to the\n\"plain\" TCP and UDP port(s), too - if allowed by configuration.\n", "loc": ["services", "coturn", "listening-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coturn.lt-cred-mech": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use long-term credential mechanism.\n", "loc": ["services", "coturn", "lt-cred-mech"], "readOnly": false, "type": "boolean"}, "services.coturn.max-port": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "65535"}, "description": "Upper bound of UDP relay endpoints\n", "loc": ["services", "coturn", "max-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coturn.min-port": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "49152"}, "description": "Lower bound of UDP relay endpoints\n", "loc": ["services", "coturn", "min-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coturn.no-auth": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "This option is opposite to lt-cred-mech.\n(TURN Server with no-auth option allows anonymous access).\nIf neither option is defined, and no users are defined,\nthen no-auth is default. If at least one user is defined,\nin this file or in command line or in usersdb file, then\nlt-cred-mech is default.\n", "loc": ["services", "coturn", "no-auth"], "readOnly": false, "type": "boolean"}, "services.coturn.no-cli": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Turn OFF the CLI support.\n", "loc": ["services", "coturn", "no-cli"], "readOnly": false, "type": "boolean"}, "services.coturn.no-dtls": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable DTLS client listener", "loc": ["services", "coturn", "no-dtls"], "readOnly": false, "type": "boolean"}, "services.coturn.no-tcp": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable TCP client listener", "loc": ["services", "coturn", "no-tcp"], "readOnly": false, "type": "boolean"}, "services.coturn.no-tcp-relay": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable TCP relay endpoints", "loc": ["services", "coturn", "no-tcp-relay"], "readOnly": false, "type": "boolean"}, "services.coturn.no-tls": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable TLS client listener", "loc": ["services", "coturn", "no-tls"], "readOnly": false, "type": "boolean"}, "services.coturn.no-udp": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable UDP client listener", "loc": ["services", "coturn", "no-udp"], "readOnly": false, "type": "boolean"}, "services.coturn.no-udp-relay": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable UDP relay endpoints", "loc": ["services", "coturn", "no-udp-relay"], "readOnly": false, "type": "boolean"}, "services.coturn.pkey": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Private key file in PEM format.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/acme/example.com/key.pem\""}, "loc": ["services", "coturn", "pkey"], "readOnly": false, "type": "null or string"}, "services.coturn.realm": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "config.networking.hostName"}, "description": "The default realm to be used for the users when no explicit\norigin/realm relationship was found in the database, or if the TURN\nserver is not using any database (just the commands-line settings\nand the userdb file). Must be used with long-term credentials\nmechanism or with TURN REST API.\n", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "coturn", "realm"], "readOnly": false, "type": "string"}, "services.coturn.relay-ips": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Relay address (the local IP address that will be used to relay the\npackets to the peer).\nMultiple relay addresses may be used.\nThe same IP(s) can be used as both listening IP(s) and relay IP(s).\n\nIf no relay IP(s) specified, then the turnserver will apply the default\npolicy: it will decide itself which relay addresses to be used, and it\nwill always be using the client socket IP address as the relay IP address\nof the TURN session (if the requested relay address family is the same\nas the family of the client socket).\n", "example": {"_type": "literalExpression", "text": "[\n  \"203.0.113.42\"\n  \"2001:DB8::42\"\n]"}, "loc": ["services", "coturn", "relay-ips"], "readOnly": false, "type": "list of string"}, "services.coturn.secure-stun": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Require authentication of the STUN Binding request.\nBy default, the clients are allowed anonymous access to the STUN Binding functionality.\n", "loc": ["services", "coturn", "secure-stun"], "readOnly": false, "type": "boolean"}, "services.coturn.static-auth-secret": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "'Static' authentication secret value (a string) for TURN REST API only.\nIf not set, then the turn server\nwill try to use the 'dynamic' value in turn_secret table\nin user database (if present). The database-stored  value can be changed on-the-fly\nby a separate program, so this is why that other mode is 'dynamic'.\n", "loc": ["services", "coturn", "static-auth-secret"], "readOnly": false, "type": "null or string"}, "services.coturn.static-auth-secret-file": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the file containing the static authentication secret.\n", "loc": ["services", "coturn", "static-auth-secret-file"], "readOnly": false, "type": "null or string"}, "services.coturn.tls-listening-port": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "5349"}, "description": "TURN listener port for TLS.\nNote: actually, \"plain\" TCP and UDP sessions can connect to the TLS and\nDTLS port(s), too - if allowed by configuration. The TURN server\n\"automatically\" recognizes the type of traffic. Actually, two listening\nendpoints (the \"plain\" one and the \"tls\" one) are equivalent in terms of\nfunctionality; but we keep both endpoints to satisfy the RFC 5766 specs.\nFor secure TCP connections, we currently support SSL version 3 and\nTLS version 1.0, 1.1 and 1.2.\nFor secure UDP connections, we support DTLS version 1.\n", "loc": ["services", "coturn", "tls-listening-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.coturn.use-auth-secret": {"declarations": ["nixos/modules/services/networking/coturn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "TURN REST API flag.\nFlag that sets a special authorization option that is based upon authentication secret.\nThis feature can be used with the long-term authentication mechanism, only.\nThis feature purpose is to support \"TURN Server REST API\", see\n\"TURN REST API\" link in the project's page\n<https://github.com/coturn/coturn/>\n\nThis option is used with timestamp:\n\nusercombo -> \"timestamp:userid\"\nturn user -> usercombo\nturn password -> base64(hmac(secret key, usercombo))\n\nThis allows TURN credentials to be accounted for a specific user id.\nIf you don't have a suitable id, the timestamp alone can be used.\nThis option is just turning on secret-based authentication.\nThe actual value of the secret is defined either by option static-auth-secret,\nor can be found in the turn_secret table in the database.\n", "loc": ["services", "coturn", "use-auth-secret"], "readOnly": false, "type": "boolean"}, "services.couchdb.adminPass": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Couchdb (i.e. fauxton) account with permission for all dbs and\ntasks.\n", "loc": ["services", "couchdb", "adminPass"], "readOnly": false, "type": "null or string"}, "services.couchdb.adminUser": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Couchdb (i.e. fauxton) account with permission for all dbs and\ntasks.\n", "loc": ["services", "couchdb", "adminUser"], "readOnly": false, "type": "string"}, "services.couchdb.argsFile": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"config.services.couchdb.package/etc/vm.args\""}, "description": "vm.args configuration. Overrides Couchdb's Erlang VM parameters file.\n", "loc": ["services", "couchdb", "argsFile"], "readOnly": false, "type": "absolute path"}, "services.couchdb.bindAddress": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Defines the IP address by which CouchDB will be accessible.\n", "loc": ["services", "couchdb", "bindAddress"], "readOnly": false, "type": "string"}, "services.couchdb.configFile": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/couchdb/local.ini\""}, "description": "Configuration file for persisting runtime changes. File\nneeds to be readable and writable from couchdb user/group.\n", "loc": ["services", "couchdb", "configFile"], "readOnly": false, "type": "absolute path"}, "services.couchdb.databaseDir": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/couchdb\""}, "description": "Specifies location of CouchDB database files (*.couch named). This\nlocation should be writable and readable for the user the CouchDB\nservice runs as (couchdb by default).\n", "loc": ["services", "couchdb", "databaseDir"], "readOnly": false, "type": "absolute path"}, "services.couchdb.enable": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CouchDB Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "couchdb", "enable"], "readOnly": false, "type": "boolean"}, "services.couchdb.extraConfig": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options for CouchDB", "loc": ["services", "couchdb", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.couchdb.extraConfigFiles": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra configuration files. Overrides any other configuration. You can use this to setup the Admin user without putting the password in your nix store.\n", "loc": ["services", "couchdb", "extraConfigFiles"], "readOnly": false, "type": "list of absolute path"}, "services.couchdb.group": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"couchdb\""}, "description": "Group account under which couchdb runs.\n", "loc": ["services", "couchdb", "group"], "readOnly": false, "type": "string"}, "services.couchdb.logFile": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/couchdb.log\""}, "description": "Specifies the location of file for logging output.\n", "loc": ["services", "couchdb", "logFile"], "readOnly": false, "type": "absolute path"}, "services.couchdb.package": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.couchdb3"}, "description": "The couchdb3 package to use.", "loc": ["services", "couchdb", "package"], "readOnly": false, "type": "package"}, "services.couchdb.port": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "5984"}, "description": "Defined the port number to listen.\n", "loc": ["services", "couchdb", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.couchdb.uriFile": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"/run/couchdb/couchdb.uri\""}, "description": "This file contains the full URI that can be used to access this\ninstance of CouchDB. It is used to help discover the port CouchDB is\nrunning on (if it was set to 0 (e.g. automatically assigned any free\none). This file should be writable and readable for the user that\nruns the CouchDB service (couchdb by default).\n", "loc": ["services", "couchdb", "uriFile"], "readOnly": false, "type": "absolute path"}, "services.couchdb.user": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"couchdb\""}, "description": "User account under which couchdb runs.\n", "loc": ["services", "couchdb", "user"], "readOnly": false, "type": "string"}, "services.couchdb.viewIndexDir": {"declarations": ["nixos/modules/services/databases/couchdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/couchdb\""}, "description": "Specifies location of CouchDB view index files. This location should\nbe writable and readable for the user that runs the CouchDB service\n(couchdb by default).\n", "loc": ["services", "couchdb", "viewIndexDir"], "readOnly": false, "type": "absolute path"}, "services.cpuminer-cryptonight.enable": {"declarations": ["nixos/modules/services/misc/cpuminer-cryptonight.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the cpuminer cryptonight miner.\n", "loc": ["services", "cpuminer-cryptonight", "enable"], "readOnly": false, "type": "boolean"}, "services.cpuminer-cryptonight.pass": {"declarations": ["nixos/modules/services/misc/cpuminer-cryptonight.nix"], "default": {"_type": "literalExpression", "text": "\"x\""}, "description": "Password for mining server", "loc": ["services", "cpuminer-cryptonight", "pass"], "readOnly": false, "type": "string"}, "services.cpuminer-cryptonight.threads": {"declarations": ["nixos/modules/services/misc/cpuminer-cryptonight.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Number of miner threads, defaults to available processors", "loc": ["services", "cpuminer-cryptonight", "threads"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.cpuminer-cryptonight.url": {"declarations": ["nixos/modules/services/misc/cpuminer-cryptonight.nix"], "description": "URL of mining server", "loc": ["services", "cpuminer-cryptonight", "url"], "readOnly": false, "type": "string"}, "services.cpuminer-cryptonight.user": {"declarations": ["nixos/modules/services/misc/cpuminer-cryptonight.nix"], "description": "Username for mining server", "loc": ["services", "cpuminer-cryptonight", "user"], "readOnly": false, "type": "string"}, "services.cpupower-gui.enable": {"declarations": ["nixos/modules/services/desktops/cpupower-gui.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables dbus/systemd service needed by cpupower-gui.\nThese services are responsible for retrieving and modifying cpu power\nsaving settings.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cpupower-gui", "enable"], "readOnly": false, "type": "boolean"}, "services.crab-hole.configFile": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "description": "The config file of crab-hole.\n\nIf files are added via url, make sure the service has access to them.\nSetting this option will override any configuration applied by the settings option.\n", "loc": ["services", "crab-hole", "configFile"], "readOnly": false, "type": "absolute path"}, "services.crab-hole.enable": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Crab-hole Service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "crab-hole", "enable"], "readOnly": false, "type": "boolean"}, "services.crab-hole.package": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "default": {"_type": "literalExpression", "text": "pkgs.crab-hole"}, "description": "The crab-hole package to use.", "loc": ["services", "crab-hole", "package"], "readOnly": false, "type": "package"}, "services.crab-hole.settings": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "description": "Crab-holes config. See big example <https://github.com/LuckyTurtleDev/crab-hole/blob/main/example-config.toml>", "example": {"_type": "literalExpression", "text": "{\n  api = {\n    admin_key = \"1234\";\n    listen = \"127.0.0.1\";\n    port = 8080;\n    show_doc = true;\n  };\n  blocklist = {\n    allow_list = [\n      \"file:///allowed.txt\"\n    ];\n    include_subdomains = true;\n    lists = [\n      \"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts\"\n      \"https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt\"\n      \"file:///blocked.txt\"\n    ];\n  };\n  downstream = [\n    {\n      listen = \"localhost\";\n      port = 8080;\n      protocol = \"udp\";\n    }\n    {\n      certificate = \"dns.example.com.crt\";\n      dns_hostname = \"dns.example.com\";\n      key = \"dns.example.com.key\";\n      listen = \"[::]\";\n      port = 8055;\n      protocol = \"https\";\n      timeout_ms = 3000;\n    }\n  ];\n  upstream = {\n    name_servers = [\n      {\n        protocol = \"tls\";\n        socket_addr = \"[2606:4700:4700::1111]:853\";\n        tls_dns_name = \"1dot1dot1dot1.cloudflare-dns.com\";\n        trust_nx_responses = false;\n      }\n      {\n        protocol = \"tls\";\n        socket_addr = \"1.1.1.1:853\";\n        tls_dns_name = \"1dot1dot1dot1.cloudflare-dns.com\";\n        trust_nx_responses = false;\n      }\n    ];\n    options = {\n      validate = false;\n    };\n  };\n}"}, "loc": ["services", "crab-hole", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.crab-hole.settings.blocklist.allow_list": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of allowlists. If files are added via url, make sure the service has access to them!", "loc": ["services", "crab-hole", "settings", "blocklist", "allow_list"], "readOnly": false, "type": "list of (string or absolute path)"}, "services.crab-hole.settings.blocklist.include_subdomains": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Include subdomains.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "crab-hole", "settings", "blocklist", "include_subdomains"], "readOnly": false, "type": "boolean"}, "services.crab-hole.settings.blocklist.lists": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of blocklists. If files are added via url, make sure the service has access to them!", "loc": ["services", "crab-hole", "settings", "blocklist", "lists"], "readOnly": false, "type": "list of (string or absolute path)"}, "services.crab-hole.supplementaryGroups": {"declarations": ["nixos/modules/services/networking/crab-hole.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Adds additional groups to the crab-hole service. Can be useful to prevent permission issues.", "example": {"_type": "literalExpression", "text": "[\n  \"acme\"\n]"}, "loc": ["services", "crab-hole", "supplementaryGroups"], "readOnly": false, "type": "list of string"}, "services.create_ap.enable": {"declarations": ["nixos/modules/services/networking/create_ap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable setting up wifi hotspots using create_ap.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "create_ap", "enable"], "readOnly": false, "type": "boolean"}, "services.create_ap.settings": {"declarations": ["nixos/modules/services/networking/create_ap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for `create_ap`.\nSee [upstream example configuration](https://raw.githubusercontent.com/lakinduakash/linux-wifi-hotspot/master/src/scripts/create_ap.conf)\nfor supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  INTERNET_IFACE = \"eth0\";\n  PASSPHRASE = \"12345678\";\n  SSID = \"My Wifi Hotspot\";\n  WIFI_IFACE = \"wlan0\";\n}"}, "loc": ["services", "create_ap", "settings"], "readOnly": false, "type": "attribute set of (signed integer or boolean or string)"}, "services.croc.debug": {"declarations": ["nixos/modules/services/networking/croc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logs.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "croc", "debug"], "readOnly": false, "type": "boolean"}, "services.croc.enable": {"declarations": ["nixos/modules/services/networking/croc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable croc relay.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "croc", "enable"], "readOnly": false, "type": "boolean"}, "services.croc.openFirewall": {"declarations": ["nixos/modules/services/networking/croc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening of the peer port(s) in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "croc", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.croc.pass": {"declarations": ["nixos/modules/services/networking/croc.nix"], "default": {"_type": "literalExpression", "text": "\"pass123\""}, "description": "Password or passwordfile for the relay.", "loc": ["services", "croc", "pass"], "readOnly": false, "type": "absolute path or string"}, "services.croc.ports": {"declarations": ["nixos/modules/services/networking/croc.nix"], "default": {"_type": "literalExpression", "text": "[\n  9009\n  9010\n  9011\n  9012\n  9013\n]"}, "description": "Ports of the relay.", "loc": ["services", "croc", "ports"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cron.cronFiles": {"declarations": ["nixos/modules/services/scheduling/cron.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of extra crontab files that will be read and appended to the main\ncrontab file when the cron service starts.\n", "loc": ["services", "cron", "cronFiles"], "readOnly": false, "type": "list of absolute path"}, "services.cron.enable": {"declarations": ["nixos/modules/services/scheduling/cron.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Vixie cron daemon.", "loc": ["services", "cron", "enable"], "readOnly": false, "type": "boolean"}, "services.cron.mailto": {"declarations": ["nixos/modules/services/scheduling/cron.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Email address to which job output will be mailed.", "loc": ["services", "cron", "mailto"], "readOnly": false, "type": "null or string"}, "services.cron.systemCronJobs": {"declarations": ["nixos/modules/services/scheduling/cron.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of Cron jobs to be appended to the system-wide\ncrontab.  See the manual page for crontab for the expected\nformat. If you want to get the results mailed you must setuid\nsendmail. See {option}`security.wrappers`\n\nIf neither /var/cron/cron.deny nor /var/cron/cron.allow exist only root\nis allowed to have its own crontab file. The /var/cron/cron.deny file\nis created automatically for you, so every user can use a crontab.\n\nMany nixos modules set systemCronJobs, so if you decide to disable vixie cron\nand enable another cron daemon, you may want it to get its system crontab\nbased on systemCronJobs.\n", "example": {"_type": "literalExpression", "text": "[ \"* * * * *  test   ls -l / > /tmp/cronout 2>&1\"\n  \"* * * * *  eelco  echo Hello World > /home/eelco/cronout\"\n]\n"}, "loc": ["services", "cron", "systemCronJobs"], "readOnly": false, "type": "list of string"}, "services.cross-seed.configDir": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cross-seed\""}, "description": "Cross-seed config directory", "loc": ["services", "cross-seed", "configDir"], "readOnly": false, "type": "absolute path"}, "services.cross-seed.enable": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cross-seed.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cross-seed", "enable"], "readOnly": false, "type": "boolean"}, "services.cross-seed.group": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "\"cross-seed\""}, "description": "Group to run cross-seed as.", "example": {"_type": "literalExpression", "text": "\"torrents\""}, "loc": ["services", "cross-seed", "group"], "readOnly": false, "type": "string"}, "services.cross-seed.package": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cross-seed"}, "description": "The cross-seed package to use.", "loc": ["services", "cross-seed", "package"], "readOnly": false, "type": "package"}, "services.cross-seed.settings": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration options for cross-seed.\n\nSecrets should not be set in this option, as they will be available in\nthe Nix store. For secrets, please use settingsFile.\n\nFor more details, see [the cross-seed documentation](https://www.cross-seed.org/docs/basics/options).\n", "loc": ["services", "cross-seed", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.cross-seed.settings.dataDirs": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Paths to be searched for matching data.\n\nIf you use Injection, cross-seed will use the specified linkType\nto create a link to the original file in the linkDirs.\n\nIf linkType is hardlink, these must be on the same volume as the\ndata.\n", "loc": ["services", "cross-seed", "settings", "dataDirs"], "readOnly": false, "type": "list of absolute path"}, "services.cross-seed.settings.linkDirs": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of directories where cross-seed will create links.\n\nIf linkType is hardlink, these must be on the same volume as the data.\n", "loc": ["services", "cross-seed", "settings", "linkDirs"], "readOnly": false, "type": "list of absolute path"}, "services.cross-seed.settings.outputDir": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "\"\\${cfg.configDir}/output\""}, "description": "Directory where cross-seed will place torrent files it finds.", "loc": ["services", "cross-seed", "settings", "outputDir"], "readOnly": false, "type": "null or absolute path"}, "services.cross-seed.settings.port": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "2468"}, "description": "Port the cross-seed daemon listens on.", "example": {"_type": "literalExpression", "text": "3000"}, "loc": ["services", "cross-seed", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cross-seed.settings.torrentDir": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Directory containing torrent files, or if you're using a torrent\nclient integration and injection - your torrent client's .torrent\nfile store/cache.\n", "loc": ["services", "cross-seed", "settings", "torrentDir"], "readOnly": false, "type": "null or absolute path"}, "services.cross-seed.settingsFile": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a JSON file containing settings that will be merged with the\nsettings option. This is suitable for storing secrets, as they will not\nbe exposed on the Nix store.\n", "loc": ["services", "cross-seed", "settingsFile"], "readOnly": false, "type": "null or absolute path"}, "services.cross-seed.useGenConfigDefaults": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use the option defaults from the configuration generated by\n{command}`cross-seed gen-config`.\n\nThose are the settings recommended by the project, and can be inspected\nfrom their [template file](https://github.com/cross-seed/cross-seed/blob/master/src/config.template.cjs).\n\nSettings set in {option}`services.cross-seed.settings` and\n{option}`services.cross-seed.settingsFile` will override the ones from\nthis option.\n", "loc": ["services", "cross-seed", "useGenConfigDefaults"], "readOnly": false, "type": "boolean"}, "services.cross-seed.user": {"declarations": ["nixos/modules/services/torrent/cross-seed.nix"], "default": {"_type": "literalExpression", "text": "\"cross-seed\""}, "description": "User to run cross-seed as.", "loc": ["services", "cross-seed", "user"], "readOnly": false, "type": "string"}, "services.crossfire-server.configFiles": {"declarations": ["nixos/modules/services/games/crossfire-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Text to append to the corresponding configuration files. Note that the\nfiles given in the example are *not* the complete set of files available\nto customize; look in /etc/crossfire after enabling the server to see\nthe available files, and read the comments in each file for detailed\ndocumentation on the format and what settings are available.\n\nNote that the motd, rules, and news files, if configured here, will\noverwrite the example files that come with the server, rather than being\nappended to them as the other configuration files are.\n", "example": {"_type": "literalExpression", "text": "{\n  dm_file = ''\n    admin:secret_password:localhost\n    alice:xyzzy:*\n  '';\n  ban_file = ''\n    # Bob is a jerk\n    bob@*\n    # So is everyone on 192.168.86.255/24\n    *@192.168.86.\n  '';\n  metaserver2 = ''\n    metaserver2_notification on\n    localhostname crossfire.example.net\n  '';\n  motd = \"Welcome to CrossFire!\";\n  news = \"No news yet.\";\n  rules = \"Don't be a jerk.\";\n  settings = ''\n    # be nicer to newbies and harsher to experienced players\n    balanced_stat_loss true\n    # don't let players pick up and use admin-created items\n    real_wiz false\n  '';\n}\n"}, "loc": ["services", "crossfire-server", "configFiles"], "readOnly": false, "type": "attribute set of string"}, "services.crossfire-server.dataDir": {"declarations": ["nixos/modules/services/games/crossfire-server.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.crossfire.package}/share/crossfire\""}, "description": "Where to load readonly data from -- maps, archetypes, treasure tables,\nand the like. If you plan to edit the data on the live server (rather\nthan overlaying the crossfire-maps and crossfire-arch packages and\nnixos-rebuilding), point this somewhere read-write and copy the data\nthere before starting the server.\n", "loc": ["services", "crossfire-server", "dataDir"], "readOnly": false, "type": "string"}, "services.crossfire-server.enable": {"declarations": ["nixos/modules/services/games/crossfire-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, the Crossfire game server will be started at boot.\n", "loc": ["services", "crossfire-server", "enable"], "readOnly": false, "type": "boolean"}, "services.crossfire-server.openFirewall": {"declarations": ["nixos/modules/services/games/crossfire-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall for the server.\n", "loc": ["services", "crossfire-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.crossfire-server.package": {"declarations": ["nixos/modules/services/games/crossfire-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.crossfire-server"}, "description": "The crossfire-server package to use. ::: {.note}\nThis will also be used for map/arch data, if you don't change {option}`dataDir`\n:::\n", "loc": ["services", "crossfire-server", "package"], "readOnly": false, "type": "package"}, "services.crossfire-server.stateDir": {"declarations": ["nixos/modules/services/games/crossfire-server.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/crossfire\""}, "description": "Where to store runtime data (save files, persistent items, etc).\n\nIf left at the default, this will be automatically created on server\nstartup if it does not already exist. If changed, it is the admin's\nresponsibility to make sure that the directory exists and is writeable\nby the `crossfire` user.\n", "loc": ["services", "crossfire-server", "stateDir"], "readOnly": false, "type": "string"}, "services.crossmacro.daemonPackage": {"declarations": ["nixos/modules/services/desktops/crossmacro.nix"], "default": {"_type": "literalExpression", "text": "pkgs.crossmacro-daemon"}, "description": "The crossmacro-daemon package to use.", "loc": ["services", "crossmacro", "daemonPackage"], "readOnly": false, "type": "package"}, "services.crossmacro.enable": {"declarations": ["nixos/modules/services/desktops/crossmacro.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CrossMacro, a cross-platform mouse and keyboard macro application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "crossmacro", "enable"], "readOnly": false, "type": "boolean"}, "services.crossmacro.package": {"declarations": ["nixos/modules/services/desktops/crossmacro.nix"], "default": {"_type": "literalExpression", "text": "pkgs.crossmacro"}, "description": "The crossmacro package to use.", "loc": ["services", "crossmacro", "package"], "readOnly": false, "type": "package"}, "services.crossmacro.users": {"declarations": ["nixos/modules/services/desktops/crossmacro.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of users granted permission to use CrossMacro.", "example": {"_type": "literalExpression", "text": "[\n  \"alice\"\n  \"bob\"\n]"}, "loc": ["services", "crossmacro", "users"], "readOnly": false, "type": "list of string"}, "services.crowdsec-firewall-bouncer.createRulesets": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to have the module create the appropriate firewall configuration\nbased on the bouncer settings.\nYou may disable this option to manually configure it.\n", "loc": ["services", "crowdsec-firewall-bouncer", "createRulesets"], "readOnly": false, "type": "boolean"}, "services.crowdsec-firewall-bouncer.enable": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CrowdSec Firewall Bouncer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "crowdsec-firewall-bouncer", "enable"], "readOnly": false, "type": "boolean"}, "services.crowdsec-firewall-bouncer.package": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "pkgs.crowdsec-firewall-bouncer"}, "description": "The crowdsec-firewall-bouncer package to use.", "loc": ["services", "crowdsec-firewall-bouncer", "package"], "readOnly": false, "type": "package"}, "services.crowdsec-firewall-bouncer.registerBouncer.bouncerName": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "\"crowdsec-firewall-bouncer\""}, "description": "Name to register the bouncer as to the CrowdSec API", "loc": ["services", "crowdsec-firewall-bouncer", "registerBouncer", "bouncerName"], "readOnly": false, "type": "non-empty string"}, "services.crowdsec-firewall-bouncer.registerBouncer.enable": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "config.services.crowdsec.enable"}, "description": "Whether to automatically register the bouncer to the locally running\n`crowdsec` service.\n\nWhen authenticating to an external CrowdSec API, you may use the\n[](#opt-services.crowdsec-firewall-bouncer.secrets.apiKeyPath) option\ninstead.\n", "loc": ["services", "crowdsec-firewall-bouncer", "registerBouncer", "enable"], "readOnly": false, "type": "boolean"}, "services.crowdsec-firewall-bouncer.secrets.apiKeyPath": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the API key to authenticate with a local CrowdSec API.\n\nYou need to call `cscli bouncers add <bouncer-name>` to register\nthe bouncer and get this API key.\n\nWhen authenticating to the locally running `crowdsec` service, you may use the\n[](#opt-services.crowdsec-firewall-bouncer.registerBouncer.enable) option instead.\n", "loc": ["services", "crowdsec-firewall-bouncer", "secrets", "apiKeyPath"], "readOnly": false, "type": "null or absolute path"}, "services.crowdsec-firewall-bouncer.settings": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for the main CrowdSec Firewall Bouncer.\n\nRefer to the defaults at <https://github.com/crowdsecurity/cs-firewall-bouncer/blob/main/config/crowdsec-firewall-bouncer.yaml>.\n", "loc": ["services", "crowdsec-firewall-bouncer", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.crowdsec-firewall-bouncer.settings.api_key": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "API key to authenticate with a local crowdsec API.\n\nYou need to call `cscli bouncers add <bouncer-name>` to register\nthe bouncer and get this API key.\n\nSetting this option will store this secret in the Nix store.\nInstead, you should set the `services.crowdsec-firewall-bouncer.secrets.apiKeyPath`\noption, which will read the value at runtime.\n", "loc": ["services", "crowdsec-firewall-bouncer", "settings", "api_key"], "readOnly": false, "type": "null or string"}, "services.crowdsec-firewall-bouncer.settings.api_url": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "http://$\\{config.services.crowdsec.settings.general.api.server.listen_uri}"}, "description": "URL of the local API.", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1:8080\""}, "loc": ["services", "crowdsec-firewall-bouncer", "settings", "api_url"], "readOnly": false, "type": "string"}, "services.crowdsec-firewall-bouncer.settings.mode": {"declarations": ["nixos/modules/services/security/crowdsec-firewall-bouncer.nix"], "default": {"_type": "literalExpression", "text": "if config.networking.nftables.enable then \"nftables\" else \"iptables\""}, "description": "Firewall mode to use.", "loc": ["services", "crowdsec-firewall-bouncer", "settings", "mode"], "readOnly": false, "type": "string"}, "services.crowdsec.autoUpdateService": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable if `true` `cscli hub update` will be executed daily. See `https://docs.crowdsec.net/docs/cscli/cscli_hub_update/` for more information.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "crowdsec", "autoUpdateService"], "readOnly": false, "type": "boolean"}, "services.crowdsec.enable": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable CrowdSec Security Engine.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "crowdsec", "enable"], "readOnly": false, "type": "boolean"}, "services.crowdsec.group": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "\"crowdsec\""}, "description": "The group to run crowdsec as", "loc": ["services", "crowdsec", "group"], "readOnly": false, "type": "string"}, "services.crowdsec.hub": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Hub collections, parsers, AppSec rules, etc.\n", "loc": ["services", "crowdsec", "hub"], "readOnly": false, "type": "submodule"}, "services.crowdsec.hub.appSecConfigs": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of hub appsec configurations to install", "example": {"_type": "literalExpression", "text": "[\n  \"crowdsecurity/appsec-default\"\n]"}, "loc": ["services", "crowdsec", "hub", "appSecConfigs"], "readOnly": false, "type": "list of string"}, "services.crowdsec.hub.appSecRules": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of hub appsec rules to install", "example": {"_type": "literalExpression", "text": "[\n  \"crowdsecurity/base-config\"\n]"}, "loc": ["services", "crowdsec", "hub", "appSecRules"], "readOnly": false, "type": "list of string"}, "services.crowdsec.hub.branch": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "\"master\""}, "description": "The git branch on which cscli is going to fetch configurations.\n\nSee `https://docs.crowdsec.net/docs/configuration/crowdsec_configuration/#hub_branch` for more information.\n", "example": {"_type": "literalExpression", "text": "[\n  \"master\"\n  \"v1.4.3\"\n  \"v1.4.2\"\n]"}, "loc": ["services", "crowdsec", "hub", "branch"], "readOnly": false, "type": "string"}, "services.crowdsec.hub.collections": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of hub collections to install", "example": {"_type": "literalExpression", "text": "[\n  \"crowdsecurity/linux\"\n]"}, "loc": ["services", "crowdsec", "hub", "collections"], "readOnly": false, "type": "list of string"}, "services.crowdsec.hub.parsers": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of hub parsers to install", "example": {"_type": "literalExpression", "text": "[\n  \"crowdsecurity/sshd-logs\"\n]"}, "loc": ["services", "crowdsec", "hub", "parsers"], "readOnly": false, "type": "list of string"}, "services.crowdsec.hub.postOverflows": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of hub postoverflows to install", "example": {"_type": "literalExpression", "text": "[\n  \"crowdsecurity/auditd-nix-wrappers-whitelist-process\"\n]"}, "loc": ["services", "crowdsec", "hub", "postOverflows"], "readOnly": false, "type": "list of string"}, "services.crowdsec.hub.scenarios": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of hub scenarios to install", "example": {"_type": "literalExpression", "text": "[\n  \"crowdsecurity/ssh-bf\"\n]"}, "loc": ["services", "crowdsec", "hub", "scenarios"], "readOnly": false, "type": "list of string"}, "services.crowdsec.localConfig": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The configuration for a crowdsec security engine.\n", "loc": ["services", "crowdsec", "localConfig"], "readOnly": false, "type": "submodule"}, "services.crowdsec.localConfig.acquisitions": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of acquisition specifications, which define the data sources you want to be parsed.\n\nSee <https://docs.crowdsec.net/docs/data_sources/intro> for details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    journalctl_filter = [\n      \"_SYSTEMD_UNIT=sshd.service\"\n    ];\n    labels = {\n      type = \"syslog\";\n    };\n    source = \"journalctl\";\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "acquisitions"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.contexts": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of additional contexts to specify.\n\nSee <https://docs.crowdsec.net/docs/next/log_processor/alert_context/intro> for details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    context = {\n      method = [\n        \"evt.Meta.http_verb\"\n      ];\n      status = [\n        \"evt.Meta.http_status\"\n      ];\n      target_uri = [\n        \"evt.Meta.http_path\"\n      ];\n      user_agent = [\n        \"evt.Meta.http_user_agent\"\n      ];\n    };\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "contexts"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.notifications": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of notifications to enable and use in your profiles. Note that for now, only the plugins shipped by default with CrowdSec are supported.\n\nSee <https://docs.crowdsec.net/docs/notification_plugins/intro> for details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    format = ''\n      {{.|toJson}}\n    '';\n    log_level = \"info\";\n    method = \"POST\";\n    name = \"default_http_notification\";\n    type = \"http\";\n    url = \"https://example.com/hook\";\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "notifications"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.parsers": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The set of parser specifications.\n\nSee <https://docs.crowdsec.net/docs/parsers/intro> for details.\n", "loc": ["services", "crowdsec", "localConfig", "parsers"], "readOnly": false, "type": "submodule"}, "services.crowdsec.localConfig.parsers.s00Raw": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of stage s00-raw specifications. Most of the time, those are already included in the hub, but are presented here anyway.\n\nSee <https://docs.crowdsec.net/docs/parsers/intro> for details.\n", "loc": ["services", "crowdsec", "localConfig", "parsers", "s00Raw"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.parsers.s01Parse": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of stage s01-parse specifications.\n\nSee <https://docs.crowdsec.net/docs/parsers/intro> for details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    debug = true;\n    description = \"Parsing custom service logs\";\n    filter = \"1=1\";\n    grok = {\n      apply_on = \"message\";\n      pattern = \"^%{DATA:some_data}$\";\n    };\n    name = \"example/custom-service-logs\";\n    onsuccess = \"next_stage\";\n    statics = [\n      {\n        parsed = \"is_my_custom_service\";\n        value = \"yes\";\n      }\n    ];\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "parsers", "s01Parse"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.parsers.s02Enrich": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of stage s02-enrich specifications. Inside this list, you can specify Parser Whitelists.\n\nSee <https://docs.crowdsec.net/docs/whitelist/intro> for details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    description = \"Whitelist parse events from my IPs\";\n    name = \"myips/whitelist\";\n    whitelist = {\n      cidr = [\n        \"1.2.3.0/24\"\n      ];\n      ip = [\n        \"1.2.3.4\"\n      ];\n      reason = \"My IP ranges\";\n    };\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "parsers", "s02Enrich"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.patterns": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of files containing custom grok patterns.\n", "example": {"_type": "literalExpression", "text": "[ (pkgs.writeTextDir \"custom_service_logs\" (builtins.readFile ./custom_service_logs)) ]\n"}, "loc": ["services", "crowdsec", "localConfig", "patterns"], "readOnly": false, "type": "list of package"}, "services.crowdsec.localConfig.postOverflows": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The set of Postoverflows specifications.\n\nSee <https://docs.crowdsec.net/docs/next/log_processor/parsers/intro#postoverflows> for details.\n", "loc": ["services", "crowdsec", "localConfig", "postOverflows"], "readOnly": false, "type": "submodule"}, "services.crowdsec.localConfig.postOverflows.s01Whitelist": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of stage s01-whitelist specifications. Inside this list, you can specify Postoverflows Whitelists.\n\nSee <https://docs.crowdsec.net/docs/whitelist/intro> for details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    description = \"Whitelist my reverse DNS\";\n    name = \"postoverflows/whitelist_my_dns_domain\";\n    whitelist = {\n      expression = [\n        \"evt.Enriched.reverse_dns endsWith '.local.'\"\n      ];\n      reason = \"Don't ban me\";\n    };\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "postOverflows", "s01Whitelist"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.profiles": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[\n  {\n    decisions = [\n      {\n        duration = \"4h\";\n        type = \"ban\";\n      }\n    ];\n    filters = [\n      \"Alert.Remediation == true && Alert.GetScope() == 'Ip'\"\n    ];\n    name = \"default_ip_remediation\";\n    on_success = \"break\";\n  }\n  {\n    decisions = [\n      {\n        duration = \"4h\";\n        type = \"ban\";\n      }\n    ];\n    filters = [\n      \"Alert.Remediation == true && Alert.GetScope() == 'Range'\"\n    ];\n    name = \"default_range_remediation\";\n    on_success = \"break\";\n  }\n]"}, "description": "A list of profiles to enable.\n\nSee <https://docs.crowdsec.net/docs/profiles/intro> for more details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    decisions = [\n      {\n        duration = \"4h\";\n        type = \"ban\";\n      }\n    ];\n    filters = [\n      \"Alert.Remediation == true && Alert.GetScope() == 'Ip'\"\n    ];\n    name = \"default_ip_remediation\";\n    on_success = \"break\";\n  }\n  {\n    decisions = [\n      {\n        duration = \"4h\";\n        type = \"ban\";\n      }\n    ];\n    filters = [\n      \"Alert.Remediation == true && Alert.GetScope() == 'Range'\"\n    ];\n    name = \"default_range_remediation\";\n    on_success = \"break\";\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "profiles"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.localConfig.scenarios": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of scenarios specifications.\n\nSee <https://docs.crowdsec.net/docs/scenarios/intro> for details.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    capacity = 5;\n    description = \"Detect myservice bruteforce\";\n    filter = \"evt.Meta.log_type == 'myservice_failed_auth'\";\n    groupby = \"evt.Meta.source_ip\";\n    leakspeed = \"10s\";\n    name = \"crowdsecurity/myservice-bf\";\n    type = \"leaky\";\n  }\n]"}, "loc": ["services", "crowdsec", "localConfig", "scenarios"], "readOnly": false, "type": "list of (YAML 1.1 value)"}, "services.crowdsec.name": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "config.networking.hostName"}, "description": "Name of the machine when registering it at the central or local api.\n", "loc": ["services", "crowdsec", "name"], "readOnly": false, "type": "string"}, "services.crowdsec.openFirewall": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically open firewall ports for `crowdsec`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "crowdsec", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.crowdsec.package": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "pkgs.crowdsec"}, "description": "The crowdsec package to use.", "loc": ["services", "crowdsec", "package"], "readOnly": false, "type": "package"}, "services.crowdsec.settings": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "description": "Set of various configuration attributes\n", "loc": ["services", "crowdsec", "settings"], "readOnly": false, "type": "submodule"}, "services.crowdsec.settings.capi": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "CAPI Configuration attributes\n", "loc": ["services", "crowdsec", "settings", "capi"], "readOnly": false, "type": "submodule"}, "services.crowdsec.settings.capi.credentialsFile": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The CAPI credential file to use.\n", "example": {"_type": "literalExpression", "text": "\"/run/crowdsec/capi.yaml\""}, "loc": ["services", "crowdsec", "settings", "capi", "credentialsFile"], "readOnly": false, "type": "null or absolute path"}, "services.crowdsec.settings.console": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Console Configuration attributes\n", "loc": ["services", "crowdsec", "settings", "console"], "readOnly": false, "type": "submodule"}, "services.crowdsec.settings.console.configuration": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{\n  share_context = false;\n  share_custom = false;\n  share_manual_decisions = false;\n  share_tainted = false;\n}"}, "description": "Attributes inside the console.yaml file.\n", "loc": ["services", "crowdsec", "settings", "console", "configuration"], "readOnly": false, "type": "YAML 1.1 value"}, "services.crowdsec.settings.console.tokenFile": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The Console Token file to use.\n", "example": {"_type": "literalExpression", "text": "\"/run/crowdsec/console_token.yaml\""}, "loc": ["services", "crowdsec", "settings", "console", "tokenFile"], "readOnly": false, "type": "null or absolute path"}, "services.crowdsec.settings.general": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for the main CrowdSec configuration file.\n\nRefer to the defaults at <https://github.com/crowdsecurity/crowdsec/blob/master/config/config.yaml>.\n", "loc": ["services", "crowdsec", "settings", "general"], "readOnly": false, "type": "YAML 1.1 value"}, "services.crowdsec.settings.lapi": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "LAPI Configuration attributes\n", "loc": ["services", "crowdsec", "settings", "lapi"], "readOnly": false, "type": "submodule"}, "services.crowdsec.settings.lapi.credentialsFile": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The LAPI credential file to use.\n", "example": {"_type": "literalExpression", "text": "\"/run/crowdsec/lapi.yaml\""}, "loc": ["services", "crowdsec", "settings", "lapi", "credentialsFile"], "readOnly": false, "type": "null or absolute path"}, "services.crowdsec.settings.simulation": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "{\n  simulation = false;\n}"}, "description": "Attributes inside the simulation.yaml file.\n", "loc": ["services", "crowdsec", "settings", "simulation"], "readOnly": false, "type": "YAML 1.1 value"}, "services.crowdsec.user": {"declarations": ["nixos/modules/services/security/crowdsec.nix"], "default": {"_type": "literalExpression", "text": "\"crowdsec\""}, "description": "The user to run crowdsec as", "loc": ["services", "crowdsec", "user"], "readOnly": false, "type": "string"}, "services.cryptpad.configureNginx": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configure Nginx as a reverse proxy for Cryptpad.\nNote that this makes some assumptions on your setup, and sets settings that will\naffect other virtualHosts running on your Nginx instance, if any.\nAlternatively you can configure a reverse-proxy of your choice.\n", "loc": ["services", "cryptpad", "configureNginx"], "readOnly": false, "type": "boolean"}, "services.cryptpad.enable": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable cryptpad.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cryptpad", "enable"], "readOnly": false, "type": "boolean"}, "services.cryptpad.package": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cryptpad"}, "description": "The cryptpad package to use.", "loc": ["services", "cryptpad", "package"], "readOnly": false, "type": "package"}, "services.cryptpad.settings": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "description": "Cryptpad configuration settings.\nSee <https://github.com/cryptpad/cryptpad/blob/main/config/config.example.js> for a more extensive\nreference documentation.\nTest your deployed instance through `https://<domain>/checkup/`.\n", "loc": ["services", "cryptpad", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.cryptpad.settings.adminKeys": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of public signing keys of users that can access the admin panel", "example": {"_type": "literalExpression", "text": "[\n  \"[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]\"\n]"}, "loc": ["services", "cryptpad", "settings", "adminKeys"], "readOnly": false, "type": "list of string"}, "services.cryptpad.settings.blockDailyCheck": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Disable telemetry. This setting is only effective if the 'Disable server telemetry'\nsetting in the admin menu has been untouched, and will be ignored by cryptpad once\nthat option is set either way.\nNote that due to the service confinement, just enabling the option in the admin\nmenu will not be able to resolve DNS and fail; this setting must be set as well.\n", "loc": ["services", "cryptpad", "settings", "blockDailyCheck"], "readOnly": false, "type": "boolean"}, "services.cryptpad.settings.httpAddress": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address on which the Node.js server should listen", "loc": ["services", "cryptpad", "settings", "httpAddress"], "readOnly": false, "type": "string"}, "services.cryptpad.settings.httpPort": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port on which the Node.js server should listen", "loc": ["services", "cryptpad", "settings", "httpPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cryptpad.settings.httpSafeOrigin": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cryptpad sandbox URL", "example": {"_type": "literalExpression", "text": "\"https://cryptpad-ui.example.com. Apparently optional but recommended.\""}, "loc": ["services", "cryptpad", "settings", "httpSafeOrigin"], "readOnly": false, "type": "null or string"}, "services.cryptpad.settings.httpUnsafeOrigin": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "This is the URL that users will enter to load your instance", "example": {"_type": "literalExpression", "text": "\"https://cryptpad.example.com\""}, "loc": ["services", "cryptpad", "settings", "httpUnsafeOrigin"], "readOnly": false, "type": "string"}, "services.cryptpad.settings.installMethod": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "\"nixos\""}, "description": "Install method is listed in telemetry if you agree to it through the consentToContact\nsetting in the admin panel.\n", "loc": ["services", "cryptpad", "settings", "installMethod"], "readOnly": false, "type": "string"}, "services.cryptpad.settings.logLevel": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Controls log level", "loc": ["services", "cryptpad", "settings", "logLevel"], "readOnly": false, "type": "string"}, "services.cryptpad.settings.logToStdout": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Controls whether log output should go to stdout of the systemd service", "loc": ["services", "cryptpad", "settings", "logToStdout"], "readOnly": false, "type": "boolean"}, "services.cryptpad.settings.maxWorkers": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of child processes, defaults to number of cores available", "loc": ["services", "cryptpad", "settings", "maxWorkers"], "readOnly": false, "type": "null or signed integer"}, "services.cryptpad.settings.websocketPort": {"declarations": ["nixos/modules/services/web-apps/cryptpad.nix"], "default": {"_type": "literalExpression", "text": "3003"}, "description": "Port for the websocket that needs to be separate", "loc": ["services", "cryptpad", "settings", "websocketPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.cyrus-imap.cyrusConfigFile": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the configuration file used for Cyrus.", "loc": ["services", "cyrus-imap", "cyrusConfigFile"], "readOnly": false, "type": "null or absolute path"}, "services.cyrus-imap.cyrusSettings": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "description": "Cyrus configuration settings. See [cyrus.conf(5)](https://www.cyrusimap.org/imap/reference/manpages/configs/cyrus.conf.html)", "loc": ["services", "cyrus-imap", "cyrusSettings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of (boolean or signed integer or list of string)"}, "services.cyrus-imap.cyrusSettings.DAEMON": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This section lists long running daemons to start before any SERVICES are spawned. {manpage}`master(8)` will ensure that these processes are running, restarting any process which dies or forks. All listed processes will be shutdown when {manpage}`master(8)` is exiting.\n", "loc": ["services", "cyrus-imap", "cyrusSettings", "DAEMON"], "readOnly": false, "type": "unspecified value"}, "services.cyrus-imap.cyrusSettings.EVENTS": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "{\n  checkpoint = {\n    cmd = [\n      \"ctl_cyrusdb\"\n      \"-c\"\n    ];\n    period = 30;\n  };\n  deleteprune = {\n    at = 430;\n    cmd = [\n      \"cyr_expire\"\n      \"-E\"\n      \"4\"\n      \"-D\"\n      \"28\"\n    ];\n  };\n  delprune = {\n    at = 400;\n    cmd = [\n      \"cyr_expire\"\n      \"-E\"\n      \"3\"\n    ];\n  };\n  expungeprune = {\n    at = 445;\n    cmd = [\n      \"cyr_expire\"\n      \"-E\"\n      \"4\"\n      \"-X\"\n      \"28\"\n    ];\n  };\n  tlsprune = {\n    at = 400;\n    cmd = [\n      \"tls_prune\"\n    ];\n  };\n}"}, "description": "This section lists processes that should be run at specific intervals, similar to cron jobs. This section is typically used to perform scheduled cleanup/maintenance.\n", "loc": ["services", "cyrus-imap", "cyrusSettings", "EVENTS"], "readOnly": false, "type": "unspecified value"}, "services.cyrus-imap.cyrusSettings.SERVICES": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "{\n  imap = {\n    cmd = [\n      \"imapd\"\n    ];\n    listen = \"imap\";\n    prefork = 0;\n  };\n  lmtpunix = {\n    cmd = [\n      \"lmtpd\"\n    ];\n    listen = \"/run/cyrus/lmtp\";\n    prefork = 0;\n  };\n  notify = {\n    cmd = [\n      \"notifyd\"\n    ];\n    listen = \"/run/cyrus/notify\";\n    prefork = 0;\n    proto = \"udp\";\n  };\n  pop3 = {\n    cmd = [\n      \"pop3d\"\n    ];\n    listen = \"pop3\";\n    prefork = 0;\n  };\n}"}, "description": "This section is the heart of the cyrus.conf file. It lists the processes that should be spawned to handle client connections made on certain Internet/UNIX sockets.\n", "loc": ["services", "cyrus-imap", "cyrusSettings", "SERVICES"], "readOnly": false, "type": "unspecified value"}, "services.cyrus-imap.cyrusSettings.START": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "{\n  recover = {\n    cmd = [\n      \"ctl_cyrusdb\"\n      \"-r\"\n    ];\n  };\n}"}, "description": "This section lists the processes to run before any SERVICES are spawned.\nThis section is typically used to initialize databases.\nMaster itself will not startup until all tasks in START have completed, so put no blocking commands here.\n", "loc": ["services", "cyrus-imap", "cyrusSettings", "START"], "readOnly": false, "type": "unspecified value"}, "services.cyrus-imap.debug": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debugging messages for the Cyrus master process.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cyrus-imap", "debug"], "readOnly": false, "type": "boolean"}, "services.cyrus-imap.enable": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Cyrus IMAP, an email, contacts and calendar server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "cyrus-imap", "enable"], "readOnly": false, "type": "boolean"}, "services.cyrus-imap.group": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cyrus IMAP group name. If this is not set, a group named `cyrus` will be created.", "loc": ["services", "cyrus-imap", "group"], "readOnly": false, "type": "null or string"}, "services.cyrus-imap.imapdConfigFile": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the configuration file used for cyrus-imap.", "loc": ["services", "cyrus-imap", "imapdConfigFile"], "readOnly": false, "type": "null or absolute path"}, "services.cyrus-imap.imapdSettings": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "{\n  admins = [\n    \"cyrus\"\n  ];\n  allowplaintext = true;\n  defaultdomain = \"localhost\";\n  defaultpartition = \"default\";\n  duplicate_db_path = \"/run/cyrus/db/deliver.db\";\n  hashimapspool = true;\n  httpmodules = [\n    \"carddav\"\n    \"caldav\"\n  ];\n  mboxname_lockpath = \"/run/cyrus/lock\";\n  partition-default = \"/var/lib/cyrus/storage\";\n  popminpoll = 1;\n  proc_path = \"/run/cyrus/proc\";\n  ptscache_db_path = \"/run/cyrus/db/ptscache.db\";\n  sasl_auto_transition = true;\n  sasl_pwcheck_method = [\n    \"saslauthd\"\n  ];\n  sievedir = \"/var/lib/cyrus/sieve\";\n  statuscache_db_path = \"/run/cyrus/db/statuscache.db\";\n  syslog_prefix = \"cyrus\";\n  tls_client_ca_dir = \"/etc/ssl/certs\";\n  tls_session_timeout = 1440;\n  tls_sessions_db_path = \"/run/cyrus/db/tls_sessions.db\";\n  virtdomains = \"on\";\n}"}, "description": "IMAP configuration settings. See [imapd.conf(5)](https://www.cyrusimap.org/imap/reference/manpages/configs/imapd.conf.html)", "loc": ["services", "cyrus-imap", "imapdSettings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean or list of string)"}, "services.cyrus-imap.imapdSettings.configdirectory": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/cyrus\""}, "description": "The pathname of the IMAP configuration directory.\n", "loc": ["services", "cyrus-imap", "imapdSettings", "configdirectory"], "readOnly": false, "type": "absolute path"}, "services.cyrus-imap.imapdSettings.idlesocket": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "\"/run/cyrus/idle\""}, "description": "Unix socket that idled listens on.\n", "loc": ["services", "cyrus-imap", "imapdSettings", "idlesocket"], "readOnly": false, "type": "absolute path"}, "services.cyrus-imap.imapdSettings.lmtpsocket": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "\"/run/cyrus/lmtp\""}, "description": "Unix socket that lmtpd listens on, used by {manpage}`deliver(8)`. This should match the path specified in {manpage}`cyrus.conf(5)`.\n", "loc": ["services", "cyrus-imap", "imapdSettings", "lmtpsocket"], "readOnly": false, "type": "absolute path"}, "services.cyrus-imap.imapdSettings.notifysocket": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "\"/run/cyrus/notify\""}, "description": "Unix domain socket that the mail notification daemon listens on.\n", "loc": ["services", "cyrus-imap", "imapdSettings", "notifysocket"], "readOnly": false, "type": "absolute path"}, "services.cyrus-imap.listenQueue": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "32"}, "description": "Socket listen queue backlog size. See {manpage}`listen(2)` for more information about a backlog.\nDefault is 32, which may be increased if you have a very high connection rate.\n", "loc": ["services", "cyrus-imap", "listenQueue"], "readOnly": false, "type": "signed integer"}, "services.cyrus-imap.tmpDBDir": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "\"/run/cyrus/db\""}, "description": "Location where DB files are stored.\nDatabases in this directory are recreated upon startup, so ideally they should live in ephemeral storage for best performance.\n", "loc": ["services", "cyrus-imap", "tmpDBDir"], "readOnly": false, "type": "absolute path"}, "services.cyrus-imap.user": {"declarations": ["nixos/modules/services/mail/cyrus-imap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cyrus IMAP user name. If this is not set, a user named `cyrus` will be created.", "loc": ["services", "cyrus-imap", "user"], "readOnly": false, "type": "null or string"}, "services.dae.assets": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "with pkgs; [ v2ray-geoip v2ray-domain-list-community ]"}, "description": "Assets required to run dae.\n", "loc": ["services", "dae", "assets"], "readOnly": false, "type": "list of absolute path"}, "services.dae.assetsPath": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "(symlinkJoin {\n    name = \"dae-assets\";\n    paths = assets;\n})/share/v2ray\n"}, "description": "The path which contains geolocation database.\nThis option will override `assets`.\n", "loc": ["services", "dae", "assetsPath"], "readOnly": false, "type": "string"}, "services.dae.config": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "WARNING: This option will expose store your config unencrypted world-readable in the nix store.\nConfig text for dae.\n\nSee <https://github.com/daeuniverse/dae/blob/main/example.dae>.\n", "loc": ["services", "dae", "config"], "readOnly": false, "type": "null or string"}, "services.dae.configFile": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of dae config file, end with `.dae`.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/your/config.dae\""}, "loc": ["services", "dae", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.dae.disableTxChecksumIpGeneric": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "See <https://github.com/daeuniverse/dae/issues/43>", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dae", "disableTxChecksumIpGeneric"], "readOnly": false, "type": "boolean"}, "services.dae.enable": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dae, a Linux high-performance transparent proxy solution based on eBPF.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dae", "enable"], "readOnly": false, "type": "boolean"}, "services.dae.openFirewall": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "{\n  enable = true;\n  port = 12345;\n}\n"}, "description": "Open the firewall port.\n", "loc": ["services", "dae", "openFirewall"], "readOnly": false, "type": "submodule"}, "services.dae.openFirewall.enable": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening {option}`port` in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dae", "openFirewall", "enable"], "readOnly": false, "type": "boolean"}, "services.dae.openFirewall.port": {"declarations": ["nixos/modules/services/networking/dae.nix"], "description": "Port to be opened. Consist with field `tproxy_port` in config file.\n", "loc": ["services", "dae", "openFirewall", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dae.package": {"declarations": ["nixos/modules/services/networking/dae.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dae"}, "description": "The dae package to use.", "loc": ["services", "dae", "package"], "readOnly": false, "type": "package"}, "services.dante.config": {"declarations": ["nixos/modules/services/networking/dante.nix"], "description": "Contents of Dante's configuration file.\nNOTE: user.privileged, user.unprivileged and logoutput are set by the service.\n", "loc": ["services", "dante", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.dante.enable": {"declarations": ["nixos/modules/services/networking/dante.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dante SOCKS proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dante", "enable"], "readOnly": false, "type": "boolean"}, "services.darkhttpd.address": {"declarations": ["nixos/modules/services/web-servers/darkhttpd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to listen on.\nPass `all` to listen on all interfaces.\n", "loc": ["services", "darkhttpd", "address"], "readOnly": false, "type": "string"}, "services.darkhttpd.enable": {"declarations": ["nixos/modules/services/web-servers/darkhttpd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DarkHTTPd web server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "darkhttpd", "enable"], "readOnly": false, "type": "boolean"}, "services.darkhttpd.extraArgs": {"declarations": ["nixos/modules/services/web-servers/darkhttpd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional configuration passed to the executable.\n", "loc": ["services", "darkhttpd", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.darkhttpd.hideServerId": {"declarations": ["nixos/modules/services/web-servers/darkhttpd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Don't identify the server type in headers or directory listings.\n", "loc": ["services", "darkhttpd", "hideServerId"], "readOnly": false, "type": "boolean"}, "services.darkhttpd.port": {"declarations": ["nixos/modules/services/web-servers/darkhttpd.nix"], "default": {"_type": "literalExpression", "text": "80"}, "description": "Port to listen on.\nPass 0 to let the system choose any free port for you.\n", "loc": ["services", "darkhttpd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.darkhttpd.rootDir": {"declarations": ["nixos/modules/services/web-servers/darkhttpd.nix"], "description": "Path from which to serve files.\n", "loc": ["services", "darkhttpd", "rootDir"], "readOnly": false, "type": "absolute path"}, "services.das_watchdog.enable": {"declarations": ["nixos/modules/services/monitoring/das_watchdog.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable realtime watchdog.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "das_watchdog", "enable"], "readOnly": false, "type": "boolean"}, "services.dashy.enable": {"declarations": ["nixos/modules/services/web-apps/dashy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dashy, a highly customizable, easy to use, privacy-respecting dashboard app.\n\nNote that this builds a static web app as opposed to running a full node server, unlike the default docker image.\n\nWriting config changes to disk through the UI, triggering a rebuild through the UI and application status checks are\nunavailable without the node server; Everything else will work fine.\n\nSee the deployment docs for [building from source](https://dashy.to/docs/deployment#build-from-source), [hosting with a CDN](https://dashy.to/docs/deployment#hosting-with-cdn) and [CDN cloud deploy](https://dashy.to/docs/deployment#cdn--cloud-deploy) for more information.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dashy", "enable"], "readOnly": false, "type": "boolean"}, "services.dashy.finalDrv": {"declarations": ["nixos/modules/services/web-apps/dashy.nix"], "default": {"_type": "literalExpression", "text": "''\n  if cfg.settings != {}\n  then cfg.package.override {inherit (cfg) settings;}\n  else cfg.package;\n''"}, "description": "Final derivation containing the fully built static files\n", "loc": ["services", "dashy", "finalDrv"], "readOnly": true, "type": "package"}, "services.dashy.package": {"declarations": ["nixos/modules/services/web-apps/dashy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dashy-ui"}, "description": "The dashy-ui package to use.", "loc": ["services", "dashy", "package"], "readOnly": false, "type": "package"}, "services.dashy.settings": {"declarations": ["nixos/modules/services/web-apps/dashy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings serialized into `user-data/conf.yml` before build.\nIf left empty, the default configuration shipped with the package will be used instead.\n\nNote that the full configuration will be written to the nix store as world readable, which may include secrets such as [password hashes](https://dashy.to/docs/configuring#appconfigauthusers-optional).\n\nTo add files such as icons or backgrounds, you can reference them in line such as\n```nix\nicon = \"$\\{./icon.png}\";\n```\nThis will add the file to the nix store upon build, referencing it by file path as expected by Dashy.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    appConfig = {\n      cssThemes = [\n        \"example-theme-1\"\n        \"example-theme-2\"\n      ];\n      enableFontAwesome = true;\n      fontAwesomeKey = \"e9076c7025\";\n      theme = \"thebe\";\n    };\n    pageInfo = {\n      description = \"My Awesome Dashboard\";\n      navLinks = [\n        {\n          path = \"/\";\n          title = \"Home\";\n        }\n        {\n          path = \"https://example.com\";\n          title = \"Example 1\";\n        }\n        {\n          path = \"https://example.com\";\n          title = \"Example 2\";\n        }\n      ];\n      title = \"Dashy\";\n    };\n    sections = [\n      {\n        displayData = {\n          collapsed = true;\n          cols = 2;\n          customStyles = \"border: 2px dashed red;\";\n          itemSize = \"large\";\n        };\n        items = [\n          {\n            backgroundColor = \"#0079ff\";\n            color = \"#00ffc9\";\n            description = \"Source code and documentation on GitHub\";\n            icon = \"fab fa-github\";\n            target = \"sametab\";\n            title = \"Source\";\n            url = \"https://github.com/Lissy93/dashy\";\n          }\n          {\n            description = \"View currently open issues, or raise a new one\";\n            icon = \"fas fa-bug\";\n            title = \"Issues\";\n            url = \"https://github.com/Lissy93/dashy/issues\";\n          }\n          {\n            description = \"Live Demo #1\";\n            icon = \"fas fa-rocket\";\n            target = \"iframe\";\n            title = \"Demo 1\";\n            url = \"https://dashy-demo-1.as93.net\";\n          }\n          {\n            description = \"Live Demo #2\";\n            icon = \"favicon\";\n            target = \"newtab\";\n            title = \"Demo 2\";\n            url = \"https://dashy-demo-2.as93.net\";\n          }\n        ];\n        name = \"Getting Started\";\n      }\n    ];\n  }\n''"}, "loc": ["services", "dashy", "settings"], "readOnly": false, "type": "JSON value"}, "services.dashy.virtualHost.domain": {"declarations": ["nixos/modules/services/web-apps/dashy.nix"], "description": "Domain to use for the virtual host.\n\nThis can be used to change nginx options like\n```nix\nservices.nginx.virtualHosts.\"$\\{config.services.dashy.virtualHost.domain}\".listen = [ ... ]\n```\nor\n```nix\nservices.nginx.virtualHosts.\"example.com\".listen = [ ... ]\n```\n", "loc": ["services", "dashy", "virtualHost", "domain"], "readOnly": false, "type": "string"}, "services.dashy.virtualHost.enableNginx": {"declarations": ["nixos/modules/services/web-apps/dashy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a virtualhost to serve dashy through nginx.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dashy", "virtualHost", "enableNginx"], "readOnly": false, "type": "boolean"}, "services.datadog-agent.apiKeyFile": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "description": "Path to a file containing the Datadog API key to associate the\nagent with your account.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/datadog_api_key\""}, "loc": ["services", "datadog-agent", "apiKeyFile"], "readOnly": false, "type": "absolute path"}, "services.datadog-agent.checks": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for all Datadog checks. Keys of this attribute\nset will be used as the name of the check to create the\nappropriate configuration in `conf.d/$check.d/conf.yaml`.\n\nThe configuration is converted into JSON from the plain Nix\nlanguage configuration, meaning that you should write\nconfiguration adhering to Datadog's documentation - but in Nix\nlanguage.\n\nRefer to the implementation of this module (specifically the\ndefinition of `defaultChecks`) for an example.\n\nNote: The 'disk' and 'network' check are configured in\nseparate options because they exist by default. Attempting to\noverride their configuration here will have no effect.\n", "example": {"_type": "literalExpression", "text": "{\n  http_check = {\n    init_config = null;\n    instances = [\n      {\n        name = \"some-service\";\n        tags = [\n          \"some-service\"\n        ];\n        url = \"http://localhost:1337/healthz\";\n      }\n    ];\n  };\n}"}, "loc": ["services", "datadog-agent", "checks"], "readOnly": false, "type": "attribute set of (attribute set)"}, "services.datadog-agent.ddUrl": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Custom dd_url to configure the agent with. Useful if traffic to datadog\nneeds to go through a proxy.\nDon't use this to point to another datadog site (EU) - use site instead.\n", "example": {"_type": "literalExpression", "text": "\"http://haproxy.example.com:3834\""}, "loc": ["services", "datadog-agent", "ddUrl"], "readOnly": false, "type": "null or string"}, "services.datadog-agent.diskCheck": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "{\n  init_config = { };\n  instances = [\n    {\n      use_mount = \"false\";\n    }\n  ];\n}"}, "description": "Disk check config", "loc": ["services", "datadog-agent", "diskCheck"], "readOnly": false, "type": "attribute set"}, "services.datadog-agent.enable": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Datadog-agent v7 monitoring service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "datadog-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.datadog-agent.enableLiveProcessCollection": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the live process collection agent.\n", "loc": ["services", "datadog-agent", "enableLiveProcessCollection"], "readOnly": false, "type": "boolean"}, "services.datadog-agent.enableTraceAgent": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the trace agent.\n", "loc": ["services", "datadog-agent", "enableTraceAgent"], "readOnly": false, "type": "boolean"}, "services.datadog-agent.extraConfig": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options that will be merged into the\nmain config file {file}`datadog.yaml`.\n", "loc": ["services", "datadog-agent", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.datadog-agent.extraIntegrations": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra integrations from the Datadog core-integrations\nrepository that should be built and included.\n\nBy default the included integrations are disk, mongo, network,\nnginx and postgres.\n\nTo include additional integrations the name of the derivation\nand a function to filter its dependencies from the Python\npackage set must be provided.\n", "example": {"_type": "literalExpression", "text": "{\n  ntp = pythonPackages: [ pythonPackages.ntplib ];\n}\n"}, "loc": ["services", "datadog-agent", "extraIntegrations"], "readOnly": false, "type": "attribute set"}, "services.datadog-agent.hostname": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The hostname to show in the Datadog dashboard (optional)", "example": {"_type": "literalExpression", "text": "\"mymachine.mydomain\""}, "loc": ["services", "datadog-agent", "hostname"], "readOnly": false, "type": "null or string"}, "services.datadog-agent.logLevel": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Logging verbosity.", "loc": ["services", "datadog-agent", "logLevel"], "readOnly": false, "type": "null or one of \"DEBUG\", \"INFO\", \"WARN\", \"ERROR\""}, "services.datadog-agent.networkCheck": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "{\n  init_config = { };\n  instances = [\n    {\n      collect_connection_state = false;\n      excluded_interfaces = [\n        \"lo\"\n        \"lo0\"\n      ];\n    }\n  ];\n}"}, "description": "Network check config", "loc": ["services", "datadog-agent", "networkCheck"], "readOnly": false, "type": "attribute set"}, "services.datadog-agent.package": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.datadog-agent"}, "description": "The datadog-agent package to use. ::: {.note}\nThe provided package is expected to have an overridable `pythonPackages`-attribute\nwhich configures the Python environment with the Datadog checks.\n:::\n", "loc": ["services", "datadog-agent", "package"], "readOnly": false, "type": "package"}, "services.datadog-agent.processAgentPackage": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.datadog-process-agent"}, "description": "Which DataDog v7 agent package to use. Note that the provided\npackage is expected to have an overridable `pythonPackages`-attribute\nwhich configures the Python environment with the Datadog\nchecks.\n", "loc": ["services", "datadog-agent", "processAgentPackage"], "readOnly": false, "type": "package"}, "services.datadog-agent.site": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The datadog site to point the agent towards.\nSet to datadoghq.eu to point it to their EU site.\n", "example": {"_type": "literalExpression", "text": "\"datadoghq.eu\""}, "loc": ["services", "datadog-agent", "site"], "readOnly": false, "type": "null or string"}, "services.datadog-agent.tags": {"declarations": ["nixos/modules/services/monitoring/datadog-agent.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The tags to mark this Datadog agent", "example": {"_type": "literalExpression", "text": "[\n  \"test\"\n  \"service\"\n]"}, "loc": ["services", "datadog-agent", "tags"], "readOnly": false, "type": "null or (list of string)"}, "services.davfs2.davGroup": {"declarations": ["nixos/modules/services/network-filesystems/davfs2.nix"], "default": {"_type": "literalExpression", "text": "\"davfs2\""}, "description": "The group of the running mount.davfs daemon. Ordinary users must be\nmember of this group in order to mount a davfs2 file system. Value must\nbe given as name, not as numerical id.\n", "loc": ["services", "davfs2", "davGroup"], "readOnly": false, "type": "string"}, "services.davfs2.davUser": {"declarations": ["nixos/modules/services/network-filesystems/davfs2.nix"], "default": {"_type": "literalExpression", "text": "\"davfs2\""}, "description": "When invoked by root the mount.davfs daemon will run as this user.\nValue must be given as name, not as numerical id.\n", "loc": ["services", "davfs2", "davUser"], "readOnly": false, "type": "string"}, "services.davfs2.enable": {"declarations": ["nixos/modules/services/network-filesystems/davfs2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable davfs2.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "davfs2", "enable"], "readOnly": false, "type": "boolean"}, "services.davfs2.settings": {"declarations": ["nixos/modules/services/network-filesystems/davfs2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra settings appended to the configuration of davfs2.\nSee {manpage}`davfs2.conf(5)` for available settings.\n", "example": {"_type": "literalExpression", "text": "{\n  globalSection = {\n    proxy = \"foo.bar:8080\";\n    use_locks = false;\n  };\n  sections = {\n    \"/media/dav\" = {\n      use_locks = true;\n    };\n    \"/home/otto/mywebspace\" = {\n      gui_optimize = true;\n    };\n  };\n}\n"}, "loc": ["services", "davfs2", "settings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of (boolean or signed integer or string or attribute set of (boolean or signed integer or string))"}, "services.davis.adminLogin": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Username for the admin account.\n", "loc": ["services", "davis", "adminLogin"], "readOnly": false, "type": "string"}, "services.davis.adminPasswordFile": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "description": "The full path to a file that contains the admin's password. Must be\nreadable by the user.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/davis-admin-pass\""}, "loc": ["services", "davis", "adminPasswordFile"], "readOnly": false, "type": "absolute path"}, "services.davis.appSecretFile": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "description": "A file containing the Symfony APP_SECRET - Its value should be a series\nof characters, numbers and symbols chosen randomly and the recommended\nlength is around 32 characters. Can be generated with <code>cat\n/dev/urandom | tr -dc a-zA-Z0-9 | fold -w 48 | head -n 1</code>.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/davis-appsecret\""}, "loc": ["services", "davis", "appSecretFile"], "readOnly": false, "type": "absolute path"}, "services.davis.config": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "davis", "config"], "readOnly": false, "type": "attribute set of (null or boolean or signed integer or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or absolute path or string or (submodule))"}, "services.davis.dataDir": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/davis\""}, "description": "Davis data directory.\n", "loc": ["services", "davis", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.davis.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "davis", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.davis.database.driver": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Database type, required in all circumstances.", "loc": ["services", "davis", "database", "driver"], "readOnly": false, "type": "one of \"sqlite\", \"postgresql\", \"mysql\""}, "services.davis.database.name": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"davis\""}, "description": "Database name, only used when the databse is created locally.", "loc": ["services", "davis", "database", "name"], "readOnly": false, "type": "null or string"}, "services.davis.database.urlFile": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the database connection url. If set then it\noverrides all other database settings (except driver). This is\nmandatory if you want to use an external database, that is when\n`services.davis.database.createLocally` is `false`.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/davis-db-url\""}, "loc": ["services", "davis", "database", "urlFile"], "readOnly": false, "type": "null or absolute path"}, "services.davis.enable": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Davis is a caldav and carddav server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "davis", "enable"], "readOnly": false, "type": "boolean"}, "services.davis.group": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"davis\""}, "description": "Group davis runs as.", "loc": ["services", "davis", "group"], "readOnly": false, "type": "string"}, "services.davis.hostname": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "description": "Domain of the host to serve davis under. You may want to change it if you\nrun Davis on a different URL than davis.yourdomain.\n", "example": {"_type": "literalExpression", "text": "\"davis.yourdomain.org\""}, "loc": ["services", "davis", "hostname"], "readOnly": false, "type": "string"}, "services.davis.mail.dsn": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mail DSN for sending emails. Mutually exclusive with `services.davis.mail.dsnFile`.", "example": {"_type": "literalExpression", "text": "\"smtp://username:password@example.com:25\""}, "loc": ["services", "davis", "mail", "dsn"], "readOnly": false, "type": "null or string"}, "services.davis.mail.dsnFile": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the mail DSN for sending emails.  Mutually exclusive with `servies.davis.mail.dsn`.", "example": {"_type": "literalExpression", "text": "\"/run/secrets/davis-mail-dsn\""}, "loc": ["services", "davis", "mail", "dsnFile"], "readOnly": false, "type": "null or string"}, "services.davis.mail.inviteFromAddress": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Email address to send invitations from.", "example": {"_type": "literalExpression", "text": "\"no-reply@dav.example.com\""}, "loc": ["services", "davis", "mail", "inviteFromAddress"], "readOnly": false, "type": "null or string"}, "services.davis.nginx": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Use this option to customize an nginx virtual host. To disable the nginx set this to null.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    serverAliases = [\n      \"dav.''${config.networking.domain}\"\n    ];\n    # To enable encryption and let let's encrypt take care of certificate\n    forceSSL = true;\n    enableACME = true;\n  }\n''"}, "loc": ["services", "davis", "nginx"], "readOnly": false, "type": "null or (submodule)"}, "services.davis.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "davis", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "davis", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "davis", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "davis", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.davis.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "davis", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.davis.nginx.default": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "davis", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "davis", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "davis", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.davis.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "davis", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "davis", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "davis", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "davis", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "davis", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "davis", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "davis", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.davis.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "description": "Listen address.", "loc": ["services", "davis", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.davis.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "davis", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.davis.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "davis", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.davis.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "davis", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "davis", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "davis", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.davis.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "davis", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.davis.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "davis", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.davis.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "davis", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.davis.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "davis", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.davis.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "davis", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.davis.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "davis", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.davis.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "davis", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "davis", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.davis.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "davis", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "davis", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "davis", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "davis", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "davis", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.davis.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "davis", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.davis.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "davis", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "davis", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "davis", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "davis", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "davis", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.davis.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "davis", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "davis", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.davis.nginx.root": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "davis", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.davis.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "davis", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.davis.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "davis", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.davis.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "davis", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.davis.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "davis", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.davis.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "davis", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.davis.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "davis", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.davis.package": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "pkgs.davis"}, "description": "The davis package to use.", "loc": ["services", "davis", "package"], "readOnly": false, "type": "package"}, "services.davis.poolConfig": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the davis PHP pool. See the documentation on <literal>php-fpm.conf</literal>\nfor details on configuration directives.\n", "loc": ["services", "davis", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.davis.user": {"declarations": ["nixos/modules/services/web-apps/davis.nix"], "default": {"_type": "literalExpression", "text": "\"davis\""}, "description": "User davis runs as.", "loc": ["services", "davis", "user"], "readOnly": false, "type": "string"}, "services.davmail.config": {"declarations": ["nixos/modules/services/mail/davmail.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Davmail configuration. Refer to\n<http://davmail.sourceforge.net/serversetup.html>\nand <http://davmail.sourceforge.net/advanced.html>\nfor details on supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  davmail.allowRemote = true;\n  davmail.imapPort = 55555;\n  davmail.bindAddress = \"10.0.1.2\";\n  davmail.smtpSaveInSent = true;\n  davmail.folderSizeLimit = 10;\n  davmail.caldavAutoSchedule = false;\n  log4j.logger.rootLogger = \"DEBUG\";\n}\n"}, "loc": ["services", "davmail", "config"], "readOnly": false, "type": "davmail config type (str, int, bool or attribute set thereof)"}, "services.davmail.enable": {"declarations": ["nixos/modules/services/mail/davmail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable davmail, an MS Exchange gateway.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "davmail", "enable"], "readOnly": false, "type": "boolean"}, "services.davmail.url": {"declarations": ["nixos/modules/services/mail/davmail.nix"], "description": "Outlook Web Access URL to access the exchange server, i.e. the base webmail URL.", "example": {"_type": "literalExpression", "text": "\"https://outlook.office365.com/EWS/Exchange.asmx\""}, "loc": ["services", "davmail", "url"], "readOnly": false, "type": "string"}, "services.dawarich.automaticMigrations": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to perform database migrations automatically", "loc": ["services", "dawarich", "automaticMigrations"], "readOnly": false, "type": "boolean"}, "services.dawarich.configureNginx": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Configure nginx as a reverse proxy for dawarich.\nAlternatively you can configure a reverse-proxy of your choice to serve these paths:\n\n`/ -> ${pkgs.dawarich}/public`\n\n`/ -> 127.0.0.1:{{ webPort }} `(If there was no file in the directory above.)\n\nMake sure that websockets are forwarded properly. You might want to set up caching\nof some requests. Take a look at dawarich's provided reverse proxy configurations at\n`https://dawarich.app/docs/tutorials/reverse-proxy`.\n", "loc": ["services", "dawarich", "configureNginx"], "readOnly": false, "type": "boolean"}, "services.dawarich.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to configure a local PostgreSQL server and database for Dawarich.\nThe connection is performed via Unix sockets.\n", "loc": ["services", "dawarich", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.dawarich.database.host": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "\"/run/postgresql\""}, "description": "Hostname or address of the postgresql server. If an absolute path is given here, it will be interpreted as a unix socket path.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "dawarich", "database", "host"], "readOnly": false, "type": "string"}, "services.dawarich.database.name": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "\"dawarich\""}, "description": "The name of the dawarich database.", "loc": ["services", "dawarich", "database", "name"], "readOnly": false, "type": "string"}, "services.dawarich.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to {option}`services.dawarich.database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/dawarich-db-password\""}, "loc": ["services", "dawarich", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.dawarich.database.port": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "Port of the postgresql server.", "loc": ["services", "dawarich", "database", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dawarich.database.user": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "\"dawarich\""}, "description": "The database user for dawarich.", "loc": ["services", "dawarich", "database", "user"], "readOnly": false, "type": "string"}, "services.dawarich.enable": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dawarich, a self-hostable alternative to Google Location History.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dawarich", "enable"], "readOnly": false, "type": "boolean"}, "services.dawarich.environment": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to pass to all dawarich services.\n", "loc": ["services", "dawarich", "environment"], "readOnly": false, "type": "attribute set of (null or string or absolute path or package)"}, "services.dawarich.extraEnvFiles": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra environment files to pass to all Dawarich services. Useful for passing down environment secrets.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/dawarich/secret.env\"\n]"}, "loc": ["services", "dawarich", "extraEnvFiles"], "readOnly": false, "type": "list of absolute path"}, "services.dawarich.group": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "\"dawarich\""}, "description": "Group under which dawarich runs.\n", "loc": ["services", "dawarich", "group"], "readOnly": false, "type": "string"}, "services.dawarich.localDomain": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "description": "The domain serving your Dawarich instance.", "example": {"_type": "literalExpression", "text": "\"dawarich.example.org\""}, "loc": ["services", "dawarich", "localDomain"], "readOnly": false, "type": "string"}, "services.dawarich.package": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dawarich"}, "description": "The dawarich package to use.", "loc": ["services", "dawarich", "package"], "readOnly": false, "type": "package"}, "services.dawarich.redis.createLocally": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to configure a local Redis server for Dawarich.\nThe connection is performed via Unix sockets by default,\nbut that can be changed by configuring {option}`services.dawarich.redis.host` and {option}`services.dawarich.redis.port`.\n", "loc": ["services", "dawarich", "redis", "createLocally"], "readOnly": false, "type": "boolean"}, "services.dawarich.redis.host": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "config.services.redis.servers.dawarich.unixSocket"}, "description": "The redis host Dawarich will connect to.", "loc": ["services", "dawarich", "redis", "host"], "readOnly": false, "type": "string"}, "services.dawarich.redis.port": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The port of the redis server Dawarich will connect to. Set to zero to disable TCP and use Unix sockets instead.", "loc": ["services", "dawarich", "redis", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dawarich.secretKeyBaseFile": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file containing the secret key base.\nA new secret key base can be generated by running:\n\n`nix build -f '<nixpkgs>' dawarich; cd result; bin/bundle exec rails secret`\n\nThis file is loaded using systemd credentials, and therefore does not need to be\nowned by the dawarich user.\n\nIf this option is null, it will be created at /var/lib/dawarich/secrets/secret-key-base\nwith a new secret key base.\n", "loc": ["services", "dawarich", "secretKeyBaseFile"], "readOnly": false, "type": "null or string"}, "services.dawarich.sidekiqProcesses": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "{\n  all = {\n    jobClasses = [ ];\n    threads = null;\n  };\n}"}, "description": "How many Sidekiq processes should be used to handle background jobs, and which job classes they handle.\nCan be used to [speed up](https://dawarich.app/docs/FAQ/#how-to-speed-up-the-import-process) the import process.\n", "example": {"_type": "literalExpression", "text": "{\n  all = {\n    jobClasses = [ ];\n    threads = null;\n  };\n  geocoding = {\n    jobClasses = [\n      \"reverse_geocoding\"\n    ];\n    threads = 10;\n  };\n}"}, "loc": ["services", "dawarich", "sidekiqProcesses"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.dawarich.sidekiqProcesses.<name>.jobClasses": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "If not empty, which job classes should be executed by this process.\n*If left empty, all job classes will be executed by this process.*\n", "loc": ["services", "dawarich", "sidekiqProcesses", "<name>", "jobClasses"], "readOnly": false, "type": "list of (one of \"app_version_checking\", \"archival\", \"cache\", \"data_migrations\", \"default\", \"digests\", \"exports\", \"families\", \"imports\", \"mailers\", \"places\", \"points\", \"reverse_geocoding\", \"stats\", \"tracks\", \"trips\", \"visit_suggesting\")"}, "services.dawarich.sidekiqProcesses.<name>.threads": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of threads this process should use for executing jobs.\nIf null, the configured `sidekiqThreads` are used.\n", "loc": ["services", "dawarich", "sidekiqProcesses", "<name>", "threads"], "readOnly": false, "type": "null or signed integer"}, "services.dawarich.sidekiqThreads": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Worker threads used by the dawarich-sidekiq-all service.\nIf `sidekiqProcesses` is configured and any processes specify null `threads`, this value is used.\n", "loc": ["services", "dawarich", "sidekiqThreads"], "readOnly": false, "type": "signed integer"}, "services.dawarich.smtp.fromAddress": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"From\" address used when sending emails to users.", "example": {"_type": "literalExpression", "text": "\"dawarich@example.com\""}, "loc": ["services", "dawarich", "smtp", "fromAddress"], "readOnly": false, "type": "null or string"}, "services.dawarich.smtp.host": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SMTP host used when sending emails to users.", "loc": ["services", "dawarich", "smtp", "host"], "readOnly": false, "type": "null or string"}, "services.dawarich.smtp.passwordFile": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file containing the SMTP password.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/dawarich-smtp-password\""}, "loc": ["services", "dawarich", "smtp", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.dawarich.smtp.port": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "SMTP port used when sending emails to users.", "loc": ["services", "dawarich", "smtp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dawarich.smtp.user": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SMTP login name.", "example": {"_type": "literalExpression", "text": "\"dawarich@example.com\""}, "loc": ["services", "dawarich", "smtp", "user"], "readOnly": false, "type": "null or string"}, "services.dawarich.user": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "\"dawarich\""}, "description": "User under which dawarich runs. If it is set to \"dawarich\",\nthat user will be created, otherwise it should be set to the\nname of a user created elsewhere.\n", "loc": ["services", "dawarich", "user"], "readOnly": false, "type": "string"}, "services.dawarich.webPort": {"declarations": ["nixos/modules/services/web-apps/dawarich.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "TCP port used by the dawarich web service.", "loc": ["services", "dawarich", "webPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.db-rest.enable": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable db-rest service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "db-rest", "enable"], "readOnly": false, "type": "boolean"}, "services.db-rest.group": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "\"db-rest\""}, "description": "Group under which db-rest runs.", "loc": ["services", "db-rest", "group"], "readOnly": false, "type": "string"}, "services.db-rest.host": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host address the db-rest server should listen on.", "loc": ["services", "db-rest", "host"], "readOnly": false, "type": "string"}, "services.db-rest.package": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "pkgs.db-rest"}, "description": "The db-rest package to use.", "loc": ["services", "db-rest", "package"], "readOnly": false, "type": "package"}, "services.db-rest.port": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port the db-rest server should listen on.", "loc": ["services", "db-rest", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.db-rest.redis.createLocally": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Configure a local redis server for db-rest.", "loc": ["services", "db-rest", "redis", "createLocally"], "readOnly": false, "type": "boolean"}, "services.db-rest.redis.enable": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable caching with redis for db-rest.", "loc": ["services", "db-rest", "redis", "enable"], "readOnly": false, "type": "boolean"}, "services.db-rest.redis.host": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Redis host.", "loc": ["services", "db-rest", "redis", "host"], "readOnly": false, "type": "null or string"}, "services.db-rest.redis.passwordFile": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the redis password.", "example": {"_type": "literalExpression", "text": "\"/run/keys/db-rest/pasword-redis-db\""}, "loc": ["services", "db-rest", "redis", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.db-rest.redis.port": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Redis port.", "loc": ["services", "db-rest", "redis", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.db-rest.redis.useSSL": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use SSL if using a redis network connection.", "loc": ["services", "db-rest", "redis", "useSSL"], "readOnly": false, "type": "boolean"}, "services.db-rest.redis.user": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional username used for authentication with redis.", "loc": ["services", "db-rest", "redis", "user"], "readOnly": false, "type": "null or string"}, "services.db-rest.user": {"declarations": ["nixos/modules/services/misc/db-rest.nix"], "default": {"_type": "literalExpression", "text": "\"db-rest\""}, "description": "User account under which db-rest runs.", "loc": ["services", "db-rest", "user"], "readOnly": false, "type": "string"}, "services.dbus.apparmor": {"declarations": ["nixos/modules/services/system/dbus.nix"], "default": {"_type": "literalExpression", "text": "\"disabled\""}, "description": "AppArmor mode for dbus.\n\n`enabled` enables mediation when it's\nsupported in the kernel, `disabled`\nalways disables AppArmor even with kernel support, and\n`required` fails when AppArmor was not found\nin the kernel.\n", "loc": ["services", "dbus", "apparmor"], "readOnly": false, "type": "one of \"enabled\", \"disabled\", \"required\""}, "services.dbus.brokerPackage": {"declarations": ["nixos/modules/services/system/dbus.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dbus-broker"}, "description": "The dbus-broker package to use.", "loc": ["services", "dbus", "brokerPackage"], "readOnly": false, "type": "package"}, "services.dbus.dbusPackage": {"declarations": ["nixos/modules/services/system/dbus.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dbus"}, "description": "The dbus package to use.", "loc": ["services", "dbus", "dbusPackage"], "readOnly": false, "type": "package"}, "services.dbus.implementation": {"declarations": ["nixos/modules/services/system/dbus.nix"], "default": {"_type": "literalExpression", "text": "\"broker\""}, "description": "The implementation to use for the message bus defined by the D-Bus specification.\nCan be either the classic dbus daemon or dbus-broker, which aims to provide high\nperformance and reliability, while keeping compatibility to the D-Bus\nreference implementation.\n", "loc": ["services", "dbus", "implementation"], "readOnly": false, "type": "one of \"dbus\", \"broker\""}, "services.dbus.packages": {"declarations": ["nixos/modules/services/system/dbus.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Packages whose D-Bus configuration files should be included in\nthe configuration of the D-Bus system-wide or session-wide\nmessage bus.  Specifically, files in the following directories\nwill be included into their respective DBus configuration paths:\n{file}`\u00abpkg\u00bb/etc/dbus-1/system.d`\n{file}`\u00abpkg\u00bb/share/dbus-1/system.d`\n{file}`\u00abpkg\u00bb/share/dbus-1/system-services`\n{file}`\u00abpkg\u00bb/etc/dbus-1/session.d`\n{file}`\u00abpkg\u00bb/share/dbus-1/session.d`\n{file}`\u00abpkg\u00bb/share/dbus-1/services`\n", "loc": ["services", "dbus", "packages"], "readOnly": false, "type": "list of absolute path"}, "services.ddccontrol.enable": {"declarations": ["nixos/modules/services/hardware/ddccontrol.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ddccontrol for controlling displays.\n\nThis [enables `hardware.i2c`](#opt-hardware.i2c.enable), so note to add\nyourself to [`hardware.i2c.group`](#opt-hardware.i2c.group).\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ddccontrol", "enable"], "readOnly": false, "type": "boolean"}, "services.ddccontrol.package": {"declarations": ["nixos/modules/services/hardware/ddccontrol.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ddccontrol"}, "description": "The package with which to control brightness; added also to [services.dbus.packages](#opt-services.dbus.packages). package to use.", "example": {"_type": "literalExpression", "text": "pkgs.ddcutil-service"}, "loc": ["services", "ddccontrol", "package"], "readOnly": false, "type": "package"}, "services.ddclient.configFile": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to configuration file.\nWhen set this overrides the generated configuration from module options.\n", "example": {"_type": "literalExpression", "text": "\"/root/nixos/secrets/ddclient.conf\""}, "loc": ["services", "ddclient", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.ddclient.domains": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"\"\n]"}, "description": "Domain name(s) to synchronize.\n", "loc": ["services", "ddclient", "domains"], "readOnly": false, "type": "list of string"}, "services.ddclient.enable": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to synchronise your machine's IP address with a dynamic DNS provider (e.g. dyndns.org).\n", "loc": ["services", "ddclient", "enable"], "readOnly": false, "type": "boolean"}, "services.ddclient.extraConfig": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration. Contents will be added verbatim to the configuration file.\n\n::: {.note}\n`daemon` should not be added here because it does not work great with the systemd-timer approach the service uses.\n:::\n", "loc": ["services", "ddclient", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.ddclient.interval": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"10min\""}, "description": "The interval at which to run the check and update.\nSee {command}`man 7 systemd.time` for the format.\n", "loc": ["services", "ddclient", "interval"], "readOnly": false, "type": "string"}, "services.ddclient.package": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ddclient"}, "description": "The ddclient executable package run by the service.\n", "loc": ["services", "ddclient", "package"], "readOnly": false, "type": "package"}, "services.ddclient.passwordFile": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password or a TSIG key in named format when using the nsupdate protocol.\n", "loc": ["services", "ddclient", "passwordFile"], "readOnly": false, "type": "null or string"}, "services.ddclient.protocol": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"dyndns2\""}, "description": "Protocol to use with dynamic DNS provider (see <https://ddclient.net/protocols.html> ).\n", "loc": ["services", "ddclient", "protocol"], "readOnly": false, "type": "string"}, "services.ddclient.quiet": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Print no messages for unnecessary updates.\n", "loc": ["services", "ddclient", "quiet"], "readOnly": false, "type": "boolean"}, "services.ddclient.script": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "script as required by some providers.\n", "loc": ["services", "ddclient", "script"], "readOnly": false, "type": "string"}, "services.ddclient.secretsFile": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the secrets for the dynamic DNS provider.\nThis file should contain lines of valid secrets in the format specified by the ddclient documentation.\nIf this option is set, it overrides the `passwordFile` option.\n", "loc": ["services", "ddclient", "secretsFile"], "readOnly": false, "type": "null or string"}, "services.ddclient.server": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Server address.\n", "loc": ["services", "ddclient", "server"], "readOnly": false, "type": "string"}, "services.ddclient.ssl": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use SSL/TLS to connect to dynamic DNS provider.\n", "loc": ["services", "ddclient", "ssl"], "readOnly": false, "type": "boolean"}, "services.ddclient.use": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Method to determine the IP address to send to the dynamic DNS provider.\n", "loc": ["services", "ddclient", "use"], "readOnly": false, "type": "string"}, "services.ddclient.username": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "User name.\n", "loc": ["services", "ddclient", "username"], "readOnly": false, "type": "string"}, "services.ddclient.usev4": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"webv4, webv4=ipify-ipv4\""}, "description": "Method to determine the IPv4 address to send to the dynamic DNS provider. Only used if `use` is not set.\n", "loc": ["services", "ddclient", "usev4"], "readOnly": false, "type": "string"}, "services.ddclient.usev6": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"webv6, webv6=ipify-ipv6\""}, "description": "Method to determine the IPv6 address to send to the dynamic DNS provider. Only used if `use` is not set.\n", "loc": ["services", "ddclient", "usev6"], "readOnly": false, "type": "string"}, "services.ddclient.verbose": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Print verbose information.\n", "loc": ["services", "ddclient", "verbose"], "readOnly": false, "type": "boolean"}, "services.ddclient.zone": {"declarations": ["nixos/modules/services/networking/ddclient.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "zone as required by some providers.\n", "loc": ["services", "ddclient", "zone"], "readOnly": false, "type": "string"}, "services.ddns-updater.enable": {"declarations": ["nixos/modules/services/networking/ddns-updater.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Container to update DNS records periodically with WebUI for many DNS providers.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ddns-updater", "enable"], "readOnly": false, "type": "boolean"}, "services.ddns-updater.environment": {"declarations": ["nixos/modules/services/networking/ddns-updater.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to be set for the ddns-updater service. DATADIR is ignored to enable using systemd DynamicUser. For full list see <https://github.com/qdm12/ddns-updater>", "loc": ["services", "ddns-updater", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.ddns-updater.package": {"declarations": ["nixos/modules/services/networking/ddns-updater.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ddns-updater"}, "description": "The ddns-updater package to use.", "loc": ["services", "ddns-updater", "package"], "readOnly": false, "type": "package"}, "services.deconz.allowRebootSystem": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable rebooting the system.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deconz", "allowRebootSystem"], "readOnly": false, "type": "boolean"}, "services.deconz.allowRestartService": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable killing/restarting processes.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deconz", "allowRestartService"], "readOnly": false, "type": "boolean"}, "services.deconz.allowSetSystemTime": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable setting the system time.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deconz", "allowSetSystemTime"], "readOnly": false, "type": "boolean"}, "services.deconz.device": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Force deCONZ to use a specific USB device (e.g. /dev/ttyACM0). By\ndefault it does a search.\n", "loc": ["services", "deconz", "device"], "readOnly": false, "type": "null or string"}, "services.deconz.enable": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable deCONZ, a Zigbee gateway for use with ConBee/RaspBee hardware (https://phoscon.de/).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deconz", "enable"], "readOnly": false, "type": "boolean"}, "services.deconz.extraArgs": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments for deCONZ, see\n<https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/deCONZ-command-line-parameters>.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--dbg-info=1\"\n  \"--dbg-err=2\"\n]"}, "loc": ["services", "deconz", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.deconz.httpPort": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "80"}, "description": "TCP port for the web server.", "loc": ["services", "deconz", "httpPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.deconz.listenAddress": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Pin deCONZ to the network interface specified through the provided IP\naddress. This applies for the webserver as well as the websocket\nnotifications.\n", "loc": ["services", "deconz", "listenAddress"], "readOnly": false, "type": "string"}, "services.deconz.openFirewall": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening up the service ports in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deconz", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.deconz.package": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "pkgs.deconz"}, "description": "The deconz package to use.", "loc": ["services", "deconz", "package"], "readOnly": false, "type": "package"}, "services.deconz.wsPort": {"declarations": ["nixos/modules/services/networking/deconz.nix"], "default": {"_type": "literalExpression", "text": "443"}, "description": "TCP port for the WebSocket.", "loc": ["services", "deconz", "wsPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.deluge.authFile": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "description": "The file managing the authentication for deluge, the format of this\nfile is straightforward, each line contains a\nusername:password:level tuple in plaintext. It only has an effect\nwhen {option}`services.deluge.declarative` is set to\n`true`.\nSee <https://dev.deluge-torrent.org/wiki/UserGuide/Authentication> for\nmore information.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/deluge-auth\""}, "loc": ["services", "deluge", "authFile"], "readOnly": false, "type": "absolute path"}, "services.deluge.config": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Deluge core configuration for the core.conf file. Only has an effect\nwhen {option}`services.deluge.declarative` is set to\n`true`. String values must be quoted, integer and\nboolean values must not. See\n<https://git.deluge-torrent.org/deluge/tree/deluge/core/preferencesmanager.py#n41>\nfor the available options.\n", "example": {"_type": "literalExpression", "text": "{\n  download_location = \"/srv/torrents/\";\n  max_upload_speed = \"1000.0\";\n  share_ratio_limit = \"2.0\";\n  allow_remote = true;\n  daemon_port = 58846;\n  listen_ports = [ 6881 6889 ];\n}\n"}, "loc": ["services", "deluge", "config"], "readOnly": false, "type": "attribute set"}, "services.deluge.dataDir": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/deluge\""}, "description": "The directory where deluge will create files.\n", "loc": ["services", "deluge", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.deluge.declarative": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use a declarative deluge configuration.\nOnly if set to `true`, the options\n{option}`services.deluge.config`,\n{option}`services.deluge.openFirewall` and\n{option}`services.deluge.authFile` will be\napplied.\n", "loc": ["services", "deluge", "declarative"], "readOnly": false, "type": "boolean"}, "services.deluge.enable": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Deluge daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deluge", "enable"], "readOnly": false, "type": "boolean"}, "services.deluge.extraPackages": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages available at runtime to enable Deluge's plugins. For example,\nextraction utilities are required for the built-in \"Extractor\" plugin.\nThis always contains unzip, gnutar, xz and bzip2.\n", "loc": ["services", "deluge", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.deluge.group": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "\"deluge\""}, "description": "Group under which deluge runs.\n", "loc": ["services", "deluge", "group"], "readOnly": false, "type": "string"}, "services.deluge.openFilesLimit": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "4096"}, "description": "Number of files to allow deluged to open.\n", "loc": ["services", "deluge", "openFilesLimit"], "readOnly": false, "type": "signed integer or string"}, "services.deluge.openFirewall": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the ports in\n{option}`services.deluge.config.listen_ports`. It only takes effet if\n{option}`services.deluge.declarative` is set to\n`true`.\n\nIt does NOT apply to the daemon port nor the web UI port. To access those\nports securely check the documentation\n<https://dev.deluge-torrent.org/wiki/UserGuide/ThinClient#CreateSSHTunnel>\nor use a VPN or configure certificates for deluge.\n", "loc": ["services", "deluge", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.deluge.package": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "pkgs.deluge-2_x"}, "description": "The deluge-2_x package to use.", "loc": ["services", "deluge", "package"], "readOnly": false, "type": "package"}, "services.deluge.user": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "\"deluge\""}, "description": "User account under which deluge runs.\n", "loc": ["services", "deluge", "user"], "readOnly": false, "type": "string"}, "services.deluge.web.enable": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Deluge Web daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deluge", "web", "enable"], "readOnly": false, "type": "boolean"}, "services.deluge.web.openFirewall": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for deluge web daemon\n", "loc": ["services", "deluge", "web", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.deluge.web.port": {"declarations": ["nixos/modules/services/torrent/deluge.nix"], "default": {"_type": "literalExpression", "text": "8112"}, "description": "Deluge web UI port.\n", "loc": ["services", "deluge", "web", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dendrite.enable": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable matrix.org dendrite.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dendrite", "enable"], "readOnly": false, "type": "boolean"}, "services.dendrite.environmentFile": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file as defined in {manpage}`systemd.exec(5)`.\nSecrets may be passed to the service without adding them to the world-readable\nNix store, by specifying placeholder variables as the option value in Nix and\nsetting these variables accordingly in the environment file. Currently only used\nfor the registration secret to allow secure registration when\nclient_api.registration_disabled is true.\n\n```\n  # snippet of dendrite-related config\n  services.dendrite.settings.client_api.registration_shared_secret = \"$REGISTRATION_SHARED_SECRET\";\n```\n\n```\n  # content of the environment file\n  REGISTRATION_SHARED_SECRET=verysecretpassword\n```\n\nNote that this file needs to be available on the host on which\n`dendrite` is running.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/dendrite/registration_secret\""}, "loc": ["services", "dendrite", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.dendrite.httpPort": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "8008"}, "description": "The port to listen for HTTP requests on.\n", "loc": ["services", "dendrite", "httpPort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dendrite.httpsPort": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The port to listen for HTTPS requests on.\n", "loc": ["services", "dendrite", "httpsPort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dendrite.loadCredential": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This can be used to pass secrets to the systemd service without adding them to\nthe nix store.\nTo use the example setting, see the example of\n{option}`services.dendrite.settings.global.private_key`.\nSee the LoadCredential section of systemd.exec manual for more information.\n", "example": {"_type": "literalExpression", "text": "[\n  \"private_key:/path/to/my_private_key\"\n]"}, "loc": ["services", "dendrite", "loadCredential"], "readOnly": false, "type": "list of string"}, "services.dendrite.openRegistration": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow open registration without secondary verification (reCAPTCHA).\n", "loc": ["services", "dendrite", "openRegistration"], "readOnly": false, "type": "boolean"}, "services.dendrite.settings": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for dendrite, see:\n<https://github.com/matrix-org/dendrite/blob/main/dendrite-sample.yaml>\nfor available options with which to populate settings.\n", "loc": ["services", "dendrite", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.dendrite.settings.app_service_api.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:federationapi.db\""}, "description": "Database for the Appservice API.\n", "loc": ["services", "dendrite", "settings", "app_service_api", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.client_api.registration_disabled": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to disable user registration to the server\nwithout the shared secret.\n", "loc": ["services", "dendrite", "settings", "client_api", "registration_disabled"], "readOnly": false, "type": "boolean"}, "services.dendrite.settings.federation_api.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:federationapi.db\""}, "description": "Database for the Federation API.\n", "loc": ["services", "dendrite", "settings", "federation_api", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.global.private_key": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "description": "The path to the signing private key file, used to sign\nrequests and events.\n\n```\n  nix-shell -p dendrite --command \"generate-keys --private-key matrix_key.pem\"\n```\n", "example": {"_type": "literalExpression", "text": "\"$CREDENTIALS_DIRECTORY/private_key\""}, "loc": ["services", "dendrite", "settings", "global", "private_key"], "readOnly": false, "type": "absolute path or string matching the pattern ^\\$CREDENTIALS_DIRECTORY/.+"}, "services.dendrite.settings.global.server_name": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "description": "The domain name of the server, with optional explicit port.\nThis is used by remote servers to connect to this server.\nThis is also the last part of your UserID.\n", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "dendrite", "settings", "global", "server_name"], "readOnly": false, "type": "string"}, "services.dendrite.settings.global.trusted_third_party_id_servers": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"matrix.org\"\n  \"vector.im\"\n]"}, "description": "Lists of domains that the server will trust as identity\nservers to verify third party identifiers such as phone\nnumbers and email addresses\n", "example": {"_type": "literalExpression", "text": "[\n  \"matrix.org\"\n]"}, "loc": ["services", "dendrite", "settings", "global", "trusted_third_party_id_servers"], "readOnly": false, "type": "list of string"}, "services.dendrite.settings.key_server.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:keyserver.db\""}, "description": "Database for the Key Server (for end-to-end encryption).\n", "loc": ["services", "dendrite", "settings", "key_server", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.media_api.base_path": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dendrite/media_store\""}, "description": "Storage path for uploaded media.\n", "loc": ["services", "dendrite", "settings", "media_api", "base_path"], "readOnly": false, "type": "string"}, "services.dendrite.settings.media_api.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:mediaapi.db\""}, "description": "Database for the Media API.\n", "loc": ["services", "dendrite", "settings", "media_api", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.mscs.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:mscs.db\""}, "description": "Database for exerimental MSC's.\n", "loc": ["services", "dendrite", "settings", "mscs", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.relay_api.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:relayapi.db\""}, "description": "Database for the Relay Server.\n", "loc": ["services", "dendrite", "settings", "relay_api", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.room_server.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:roomserver.db\""}, "description": "Database for the Room Server.\n", "loc": ["services", "dendrite", "settings", "room_server", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.sync_api.database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:syncserver.db\""}, "description": "Database for the Sync API.\n", "loc": ["services", "dendrite", "settings", "sync_api", "database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.sync_api.search.enabled": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dendrite's full-text search engine.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dendrite", "settings", "sync_api", "search", "enabled"], "readOnly": false, "type": "boolean"}, "services.dendrite.settings.sync_api.search.index_path": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dendrite/searchindex\""}, "description": "The path the search index will be created in.\n", "loc": ["services", "dendrite", "settings", "sync_api", "search", "index_path"], "readOnly": false, "type": "string"}, "services.dendrite.settings.sync_api.search.language": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"en\""}, "description": "The language most likely to be used on the server - used when indexing, to\nensure the returned results match expectations. A full list of possible languages\ncan be found at <https://github.com/blevesearch/bleve/tree/master/analysis/lang>\n", "loc": ["services", "dendrite", "settings", "sync_api", "search", "language"], "readOnly": false, "type": "string"}, "services.dendrite.settings.user_api.account_database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:userapi_accounts.db\""}, "description": "Database for the User API, accounts.\n", "loc": ["services", "dendrite", "settings", "user_api", "account_database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.settings.user_api.device_database.connection_string": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "\"file:userapi_devices.db\""}, "description": "Database for the User API, devices.\n", "loc": ["services", "dendrite", "settings", "user_api", "device_database", "connection_string"], "readOnly": false, "type": "string"}, "services.dendrite.tlsCert": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the TLS certificate.\n\n```\n  nix-shell -p dendrite --command \"generate-keys --tls-cert server.crt --tls-key server.key\"\n```\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/dendrite/server.cert\""}, "loc": ["services", "dendrite", "tlsCert"], "readOnly": false, "type": "null or absolute path"}, "services.dendrite.tlsKey": {"declarations": ["nixos/modules/services/matrix/dendrite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the TLS key.\n\n```\n  nix-shell -p dendrite --command \"generate-keys --tls-cert server.crt --tls-key server.key\"\n```\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/dendrite/server.key\""}, "loc": ["services", "dendrite", "tlsKey"], "readOnly": false, "type": "null or absolute path"}, "services.dependency-track.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether a database should be automatically created on the\nlocal host. Set this to false if you plan on provisioning a\nlocal database yourself.\n", "loc": ["services", "dependency-track", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.dependency-track.database.databaseName": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"dependency-track\""}, "description": "Database name to use when connecting to an external or\nmanually provisioned database; has no effect when a local\ndatabase is automatically provisioned.\n\nTo use this with a local database, set {option}`services.dependency-track.database.createLocally`\nto `false` and create the database and user.\n", "loc": ["services", "dependency-track", "database", "databaseName"], "readOnly": false, "type": "string"}, "services.dependency-track.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "description": "The path to a file containing the database password.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/db_password\""}, "loc": ["services", "dependency-track", "database", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.dependency-track.database.type": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"postgresql\""}, "description": "`h2` database is not recommended for a production setup.\n`postgresql` this settings it recommended for production setups.\n`manual` the module doesn't handle database settings.\n", "loc": ["services", "dependency-track", "database", "type"], "readOnly": false, "type": "one of \"h2\", \"postgresql\", \"manual\""}, "services.dependency-track.database.username": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"dependency-track\""}, "description": "Username to use when connecting to an external or manually\nprovisioned database; has no effect when a local database is\nautomatically provisioned.\n\nTo use this with a local database, set {option}`services.dependency-track.database.createLocally`\nto `false` and create the database and user.\n", "loc": ["services", "dependency-track", "database", "username"], "readOnly": false, "type": "string"}, "services.dependency-track.enable": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dependency-track.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dependency-track", "enable"], "readOnly": false, "type": "boolean"}, "services.dependency-track.frontend.baseUrl": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "lib.optionalString config.services.dependency-track.nginx.enable \"${\n  if sslEnabled then \"https\" else \"http\"\n}://${config.services.dependency-track.nginx.domain}\";\n"}, "description": "The base URL of the API server.\n\nNOTE:\n* This URL must be reachable by the browsers of your users.\n* The frontend container itself does NOT communicate with the API server directly, it just serves static files.\n* When deploying to dedicated servers, please use the external IP or domain of the API server.\n", "loc": ["services", "dependency-track", "frontend", "baseUrl"], "readOnly": false, "type": "string"}, "services.dependency-track.javaArgs": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Java options passed to JVM. Configuring this is usually not necessary, but for small systems\nit can be useful to tweak the JVM heap size.\n", "example": {"_type": "literalExpression", "text": "[ \"-Xmx16G\" ] "}, "loc": ["services", "dependency-track", "javaArgs"], "readOnly": false, "type": "list of string"}, "services.dependency-track.ldap.bindPasswordFile": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "description": "The path to a file containing the LDAP bind password.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/ldap_bind_password\""}, "loc": ["services", "dependency-track", "ldap", "bindPasswordFile"], "readOnly": false, "type": "absolute path"}, "services.dependency-track.logLevel": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"INFO\""}, "description": "Log level for dependency-track", "loc": ["services", "dependency-track", "logLevel"], "readOnly": false, "type": "one of \"INFO\", \"WARN\", \"ERROR\", \"DEBUG\", \"TRACE\""}, "services.dependency-track.nginx.domain": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "description": "The domain name under which to set up the virtual host.\n", "example": {"_type": "literalExpression", "text": "\"dtrack.example.com\""}, "loc": ["services", "dependency-track", "nginx", "domain"], "readOnly": false, "type": "string"}, "services.dependency-track.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to set up an nginx virtual host.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "dependency-track", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.dependency-track.oidc.clientId": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Defines the client ID for OpenID Connect.\n", "loc": ["services", "dependency-track", "oidc", "clientId"], "readOnly": false, "type": "string"}, "services.dependency-track.oidc.enable": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable oidc support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dependency-track", "oidc", "enable"], "readOnly": false, "type": "boolean"}, "services.dependency-track.oidc.flow": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"code\""}, "description": "Specifies the OpenID Connect flow to use.\nValues other than \"implicit\" will result in the Code+PKCE flow to be used.\nUsage of the implicit flow is strongly discouraged, but may be necessary when\nthe IdP of choice does not support the Code+PKCE flow.\nSee also:\n  - <https://oauth.net/2/grant-types/implicit/>\n  - <https://oauth.net/2/pkce/>\n", "loc": ["services", "dependency-track", "oidc", "flow"], "readOnly": false, "type": "one of \"code\", \"implicit\""}, "services.dependency-track.oidc.issuer": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Defines the issuer URL to be used for OpenID Connect.\nSee alpine.oidc.issuer property of the API server.\n", "loc": ["services", "dependency-track", "oidc", "issuer"], "readOnly": false, "type": "string"}, "services.dependency-track.oidc.loginButtonText": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"Login with OpenID Connect\""}, "description": "Defines the scopes to request for OpenID Connect.\nSee also: <https://openid.net/specs/openid-connect-basic-1_0.html#Scopes>\n", "loc": ["services", "dependency-track", "oidc", "loginButtonText"], "readOnly": false, "type": "string"}, "services.dependency-track.oidc.scope": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"openid profile email\""}, "description": "Defines the scopes to request for OpenID Connect.\nSee also: <https://openid.net/specs/openid-connect-basic-1_0.html#Scopes>\n", "loc": ["services", "dependency-track", "oidc", "scope"], "readOnly": false, "type": "string"}, "services.dependency-track.oidc.teamSynchronization": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "This option will ensure that team memberships for OpenID Connect users are dynamic and\nsynchronized with membership of OpenID Connect groups or assigned roles. When a team is\nmapped to an OpenID Connect group, all local OpenID Connect users will automatically be\nassigned to the team if they are a member of the group the team is mapped to. If the user\nis later removed from the OpenID Connect group, they will also be removed from the team. This\noption provides the ability to dynamically control user permissions via the identity provider.\nNote that team synchronization is only performed during user provisioning and after successful\nauthentication.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dependency-track", "oidc", "teamSynchronization"], "readOnly": false, "type": "boolean"}, "services.dependency-track.oidc.teams.claim": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"groups\""}, "description": "Defines the name of the claim that contains group memberships or role assignments in the provider's userinfo endpoint.\nThe claim must be an array of strings. Most public identity providers do not support group or role management.\nWhen using a customizable / on-demand hosted identity provider, name, content, and inclusion in the userinfo endpoint\nwill most likely need to be configured.\n", "loc": ["services", "dependency-track", "oidc", "teams", "claim"], "readOnly": false, "type": "string"}, "services.dependency-track.oidc.teams.default": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Defines one or more team names that auto-provisioned OIDC users shall be added to.\nMultiple team names may be provided as comma-separated list.\n\nHas no effect when {option}`services.dependency-track.oidc.userProvisioning`=false,\nor {option}`services.dependency-track.oidc.teamSynchronization`=true.\n", "loc": ["services", "dependency-track", "oidc", "teams", "default"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.dependency-track.oidc.userProvisioning": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specifies if mapped OpenID Connect accounts are automatically created upon successful\nauthentication. When a user logs in with a valid access token but an account has\nnot been previously provisioned, an authentication failure will be returned.\nThis allows admins to control specifically which OpenID Connect users can access the\nsystem and which users cannot. When this value is set to true, a local OpenID Connect\nuser will be created and mapped to the OpenID Connect account automatically. This\nautomatic provisioning only affects authentication, not authorization.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dependency-track", "oidc", "userProvisioning"], "readOnly": false, "type": "boolean"}, "services.dependency-track.oidc.usernameClaim": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"name\""}, "description": "Defines the name of the claim that contains the username in the provider's userinfo endpoint.\nCommon claims are \"name\", \"username\", \"preferred_username\" or \"nickname\".\nSee also: <https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse>\n", "example": {"_type": "literalExpression", "text": "\"preferred_username\""}, "loc": ["services", "dependency-track", "oidc", "usernameClaim"], "readOnly": false, "type": "string"}, "services.dependency-track.package": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dependency-track"}, "description": "The dependency-track package to use.", "loc": ["services", "dependency-track", "package"], "readOnly": false, "type": "package"}, "services.dependency-track.port": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "On which port dependency-track should listen for new HTTP connections.\n", "loc": ["services", "dependency-track", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dependency-track.settings": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See <https://docs.dependencytrack.org/getting-started/configuration/#default-configuration> for possible options", "loc": ["services", "dependency-track", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string, package, bool, int or float)"}, "services.dependency-track.settings.\"alpine.data.directory\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dependency-track\""}, "description": "Defines the path to the data directory. This directory will hold logs, keys,\nand any database or index files along with application-specific files or\ndirectories.\n", "loc": ["services", "dependency-track", "settings", "alpine.data.directory"], "readOnly": false, "type": "absolute path"}, "services.dependency-track.settings.\"alpine.database.driver\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "if config.services.dependency-track.database.type == \"h2\" then \"org.h2.Driver\"\nelse if config.services.dependency-track.database.type == \"postgresql\" then \"org.postgresql.Driver\"\nelse null;\n"}, "description": "Specifies the JDBC driver class to use.", "loc": ["services", "dependency-track", "settings", "alpine.database.driver"], "readOnly": false, "type": "one of \"org.h2.Driver\", \"org.postgresql.Driver\", \"com.microsoft.sqlserver.jdbc.SQLServerDriver\", \"com.mysql.cj.jdbc.Driver\""}, "services.dependency-track.settings.\"alpine.database.mode\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "if config.services.dependency-track.database.type == \"h2\" then \"embedded\"\nelse if config.services.dependency-track.database.type == \"postgresql\" then \"external\"\nelse null\n"}, "description": "Defines the database mode of operation. Valid choices are:\n'server', 'embedded', and 'external'.\nIn server mode, the database will listen for connections from remote hosts.\nIn embedded mode, the system will be more secure and slightly faster.\nExternal mode should be used when utilizing an external database server\n(i.e. mysql, postgresql, etc).\n", "loc": ["services", "dependency-track", "settings", "alpine.database.mode"], "readOnly": false, "type": "one of \"server\", \"embedded\", \"external\""}, "services.dependency-track.settings.\"alpine.database.url\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "if config.services.dependency-track.database.type == \"h2\" then \"jdbc:h2:/var/lib/dependency-track/db\"\n  else if config.services.dependency-track.database.type == \"postgresql\" then \"jdbc:postgresql:${config.services.dependency-track.database.name}?socketFactory=org.newsclub.net.unix.AFUNIXSocketFactory$FactoryArg&socketFactoryArg=/run/postgresql/.s.PGSQL.5432\"\n  else null\n"}, "description": "Specifies the JDBC URL to use when connecting to the database.", "loc": ["services", "dependency-track", "settings", "alpine.database.url"], "readOnly": false, "type": "string"}, "services.dependency-track.settings.\"alpine.database.username\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "if config.services.dependency-track.database.createLocally then \"dependency-track\"\nelse config.services.dependency-track.database.username\n"}, "description": "Specifies the username to use when authenticating to the database.", "loc": ["services", "dependency-track", "settings", "alpine.database.username"], "readOnly": false, "type": "string"}, "services.dependency-track.settings.\"alpine.ldap.enabled\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Defines if LDAP will be used for user authentication. If enabled,\nalpine.ldap.* properties should be set accordingly.\n", "loc": ["services", "dependency-track", "settings", "alpine.ldap.enabled"], "readOnly": false, "type": "boolean"}, "services.dependency-track.settings.\"alpine.oidc.client.id\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.clientId"}, "description": "Defines the client ID to be used for OpenID Connect.\nThe client ID should be the same as the one configured for the frontend,\nand will only be used to validate ID tokens.\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.client.id"], "readOnly": false, "type": "string"}, "services.dependency-track.settings.\"alpine.oidc.enabled\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.enable"}, "description": "Defines if OpenID Connect will be used for user authentication.\nIf enabled, alpine.oidc.* properties should be set accordingly.\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.enabled"], "readOnly": false, "type": "boolean"}, "services.dependency-track.settings.\"alpine.oidc.issuer\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.issuer"}, "description": "Defines the issuer URL to be used for OpenID Connect.\nThis issuer MUST support provider configuration via the /.well-known/openid-configuration endpoint.\nSee also:\n- <https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata>\n- <https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig>\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.issuer"], "readOnly": false, "type": "string"}, "services.dependency-track.settings.\"alpine.oidc.team.synchronization\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.teamSynchronization"}, "description": "This option will ensure that team memberships for OpenID Connect users are dynamic and\nsynchronized with membership of OpenID Connect groups or assigned roles. When a team is\nmapped to an OpenID Connect group, all local OpenID Connect users will automatically be\nassigned to the team if they are a member of the group the team is mapped to. If the user\nis later removed from the OpenID Connect group, they will also be removed from the team. This\noption provides the ability to dynamically control user permissions via the identity provider.\nNote that team synchronization is only performed during user provisioning and after successful\nauthentication.\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.team.synchronization"], "readOnly": false, "type": "boolean"}, "services.dependency-track.settings.\"alpine.oidc.teams.claim\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.teams.claim"}, "description": "Defines the name of the claim that contains group memberships or role assignments in the provider's userinfo endpoint.\nThe claim must be an array of strings. Most public identity providers do not support group or role management.\nWhen using a customizable / on-demand hosted identity provider, name, content, and inclusion in the userinfo endpoint\nwill most likely need to be configured.\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.teams.claim"], "readOnly": false, "type": "string"}, "services.dependency-track.settings.\"alpine.oidc.teams.default\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.teams.default"}, "description": "Defines one or more team names that auto-provisioned OIDC users shall be added to.\nMultiple team names may be provided as comma-separated list.\n\nHas no effect when {option}`services.dependency-track.oidc.userProvisioning`=false,\nor {option}`services.dependency-track.oidc.teamSynchronization`=true.\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.teams.default"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.dependency-track.settings.\"alpine.oidc.user.provisioning\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.userProvisioning"}, "description": "Specifies if mapped OpenID Connect accounts are automatically created upon successful\nauthentication. When a user logs in with a valid access token but an account has\nnot been previously provisioned, an authentication failure will be returned.\nThis allows admins to control specifically which OpenID Connect users can access the\nsystem and which users cannot. When this value is set to true, a local OpenID Connect\nuser will be created and mapped to the OpenID Connect account automatically. This\nautomatic provisioning only affects authentication, not authorization.\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.user.provisioning"], "readOnly": false, "type": "boolean"}, "services.dependency-track.settings.\"alpine.oidc.username.claim\"": {"declarations": ["nixos/modules/services/web-apps/dependency-track.nix"], "default": {"_type": "literalExpression", "text": "config.services.dependency-track.oidc.usernameClaim"}, "description": "Defines the name of the claim that contains the username in the provider's userinfo endpoint.\nCommon claims are \"name\", \"username\", \"preferred_username\" or \"nickname\".\nSee also: <https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse>\n", "loc": ["services", "dependency-track", "settings", "alpine.oidc.username.claim"], "readOnly": false, "type": "string"}, "services.desktopManager.budgie.enable": {"declarations": ["nixos/modules/services/desktop-managers/budgie.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Budgie desktop.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "budgie", "enable"], "readOnly": false, "type": "boolean"}, "services.desktopManager.budgie.extraGSettingsOverridePackages": {"declarations": ["nixos/modules/services/desktop-managers/budgie.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages for which GSettings are overridden.", "loc": ["services", "desktopManager", "budgie", "extraGSettingsOverridePackages"], "readOnly": false, "type": "list of absolute path"}, "services.desktopManager.budgie.extraGSettingsOverrides": {"declarations": ["nixos/modules/services/desktop-managers/budgie.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional GSettings overrides.", "loc": ["services", "desktopManager", "budgie", "extraGSettingsOverrides"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.desktopManager.budgie.extraPlugins": {"declarations": ["nixos/modules/services/desktop-managers/budgie.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra plugins for the Budgie desktop", "example": {"_type": "literalExpression", "text": "[ pkgs.budgie-analogue-clock-applet ]"}, "loc": ["services", "desktopManager", "budgie", "extraPlugins"], "readOnly": false, "type": "list of package"}, "services.desktopManager.budgie.sessionPath": {"declarations": ["nixos/modules/services/desktop-managers/budgie.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional list of packages to be added to the session search path.\nUseful for GSettings-conditional autostart.\n\nNote that this should be a last resort; patching the package is preferred (see GPaste).\n", "example": {"_type": "literalExpression", "text": "[ pkgs.gpaste ]"}, "loc": ["services", "desktopManager", "budgie", "sessionPath"], "readOnly": false, "type": "list of package"}, "services.desktopManager.cosmic.enable": {"declarations": ["nixos/modules/services/desktop-managers/cosmic.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable COSMIC desktop environment.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "cosmic", "enable"], "readOnly": false, "type": "boolean"}, "services.desktopManager.cosmic.showExcludedPkgsWarning": {"declarations": ["nixos/modules/services/desktop-managers/cosmic.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the warning for excluding core packages.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "cosmic", "showExcludedPkgsWarning"], "readOnly": false, "type": "boolean"}, "services.desktopManager.cosmic.xwayland.enable": {"declarations": ["nixos/modules/services/desktop-managers/cosmic.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Xwayland support for the COSMIC compositor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "cosmic", "xwayland", "enable"], "readOnly": false, "type": "boolean"}, "services.desktopManager.gnome.debug": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable pkgs.gnome-session debug messages.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "gnome", "debug"], "readOnly": false, "type": "boolean"}, "services.desktopManager.gnome.enable": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable GNOME desktop manager.", "loc": ["services", "desktopManager", "gnome", "enable"], "readOnly": false, "type": "boolean"}, "services.desktopManager.gnome.extraGSettingsOverridePackages": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages for which gsettings are overridden.", "loc": ["services", "desktopManager", "gnome", "extraGSettingsOverridePackages"], "readOnly": false, "type": "list of absolute path"}, "services.desktopManager.gnome.extraGSettingsOverrides": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional gsettings overrides.", "loc": ["services", "desktopManager", "gnome", "extraGSettingsOverrides"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.desktopManager.gnome.flashback.customSessions": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Other GNOME Flashback sessions to enable.", "loc": ["services", "desktopManager", "gnome", "flashback", "customSessions"], "readOnly": false, "type": "list of (submodule)"}, "services.desktopManager.gnome.flashback.customSessions.*.enableGnomePanel": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the GNOME panel in this session.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "desktopManager", "gnome", "flashback", "customSessions", "*", "enableGnomePanel"], "readOnly": false, "type": "boolean"}, "services.desktopManager.gnome.flashback.customSessions.*.wmCommand": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "description": "The executable of the window manager to use.", "example": {"_type": "literalExpression", "text": "\"${pkgs.haskellPackages.xmonad}/bin/xmonad\""}, "loc": ["services", "desktopManager", "gnome", "flashback", "customSessions", "*", "wmCommand"], "readOnly": false, "type": "string"}, "services.desktopManager.gnome.flashback.customSessions.*.wmLabel": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "description": "The name of the window manager to show in the session chooser.", "example": {"_type": "literalExpression", "text": "\"XMonad\""}, "loc": ["services", "desktopManager", "gnome", "flashback", "customSessions", "*", "wmLabel"], "readOnly": false, "type": "string"}, "services.desktopManager.gnome.flashback.customSessions.*.wmName": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "description": "A unique identifier for the window manager.", "example": {"_type": "literalExpression", "text": "\"xmonad\""}, "loc": ["services", "desktopManager", "gnome", "flashback", "customSessions", "*", "wmName"], "readOnly": false, "type": "string matching the pattern [a-zA-Z0-9_-]+"}, "services.desktopManager.gnome.flashback.enableMetacity": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the standard GNOME Flashback session with Metacity.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "gnome", "flashback", "enableMetacity"], "readOnly": false, "type": "boolean"}, "services.desktopManager.gnome.flashback.panelModulePackages": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.gnome-applets ]"}, "description": "Packages containing modules that should be made available to `pkgs.gnome-panel` (usually for applets).\n\nIf you're packaging something to use here, please install the modules in `$out/lib/gnome-panel/modules`.\n", "loc": ["services", "desktopManager", "gnome", "flashback", "panelModulePackages"], "readOnly": false, "type": "list of package"}, "services.desktopManager.gnome.sessionPath": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional list of packages to be added to the session search path.\nUseful for GNOME Shell extensions or GSettings-conditional autostart.\n\nNote that this should be a last resort; patching the package is preferred (see GPaste).\n", "example": {"_type": "literalExpression", "text": "[ pkgs.gpaste ]"}, "loc": ["services", "desktopManager", "gnome", "sessionPath"], "readOnly": false, "type": "list of package"}, "services.desktopManager.lomiri.enable": {"declarations": ["nixos/modules/services/desktop-managers/lomiri.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Lomiri graphical shell (formerly known as Unity8)\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "lomiri", "enable"], "readOnly": false, "type": "boolean"}, "services.desktopManager.pantheon.debug": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gnome-session debug messages.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "desktopManager", "pantheon", "debug"], "readOnly": false, "type": "boolean"}, "services.desktopManager.pantheon.enable": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the pantheon desktop manager", "loc": ["services", "desktopManager", "pantheon", "enable"], "readOnly": false, "type": "boolean"}, "services.desktopManager.pantheon.extraGSettingsOverridePackages": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of packages for which gsettings are overridden.", "loc": ["services", "desktopManager", "pantheon", "extraGSettingsOverridePackages"], "readOnly": false, "type": "list of absolute path"}, "services.desktopManager.pantheon.extraGSettingsOverrides": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional gsettings overrides.", "loc": ["services", "desktopManager", "pantheon", "extraGSettingsOverrides"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.desktopManager.pantheon.extraSwitchboardPlugs": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Plugs to add to Switchboard.", "loc": ["services", "desktopManager", "pantheon", "extraSwitchboardPlugs"], "readOnly": false, "type": "null or (list of package)"}, "services.desktopManager.pantheon.extraWingpanelIndicators": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Indicators to add to Wingpanel.", "loc": ["services", "desktopManager", "pantheon", "extraWingpanelIndicators"], "readOnly": false, "type": "null or (list of package)"}, "services.desktopManager.pantheon.sessionPath": {"declarations": ["nixos/modules/services/desktop-managers/pantheon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional list of packages to be added to the session search path.\nUseful for GSettings-conditional autostart.\n\nNote that this should be a last resort; patching the package is preferred (see GPaste).\n", "example": {"_type": "literalExpression", "text": "[ pkgs.gpaste ]"}, "loc": ["services", "desktopManager", "pantheon", "sessionPath"], "readOnly": false, "type": "list of package"}, "services.desktopManager.plasma6.enable": {"declarations": ["nixos/modules/services/desktop-managers/plasma6.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the Plasma 6 (KDE 6) desktop environment.", "loc": ["services", "desktopManager", "plasma6", "enable"], "readOnly": false, "type": "boolean"}, "services.desktopManager.plasma6.enableQt5Integration": {"declarations": ["nixos/modules/services/desktop-managers/plasma6.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable Qt 5 integration (theming, etc). Disable for a pure Qt 6 system.", "loc": ["services", "desktopManager", "plasma6", "enableQt5Integration"], "readOnly": false, "type": "boolean"}, "services.desktopManager.plasma6.notoPackage": {"declarations": ["nixos/modules/services/desktop-managers/plasma6.nix"], "default": {"_type": "literalExpression", "text": "pkgs.noto-fonts"}, "description": "The Noto fonts - used for UI by default package to use.", "example": {"_type": "literalExpression", "text": "noto-fonts-lgc-plus"}, "loc": ["services", "desktopManager", "plasma6", "notoPackage"], "readOnly": false, "type": "package"}, "services.devmon.enable": {"declarations": ["nixos/modules/services/misc/devmon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable devmon, an automatic device mounting daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "devmon", "enable"], "readOnly": false, "type": "boolean"}, "services.devpi-server.enable": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Devpi Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "devpi-server", "enable"], "readOnly": false, "type": "boolean"}, "services.devpi-server.extraPackages": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "ps: [ ]"}, "description": "Plugins and extra Python packages to be available to devpi-server.\n", "example": {"_type": "literalExpression", "text": "ps: with ps; [ devpi-web devpi-ldap ]\n"}, "loc": ["services", "devpi-server", "extraPackages"], "readOnly": false, "type": "(function that evaluates to a(n) list of package) or (list of package) convertible to it"}, "services.devpi-server.host": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "domain/ip address to listen on\n", "loc": ["services", "devpi-server", "host"], "readOnly": false, "type": "string"}, "services.devpi-server.openFirewall": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening the default ports in the firewall for Devpi Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "devpi-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.devpi-server.package": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.devpi-server"}, "description": "The devpi-server package to use.", "loc": ["services", "devpi-server", "package"], "readOnly": false, "type": "package"}, "services.devpi-server.port": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "3141"}, "description": "The port on which Devpi Server will listen.", "loc": ["services", "devpi-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.devpi-server.primaryUrl": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "description": "Url for the primary node. Required option for replica nodes.", "loc": ["services", "devpi-server", "primaryUrl"], "readOnly": false, "type": "string"}, "services.devpi-server.replica": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Run node as a replica.\nRequires the secretFile option and the primaryUrl to be enabled.\n", "loc": ["services", "devpi-server", "replica"], "readOnly": false, "type": "boolean"}, "services.devpi-server.secretFile": {"declarations": ["nixos/modules/services/misc/devpi-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a shared secret file used for synchronization,\nRequired for all nodes in a replica/primary setup.\n", "loc": ["services", "devpi-server", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.deye-dummycloud.enable": {"declarations": ["nixos/modules/services/home-automation/deye-dummycloud.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the deye-dummycloud service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "deye-dummycloud", "enable"], "readOnly": false, "type": "boolean"}, "services.deye-dummycloud.mqttBrokerUrl": {"declarations": ["nixos/modules/services/home-automation/deye-dummycloud.nix"], "default": {"_type": "literalExpression", "text": "\"mqtt://localhost\""}, "description": "MQTT broker URL", "loc": ["services", "deye-dummycloud", "mqttBrokerUrl"], "readOnly": false, "type": "string"}, "services.deye-dummycloud.mqttPassword": {"declarations": ["nixos/modules/services/home-automation/deye-dummycloud.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "MQTT password", "loc": ["services", "deye-dummycloud", "mqttPassword"], "readOnly": false, "type": "string"}, "services.deye-dummycloud.mqttUsername": {"declarations": ["nixos/modules/services/home-automation/deye-dummycloud.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "MQTT username", "loc": ["services", "deye-dummycloud", "mqttUsername"], "readOnly": false, "type": "string"}, "services.dgraph.alpha.host": {"declarations": ["nixos/modules/services/databases/dgraph.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The host which dgraph alpha will be run on.\n", "loc": ["services", "dgraph", "alpha", "host"], "readOnly": false, "type": "string"}, "services.dgraph.alpha.port": {"declarations": ["nixos/modules/services/databases/dgraph.nix"], "default": {"_type": "literalExpression", "text": "7080"}, "description": "The port which to run dgraph alpha on.\n", "loc": ["services", "dgraph", "alpha", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dgraph.enable": {"declarations": ["nixos/modules/services/databases/dgraph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dgraph native GraphQL database with a graph backend.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dgraph", "enable"], "readOnly": false, "type": "boolean"}, "services.dgraph.package": {"declarations": ["nixos/modules/services/databases/dgraph.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dgraph"}, "description": "The dgraph package to use.", "loc": ["services", "dgraph", "package"], "readOnly": false, "type": "package"}, "services.dgraph.settings": {"declarations": ["nixos/modules/services/databases/dgraph.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Contents of the dgraph config. For more details see <https://dgraph.io/docs/deploy/config>\n", "loc": ["services", "dgraph", "settings"], "readOnly": false, "type": "JSON value"}, "services.dgraph.zero.host": {"declarations": ["nixos/modules/services/databases/dgraph.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The host which dgraph zero will be run on.\n", "loc": ["services", "dgraph", "zero", "host"], "readOnly": false, "type": "string"}, "services.dgraph.zero.port": {"declarations": ["nixos/modules/services/databases/dgraph.nix"], "default": {"_type": "literalExpression", "text": "5080"}, "description": "The port which to run dgraph zero on.\n", "loc": ["services", "dgraph", "zero", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dictd.DBs": {"declarations": ["nixos/modules/services/misc/dictd.nix"], "default": {"_type": "literalExpression", "text": "with pkgs.dictdDBs; [ wiktionary wordnet ]"}, "description": "List of databases to make available.", "example": {"_type": "literalExpression", "text": "[ pkgs.dictdDBs.nld2eng ]"}, "loc": ["services", "dictd", "DBs"], "readOnly": false, "type": "list of package"}, "services.dictd.enable": {"declarations": ["nixos/modules/services/misc/dictd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the DICT.org dictionary server.\n", "loc": ["services", "dictd", "enable"], "readOnly": false, "type": "boolean"}, "services.diod.allsquash": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Remap all users to \"nobody\". The attaching user need not be present in the\npassword file.\n", "loc": ["services", "diod", "allsquash"], "readOnly": false, "type": "boolean"}, "services.diod.authRequired": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow clients to connect without authentication, i.e. without a valid MUNGE credential.\n", "loc": ["services", "diod", "authRequired"], "readOnly": false, "type": "boolean"}, "services.diod.enable": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the diod 9P file server.", "loc": ["services", "diod", "enable"], "readOnly": false, "type": "boolean"}, "services.diod.exportall": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Export all file systems listed in /proc/mounts. If new file systems are mounted\nafter diod has started, they will become immediately mountable. If there is a\nduplicate entry for a file system in the exports list, any options listed in\nthe exports entry will apply.\n", "loc": ["services", "diod", "exportall"], "readOnly": false, "type": "boolean"}, "services.diod.exportopts": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Establish a default set of export options. These are overridden, not appended\nto, by opts attributes in an \"exports\" entry.\n", "loc": ["services", "diod", "exportopts"], "readOnly": false, "type": "list of string"}, "services.diod.exports": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List the file systems that clients will be allowed to mount. All paths should\nbe fully qualified. The exports table can include two types of element:\na string element (as above),\nor an alternate table element form { path=\"/path\", opts=\"ro\" }.\nIn the alternate form, the (optional) opts attribute is a comma-separated list\nof export options. The two table element forms can be mixed in the exports\ntable. Note that although diod will not traverse file system boundaries for a\ngiven mount due to inode uniqueness constraints, subdirectories of a file\nsystem can be separately exported.\n", "loc": ["services", "diod", "exports"], "readOnly": false, "type": "list of string"}, "services.diod.extraConfig": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration options for diod.conf.", "loc": ["services", "diod", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.diod.listen": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"0.0.0.0:564\"\n]"}, "description": "[ \"IP:PORT\" [,\"IP:PORT\",...] ]\nList the interfaces and ports that diod should listen on.\n", "loc": ["services", "diod", "listen"], "readOnly": false, "type": "list of string"}, "services.diod.logdest": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "\"syslog:daemon:err\""}, "description": "Set the destination for logging.\nThe value has the form of \"syslog:facility:level\" or \"filename\".\n", "loc": ["services", "diod", "logdest"], "readOnly": false, "type": "string"}, "services.diod.nwthreads": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "16"}, "description": "Sets the (fixed) number of worker threads created to handle 9P\nrequests for a unique aname.\n", "loc": ["services", "diod", "nwthreads"], "readOnly": false, "type": "signed integer"}, "services.diod.squashuser": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "\"nobody\""}, "description": "Change the squash user. The squash user must be present in the password file.\n", "loc": ["services", "diod", "squashuser"], "readOnly": false, "type": "string"}, "services.diod.statfsPassthru": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "This option configures statfs to return the host file system's type\nrather than V9FS_MAGIC.\n", "loc": ["services", "diod", "statfsPassthru"], "readOnly": false, "type": "boolean"}, "services.diod.userdb": {"declarations": ["nixos/modules/services/network-filesystems/diod.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "This option disables password/group lookups. It allows any uid to attach and\nassumes gid=uid, and supplementary groups contain only the primary gid.\n", "loc": ["services", "diod", "userdb"], "readOnly": false, "type": "boolean"}, "services.discourse.admin.email": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "description": "The admin user email address.\n", "example": {"_type": "literalExpression", "text": "\"admin@example.com\""}, "loc": ["services", "discourse", "admin", "email"], "readOnly": false, "type": "string"}, "services.discourse.admin.fullName": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "description": "The admin user's full name.\n", "loc": ["services", "discourse", "admin", "fullName"], "readOnly": false, "type": "string"}, "services.discourse.admin.passwordFile": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "description": "A path to a file containing the admin user's password.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "discourse", "admin", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.discourse.admin.skipCreate": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Do not create the admin account, instead rely on other\nexisting admin accounts.\n", "loc": ["services", "discourse", "admin", "skipCreate"], "readOnly": false, "type": "boolean"}, "services.discourse.admin.username": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "description": "The admin user username.\n", "example": {"_type": "literalExpression", "text": "\"admin\""}, "loc": ["services", "discourse", "admin", "username"], "readOnly": false, "type": "string"}, "services.discourse.backendSettings": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional settings to put in the\n{file}`discourse.conf` file.\n\nLook in the\n[discourse_defaults.conf](https://github.com/discourse/discourse/blob/master/config/discourse_defaults.conf)\nfile in the upstream distribution to find available options.\n\nSetting an option to `null` means\n\u201cdefine variable, but leave right-hand side empty\u201d.\n", "example": {"_type": "literalExpression", "text": "{\n  max_reqs_per_ip_per_minute = 300;\n  max_reqs_per_ip_per_10_seconds = 60;\n  max_asset_reqs_per_ip_per_10_seconds = 250;\n  max_reqs_per_ip_mode = \"warn+block\";\n};\n"}, "loc": ["services", "discourse", "backendSettings"], "readOnly": false, "type": "attribute set of (null or string or signed integer or boolean or floating point number)"}, "services.discourse.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether a database should be automatically created on the\nlocal host. Set this to `false` if you plan\non provisioning a local database yourself. This has no effect\nif {option}`services.discourse.database.host` is customized.\n", "loc": ["services", "discourse", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.discourse.database.host": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Discourse database hostname. `null` means\n\u201cprefer local unix socket connection\u201d.\n", "loc": ["services", "discourse", "database", "host"], "readOnly": false, "type": "null or string"}, "services.discourse.database.ignorePostgresqlVersion": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow other versions of PostgreSQL than the\nrecommended one. Only effective when\n{option}`services.discourse.database.createLocally`\nis enabled.\n", "loc": ["services", "discourse", "database", "ignorePostgresqlVersion"], "readOnly": false, "type": "boolean"}, "services.discourse.database.name": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"discourse\""}, "description": "Discourse database name.\n", "loc": ["services", "discourse", "database", "name"], "readOnly": false, "type": "string"}, "services.discourse.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the Discourse database user password.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "discourse", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.discourse.database.pool": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "8"}, "description": "Database connection pool size.\n", "loc": ["services", "discourse", "database", "pool"], "readOnly": false, "type": "signed integer"}, "services.discourse.database.username": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"discourse\""}, "description": "Discourse database user.\n", "loc": ["services", "discourse", "database", "username"], "readOnly": false, "type": "string"}, "services.discourse.enable": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Discourse, an open source discussion platform.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "discourse", "enable"], "readOnly": false, "type": "boolean"}, "services.discourse.enableACME": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalMD", "text": "`true`, unless {option}`services.discourse.sslCertificate`\nand {option}`services.discourse.sslCertificateKey` are set.\n"}, "description": "Whether an ACME certificate should be used to secure\nconnections to the server.\n", "loc": ["services", "discourse", "enableACME"], "readOnly": false, "type": "boolean"}, "services.discourse.hostname": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdnOrHostName"}, "description": "The hostname to serve Discourse on.\n", "example": {"_type": "literalExpression", "text": "\"discourse.example.com\""}, "loc": ["services", "discourse", "hostname"], "readOnly": false, "type": "string"}, "services.discourse.mail.contactEmailAddress": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Email address of key contact responsible for this\nsite. Used for critical notifications, as well as on the\n`/about` contact form for urgent matters.\n", "loc": ["services", "discourse", "mail", "contactEmailAddress"], "readOnly": false, "type": "string"}, "services.discourse.mail.incoming.apiKeyFile": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the Discourse API key used to add\nposts and messages from mail. If left at its default\nvalue `null`, one will be automatically\ngenerated.\n\nThis should be a string, not a nix path, since nix paths\nare copied into the world-readable nix store.\n", "loc": ["services", "discourse", "mail", "incoming", "apiKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.discourse.mail.incoming.enable": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to set up Postfix to receive incoming mail.\n", "loc": ["services", "discourse", "mail", "incoming", "enable"], "readOnly": false, "type": "boolean"}, "services.discourse.mail.incoming.mailReceiverPackage": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "pkgs.discourse-mail-receiver"}, "description": "The discourse-mail-receiver package to use.\n", "loc": ["services", "discourse", "mail", "incoming", "mailReceiverPackage"], "readOnly": false, "type": "package"}, "services.discourse.mail.incoming.replyEmailAddress": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"%{reply_key}@${config.services.discourse.hostname}\""}, "description": "Template for reply by email incoming email address, for\nexample: %{reply_key}@reply.example.com or\nreplies+%{reply_key}@example.com\n", "loc": ["services", "discourse", "mail", "incoming", "replyEmailAddress"], "readOnly": false, "type": "string"}, "services.discourse.mail.notificationEmailAddress": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"${if config.services.discourse.mail.incoming.enable then \"notifications\" else \"noreply\"}@${config.services.discourse.hostname}\"\n"}, "description": "The `from:` email address used when\nsending all essential system emails. The domain specified\nhere must have SPF, DKIM and reverse PTR records set\ncorrectly for email to arrive.\n", "loc": ["services", "discourse", "mail", "notificationEmailAddress"], "readOnly": false, "type": "string"}, "services.discourse.mail.outgoing.authentication": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Authentication type to use, see <https://api.rubyonrails.org/classes/ActionMailer/Base.html>\n", "loc": ["services", "discourse", "mail", "outgoing", "authentication"], "readOnly": false, "type": "null or one of \"plain\", \"login\", \"cram_md5\""}, "services.discourse.mail.outgoing.domain": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "config.services.discourse.hostname"}, "description": "HELO domain to use for outgoing mail.\n", "loc": ["services", "discourse", "mail", "outgoing", "domain"], "readOnly": false, "type": "string"}, "services.discourse.mail.outgoing.enableStartTLSAuto": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to try to use StartTLS.\n", "loc": ["services", "discourse", "mail", "outgoing", "enableStartTLSAuto"], "readOnly": false, "type": "boolean"}, "services.discourse.mail.outgoing.forceTLS": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force implicit TLS as per RFC 8314 3.3.\n", "loc": ["services", "discourse", "mail", "outgoing", "forceTLS"], "readOnly": false, "type": "boolean"}, "services.discourse.mail.outgoing.opensslVerifyMode": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"peer\""}, "description": "How OpenSSL checks the certificate, see <https://api.rubyonrails.org/classes/ActionMailer/Base.html>\n", "loc": ["services", "discourse", "mail", "outgoing", "opensslVerifyMode"], "readOnly": false, "type": "string"}, "services.discourse.mail.outgoing.passwordFile": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password of the SMTP server account.\n\nThis should be a string, not a nix path, since nix paths\nare copied into the world-readable nix store.\n", "loc": ["services", "discourse", "mail", "outgoing", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.discourse.mail.outgoing.port": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "The port of the SMTP server Discourse should use to\nsend email.\n", "loc": ["services", "discourse", "mail", "outgoing", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.discourse.mail.outgoing.serverAddress": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The address of the SMTP server Discourse should use to\nsend email.\n", "loc": ["services", "discourse", "mail", "outgoing", "serverAddress"], "readOnly": false, "type": "string"}, "services.discourse.mail.outgoing.username": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The username of the SMTP server.\n", "loc": ["services", "discourse", "mail", "outgoing", "username"], "readOnly": false, "type": "null or string"}, "services.discourse.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether an `nginx` virtual host should be\nset up to serve Discourse. Only disable if you're planning\nto use a different web server, which is not recommended.\n", "loc": ["services", "discourse", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.discourse.package": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "pkgs.discourse"}, "description": "The discourse package to use.\n", "loc": ["services", "discourse", "package"], "readOnly": false, "type": "package"}, "services.discourse.plugins": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Plugins to install as part of Discourse, expressed as a list of derivations.\n", "example": {"_type": "literalExpression", "text": "with config.services.discourse.package.plugins; [\n  discourse-canned-replies\n  discourse-github\n];\n"}, "loc": ["services", "discourse", "plugins"], "readOnly": false, "type": "list of package"}, "services.discourse.redis.dbNumber": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Redis database number.\n", "loc": ["services", "discourse", "redis", "dbNumber"], "readOnly": false, "type": "signed integer"}, "services.discourse.redis.host": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Redis server hostname.\n", "loc": ["services", "discourse", "redis", "host"], "readOnly": false, "type": "string"}, "services.discourse.redis.passwordFile": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the Redis password.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "discourse", "redis", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.discourse.redis.useSSL": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "config.services.discourse.redis.host != \"localhost\""}, "description": "Connect to Redis with SSL.\n", "loc": ["services", "discourse", "redis", "useSSL"], "readOnly": false, "type": "boolean"}, "services.discourse.secretKeyBaseFile": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the\n`secret_key_base` secret.\n\nDiscourse uses `secret_key_base` to encrypt\nthe cookie store, which contains session data, and to digest\nuser auth tokens.\n\nNeeds to be a 64 byte long string of hexadecimal\ncharacters. You can generate one by running\n\n```\nopenssl rand -hex 64 >/path/to/secret_key_base_file\n```\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/secret_key_base\""}, "loc": ["services", "discourse", "secretKeyBaseFile"], "readOnly": false, "type": "null or absolute path"}, "services.discourse.sidekiqProcesses": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "How many Sidekiq processes should be spawned.\n", "loc": ["services", "discourse", "sidekiqProcesses"], "readOnly": false, "type": "signed integer"}, "services.discourse.siteSettings": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Discourse site settings. These are the settings that can be\nchanged from the UI. This only defines their default values:\nthey can still be overridden from the UI.\n\nAvailable settings can be found by looking in the\n[site_settings.yml](https://github.com/discourse/discourse/blob/master/config/site_settings.yml)\nfile of the upstream distribution. To find a setting's path,\nyou only need to care about the first two levels; i.e. its\ncategory and name. See the example.\n\nSettings containing secret data should be set to an\nattribute set containing the attribute\n`_secret` - a string pointing to a file\ncontaining the value the option should be set to. See the\nexample to get a better picture of this: in the resulting\n{file}`config/nixos_site_settings.json` file,\nthe `login.github_client_secret` key will\nbe set to the contents of the\n{file}`/run/keys/discourse_github_client_secret`\nfile.\n", "example": {"_type": "literalExpression", "text": "{\n  required = {\n    title = \"My Cats\";\n    site_description = \"Discuss My Cats (and be nice plz)\";\n  };\n  login = {\n    enable_github_logins = true;\n    github_client_id = \"a2f6dfe838cb3206ce20\";\n    github_client_secret._secret = /run/keys/discourse_github_client_secret;\n  };\n};\n"}, "loc": ["services", "discourse", "siteSettings"], "readOnly": false, "type": "JSON value"}, "services.discourse.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the server SSL certificate. Set this to enable\nSSL.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/ssl.cert\""}, "loc": ["services", "discourse", "sslCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.discourse.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the server SSL certificate key. Set this to\nenable SSL.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/ssl.key\""}, "loc": ["services", "discourse", "sslCertificateKey"], "readOnly": false, "type": "null or absolute path"}, "services.discourse.unicornTimeout": {"declarations": ["nixos/modules/services/web-apps/discourse.nix"], "default": {"_type": "literalExpression", "text": "30"}, "description": "Time in seconds before a request to Unicorn times out.\n\nThis can be raised if the system Discourse is running on is\ntoo slow to handle many requests within 30 seconds.\n", "loc": ["services", "discourse", "unicornTimeout"], "readOnly": false, "type": "signed integer"}, "services.disnix.enable": {"declarations": ["nixos/modules/services/misc/disnix.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Disnix.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "disnix", "enable"], "readOnly": false, "type": "boolean"}, "services.disnix.enableMultiUser": {"declarations": ["nixos/modules/services/misc/disnix.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to support multi-user mode by enabling the Disnix D-Bus service", "loc": ["services", "disnix", "enableMultiUser"], "readOnly": false, "type": "boolean"}, "services.disnix.enableProfilePath": {"declarations": ["nixos/modules/services/misc/disnix.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable exposing the Disnix profiles in the system's PATH.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "disnix", "enableProfilePath"], "readOnly": false, "type": "boolean"}, "services.disnix.package": {"declarations": ["nixos/modules/services/misc/disnix.nix"], "default": {"_type": "literalExpression", "text": "pkgs.disnix"}, "description": "The disnix package to use.", "loc": ["services", "disnix", "package"], "readOnly": false, "type": "package"}, "services.disnix.profiles": {"declarations": ["nixos/modules/services/misc/disnix.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"default\"\n]"}, "description": "Names of the Disnix profiles to expose in the system's PATH", "loc": ["services", "disnix", "profiles"], "readOnly": false, "type": "list of string"}, "services.disnix.useWebServiceInterface": {"declarations": ["nixos/modules/services/misc/disnix.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the DisnixWebService interface running on Apache Tomcat.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "disnix", "useWebServiceInterface"], "readOnly": false, "type": "boolean"}, "services.displayManager.autoLogin": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Auto login configuration attrset.\n", "loc": ["services", "displayManager", "autoLogin"], "readOnly": false, "type": "submodule"}, "services.displayManager.autoLogin.enable": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "config.services.displayManager.autoLogin.user != null"}, "description": "Automatically log in as {option}`autoLogin.user`.\n", "loc": ["services", "displayManager", "autoLogin", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.autoLogin.user": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User to be used for the automatic login.\n", "loc": ["services", "displayManager", "autoLogin", "user"], "readOnly": false, "type": "null or string"}, "services.displayManager.cosmic-greeter.enable": {"declarations": ["nixos/modules/services/display-managers/cosmic-greeter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable COSMIC greeter.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "cosmic-greeter", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.cosmic-greeter.package": {"declarations": ["nixos/modules/services/display-managers/cosmic-greeter.nix"], "default": {"_type": "literalExpression", "text": "pkgs.cosmic-greeter"}, "description": "The cosmic-greeter package to use.", "loc": ["services", "displayManager", "cosmic-greeter", "package"], "readOnly": false, "type": "package"}, "services.displayManager.defaultSession": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Graphical session to pre-select in the session chooser (only effective for GDM, LightDM and SDDM).\n\nOn GDM, LightDM and SDDM, it will also be used as a session for auto-login.\n\nSet this option to empty string to get an error with a list of currently available sessions.\n", "example": {"_type": "literalExpression", "text": "\"gnome\""}, "loc": ["services", "displayManager", "defaultSession"], "readOnly": false, "type": "session name"}, "services.displayManager.dms-greeter.compositor.customConfig": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Custom compositor configuration to use for the greeter session.\n\nThis configuration is written to a file and passed to the compositor\nwhen launching the greeter. The format and available options depend\non the selected compositor.\n\nLeave empty to use the system's default compositor configuration.\n", "example": {"_type": "literalExpression", "text": "''\n  # Niri example\n  input {\n      keyboard {\n          xkb {\n              layout \"us\"\n          }\n      }\n  }\n''"}, "loc": ["services", "displayManager", "dms-greeter", "compositor", "customConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.displayManager.dms-greeter.compositor.name": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "description": "The Wayland compositor to run the greeter in.\n\nThe specified compositor must be enabled via its corresponding\n`programs.<compositor>.enable` option.\n\nSupported compositors:\n- niri: A scrollable-tiling Wayland compositor\n- hyprland: A dynamic tiling Wayland compositor\n- sway: An i3-compatible Wayland compositor\n", "example": {"_type": "literalExpression", "text": "\"niri\""}, "loc": ["services", "displayManager", "dms-greeter", "compositor", "name"], "readOnly": false, "type": "one of \"niri\", \"hyprland\", \"sway\""}, "services.displayManager.dms-greeter.configFiles": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of DankMaterialShell configuration files to copy into the greeter\ndata directory at `/var/lib/dms-greeter`.\n\nThis is useful for preserving user preferences like wallpapers, themes,\nand other settings in the greeter screen.\n\n::: {.tip}\nUse {option}`configHome` instead if your configuration files are in\nstandard XDG locations.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  \"/home/user/.config/DankMaterialShell/settings.json\"\n  \"/home/user/.local/state/DankMaterialShell/session.json\"\n]\n"}, "loc": ["services", "displayManager", "dms-greeter", "configFiles"], "readOnly": false, "type": "list of absolute path"}, "services.displayManager.dms-greeter.configHome": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a user's home directory from which to copy DankMaterialShell\nconfiguration files.\n\nWhen set, the following files will be automatically copied to the greeter:\n- `~/.config/DankMaterialShell/settings.json`\n- `~/.local/state/DankMaterialShell/session.json`\n- `~/.cache/DankMaterialShell/dms-colors.json`\n\nIf your configuration files are in non-standard locations, use the\n{option}`configFiles` option instead.\n", "example": {"_type": "literalExpression", "text": "\"/home/alice\""}, "loc": ["services", "displayManager", "dms-greeter", "configHome"], "readOnly": false, "type": "null or string"}, "services.displayManager.dms-greeter.enable": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DankMaterialShell greeter.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "dms-greeter", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.dms-greeter.logs.path": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "\"/tmp/dms-greeter.log\""}, "description": "File path where DMS greeter logs will be saved.\n\nThis is useful for debugging greeter issues. Logs will include\noutput from both the greeter and the compositor.\n", "example": {"_type": "literalExpression", "text": "\"/var/log/dms-greeter.log\""}, "loc": ["services", "displayManager", "dms-greeter", "logs", "path"], "readOnly": false, "type": "absolute path"}, "services.displayManager.dms-greeter.logs.save": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable saving logs from the DMS greeter to a file.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "dms-greeter", "logs", "save"], "readOnly": false, "type": "boolean"}, "services.displayManager.dms-greeter.package": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "if config.programs.dms-shell.enable\nthen config.programs.dms-shell.package\nelse pkgs.dms-shell;\n"}, "description": "The DankMaterialShell package to use for the greeter.\n\nDefaults to the package from `programs.dms-shell` if it is enabled,\notherwise defaults to `pkgs.dms-shell`.\n", "loc": ["services", "displayManager", "dms-greeter", "package"], "readOnly": false, "type": "package"}, "services.displayManager.dms-greeter.quickshell.package": {"declarations": ["nixos/modules/services/display-managers/dms-greeter.nix"], "default": {"_type": "literalExpression", "text": "if config.programs.dms-shell.enable\nthen config.programs.dms-shell.quickshell.package\nelse pkgs.quickshell;\n"}, "description": "The Quickshell package to use for the greeter.\n\nDefaults to the quickshell package from `programs.dms-shell` if it is enabled,\notherwise defaults to `pkgs.quickshell`.\n", "loc": ["services", "displayManager", "dms-greeter", "quickshell", "package"], "readOnly": false, "type": "package"}, "services.displayManager.enable": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable shared display manager integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.gdm.autoLogin.delay": {"declarations": ["nixos/modules/services/display-managers/gdm.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Seconds of inactivity after which the autologin will be performed.\n", "loc": ["services", "displayManager", "gdm", "autoLogin", "delay"], "readOnly": false, "type": "signed integer"}, "services.displayManager.gdm.autoSuspend": {"declarations": ["nixos/modules/services/display-managers/gdm.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "On the GNOME Display Manager login screen, suspend the machine after inactivity.\n(Does not affect automatic suspend while logged in, or at lock screen.)\n", "loc": ["services", "displayManager", "gdm", "autoSuspend"], "readOnly": false, "type": "boolean"}, "services.displayManager.gdm.banner": {"declarations": ["nixos/modules/services/display-managers/gdm.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional message to display on the login screen.\n", "example": {"_type": "literalExpression", "text": "''\n  foo\n  bar\n  baz\n''"}, "loc": ["services", "displayManager", "gdm", "banner"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.displayManager.gdm.debug": {"declarations": ["nixos/modules/services/display-managers/gdm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debugging messages in GDM.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "gdm", "debug"], "readOnly": false, "type": "boolean"}, "services.displayManager.gdm.enable": {"declarations": ["nixos/modules/services/display-managers/gdm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GDM, the GNOME Display Manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "gdm", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.gdm.extraPackages": {"declarations": ["nixos/modules/services/display-managers/gdm.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional packages to add to XDG_DATA_DIRS for GDM.\nThe `/share` directory of each package will be added to the data path.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.gnome-themes-extra ]"}, "loc": ["services", "displayManager", "gdm", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.displayManager.gdm.settings": {"declarations": ["nixos/modules/services/display-managers/gdm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options passed to the gdm daemon.\nSee [here](https://help.gnome.org/admin/gdm/stable/configuration.html.en#daemonconfig) for supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  debug = {\n    enable = true;\n  };\n}"}, "loc": ["services", "displayManager", "gdm", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.displayManager.generic.enable": {"declarations": ["nixos/modules/services/display-managers/generic.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable generic display manager integration - deprecated.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "generic", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.generic.environment": {"declarations": ["nixos/modules/services/display-managers/generic.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables needed by the display manager.", "loc": ["services", "displayManager", "generic", "environment"], "readOnly": false, "type": "attribute set of unspecified value"}, "services.displayManager.generic.execCmd": {"declarations": ["nixos/modules/services/display-managers/generic.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Command to start the display manager.", "example": {"_type": "literalExpression", "text": "\"${pkgs.lightdm}/bin/lightdm\""}, "loc": ["services", "displayManager", "generic", "execCmd"], "readOnly": false, "type": "null or string"}, "services.displayManager.generic.preStart": {"declarations": ["nixos/modules/services/display-managers/generic.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Script executed before the display manager is started.", "example": {"_type": "literalExpression", "text": "\"rm -f /var/log/my-display-manager.log\""}, "loc": ["services", "displayManager", "generic", "preStart"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.displayManager.hiddenUsers": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"nobody\"\n]"}, "description": "A list of users which will not be shown in the display manager.\n", "loc": ["services", "displayManager", "hiddenUsers"], "readOnly": false, "type": "list of string"}, "services.displayManager.lemurs.enable": {"declarations": ["nixos/modules/services/display-managers/lemurs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lemurs, a customizable TUI display/login manager.\n\n::: {.note}\nFor Wayland compositors, your user must be in the \"seat\" group.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "lemurs", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.lemurs.package": {"declarations": ["nixos/modules/services/display-managers/lemurs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lemurs"}, "description": "The lemurs package to use.", "loc": ["services", "displayManager", "lemurs", "package"], "readOnly": false, "type": "package"}, "services.displayManager.lemurs.settings": {"declarations": ["nixos/modules/services/display-managers/lemurs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for lemurs, provided as a Nix attribute set and automatically\nserialized to TOML.\nSee [lemurs configuration documentation](https://github.com/coastalwhite/lemurs/blob/main/extra/config.toml) for available options.\n", "example": {"_type": "literalExpression", "text": "{\n  do_log = true;\n}\n"}, "loc": ["services", "displayManager", "lemurs", "settings"], "readOnly": false, "type": "TOML value"}, "services.displayManager.logToFile": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the display manager redirects the output of the\nsession script to {file}`~/.xsession-errors`.\n", "loc": ["services", "displayManager", "logToFile"], "readOnly": false, "type": "boolean"}, "services.displayManager.logToJournal": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the display manager redirects the output of the\nsession script to the systemd journal.\n", "loc": ["services", "displayManager", "logToJournal"], "readOnly": false, "type": "boolean"}, "services.displayManager.ly.enable": {"declarations": ["nixos/modules/services/display-managers/ly.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ly as the display manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "ly", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.ly.package": {"declarations": ["nixos/modules/services/display-managers/ly.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ly"}, "description": "The ly package to use.", "loc": ["services", "displayManager", "ly", "package"], "readOnly": false, "type": "package"}, "services.displayManager.ly.settings": {"declarations": ["nixos/modules/services/display-managers/ly.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra settings merged in and overwriting defaults in config.ini.\n", "example": {"_type": "literalExpression", "text": "{\n  load = false;\n  save = false;\n}"}, "loc": ["services", "displayManager", "ly", "settings"], "readOnly": false, "type": "attribute set of (INI atom (null, bool, int, float or string))"}, "services.displayManager.ly.x11Support": {"declarations": ["nixos/modules/services/display-managers/ly.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable support for X11", "loc": ["services", "displayManager", "ly", "x11Support"], "readOnly": false, "type": "boolean"}, "services.displayManager.plasma-login-manager.enable": {"declarations": ["nixos/modules/services/display-managers/plasma-login-manager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Plasma Login Manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "plasma-login-manager", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.plasma-login-manager.package": {"declarations": ["nixos/modules/services/display-managers/plasma-login-manager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kdePackages.plasma-login-manager"}, "description": "The plasma-login-manager package to use.", "loc": ["services", "displayManager", "plasma-login-manager", "package"], "readOnly": false, "type": "package"}, "services.displayManager.plasma-login-manager.settings": {"declarations": ["nixos/modules/services/display-managers/plasma-login-manager.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional settings for Plasma Login Manager (see `man plasmalogin.conf`)", "example": {"_type": "literalExpression", "text": "{\n  Users = {\n    ReuseSession = false;\n  };\n}"}, "loc": ["services", "displayManager", "plasma-login-manager", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.displayManager.sddm.autoLogin.minimumUid": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Minimum user ID for auto-login user.\n", "loc": ["services", "displayManager", "sddm", "autoLogin", "minimumUid"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.displayManager.sddm.autoLogin.relogin": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true automatic login will kick in again on session exit (logout), otherwise it\nwill only log in automatically when the display-manager is started.\n", "loc": ["services", "displayManager", "sddm", "autoLogin", "relogin"], "readOnly": false, "type": "boolean"}, "services.displayManager.sddm.autoNumlock": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable numlock at login.\n", "loc": ["services", "displayManager", "sddm", "autoNumlock"], "readOnly": false, "type": "boolean"}, "services.displayManager.sddm.enable": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable sddm as the display manager.\n", "loc": ["services", "displayManager", "sddm", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.sddm.enableHidpi": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable automatic HiDPI mode.\n", "loc": ["services", "displayManager", "sddm", "enableHidpi"], "readOnly": false, "type": "boolean"}, "services.displayManager.sddm.extraPackages": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "\"[]\""}, "description": "Extra Qt plugins / QML libraries to add to the environment.\n", "loc": ["services", "displayManager", "sddm", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.displayManager.sddm.package": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kdePackages.sddm"}, "description": "The sddm package to use.", "loc": ["services", "displayManager", "sddm", "package"], "readOnly": false, "type": "package"}, "services.displayManager.sddm.settings": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra settings merged in and overwriting defaults in sddm.conf.\n", "example": {"_type": "literalExpression", "text": "{\n  Autologin = {\n    Session = \"plasma.desktop\";\n    User = \"john\";\n  };\n}"}, "loc": ["services", "displayManager", "sddm", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.displayManager.sddm.setupScript": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A script to execute when starting the display server. DEPRECATED, please\nuse {option}`services.xserver.displayManager.setupCommands`.\n", "example": {"_type": "literalExpression", "text": "''\n  # workaround for using NVIDIA Optimus without Bumblebee\n  xrandr --setprovideroutputsource modesetting NVIDIA-0\n  xrandr --auto\n''"}, "loc": ["services", "displayManager", "sddm", "setupScript"], "readOnly": false, "type": "string"}, "services.displayManager.sddm.stopScript": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A script to execute when stopping the display server.\n", "loc": ["services", "displayManager", "sddm", "stopScript"], "readOnly": false, "type": "string"}, "services.displayManager.sddm.theme": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Greeter theme to use.\n", "example": {"_type": "literalExpression", "text": "\"${pkgs.where-is-my-sddm-theme.override { variants = [ \"qt5\" ]; }}/share/sddm/themes/where_is_my_sddm_theme_qt5\""}, "loc": ["services", "displayManager", "sddm", "theme"], "readOnly": false, "type": "string"}, "services.displayManager.sddm.wayland.compositor": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "\"weston\""}, "description": "The compositor to use: kwin, weston", "loc": ["services", "displayManager", "sddm", "wayland", "compositor"], "readOnly": false, "type": "one of \"kwin\", \"weston\""}, "services.displayManager.sddm.wayland.enable": {"declarations": ["nixos/modules/services/display-managers/sddm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable experimental Wayland support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "displayManager", "sddm", "wayland", "enable"], "readOnly": false, "type": "boolean"}, "services.displayManager.sessionPackages": {"declarations": ["nixos/modules/services/display-managers/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of packages containing x11 or wayland session files to be passed to the display manager.\n", "loc": ["services", "displayManager", "sessionPackages"], "readOnly": false, "type": "list of package with provided sessions"}, "services.distccd.allowedClients": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "description": "Client IPs which are allowed to connect to distccd in CIDR notation.\n\nAnyone who can connect to the distccd server can run arbitrary\ncommands on that system as the distcc user, therefore you should use\nthis judiciously.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"192.168.0.0/24\"\n  \"10.0.0.0/24\"\n]"}, "loc": ["services", "distccd", "allowedClients"], "readOnly": false, "type": "list of string"}, "services.distccd.enable": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable distccd, a distributed C/C++ compiler.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "distccd", "enable"], "readOnly": false, "type": "boolean"}, "services.distccd.jobTimeout": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum duration, in seconds, of a single compilation request.\n", "loc": ["services", "distccd", "jobTimeout"], "readOnly": false, "type": "null or signed integer"}, "services.distccd.logLevel": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "\"warning\""}, "description": "Set the minimum severity of error that will be included in the log\nfile. Useful if you only want to see error messages rather than an\nentry for each connection.\n", "loc": ["services", "distccd", "logLevel"], "readOnly": false, "type": "null or one of \"critical\", \"error\", \"warning\", \"notice\", \"info\", \"debug\""}, "services.distccd.maxJobs": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of tasks distccd should execute at lib.any time.\n", "loc": ["services", "distccd", "maxJobs"], "readOnly": false, "type": "null or signed integer"}, "services.distccd.nice": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Niceness of the compilation tasks.\n", "loc": ["services", "distccd", "nice"], "readOnly": false, "type": "null or integer between -20 and 19 (both inclusive)"}, "services.distccd.openFirewall": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Opens the specified TCP port for distcc.\n", "loc": ["services", "distccd", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.distccd.package": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.distcc"}, "description": "The distcc package to use.", "loc": ["services", "distccd", "package"], "readOnly": false, "type": "package"}, "services.distccd.port": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "3632"}, "description": "The TCP port which distccd will listen on.\n", "loc": ["services", "distccd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.distccd.stats.enable": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable statistics reporting via HTTP server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "distccd", "stats", "enable"], "readOnly": false, "type": "boolean"}, "services.distccd.stats.port": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "3633"}, "description": "The TCP port which the distccd statistics HTTP server will listen\non.\n", "loc": ["services", "distccd", "stats", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.distccd.zeroconf": {"declarations": ["nixos/modules/services/development/distccd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to register via mDNS/DNS-SD\n", "loc": ["services", "distccd", "zeroconf"], "readOnly": false, "type": "boolean"}, "services.dkimproxy-out.domains": {"declarations": ["nixos/modules/services/mail/dkimproxy-out.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of domains DKIMproxy can sign for.", "example": {"_type": "literalExpression", "text": "[\n  \"example.org\"\n  \"example.com\"\n]"}, "loc": ["services", "dkimproxy-out", "domains"], "readOnly": false, "type": "list of string"}, "services.dkimproxy-out.enable": {"declarations": ["nixos/modules/services/mail/dkimproxy-out.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dkimproxy_out.\n\nNote that a key will be auto-generated, and can be found in\n/var/lib/dkimproxy-out.\n", "loc": ["services", "dkimproxy-out", "enable"], "readOnly": false, "type": "boolean"}, "services.dkimproxy-out.keySize": {"declarations": ["nixos/modules/services/mail/dkimproxy-out.nix"], "default": {"_type": "literalExpression", "text": "2048"}, "description": "Size of the RSA key to use to sign outgoing emails. Note that the\nmaximum mandatorily verified as per RFC6376 is 2048.\n", "loc": ["services", "dkimproxy-out", "keySize"], "readOnly": false, "type": "signed integer"}, "services.dkimproxy-out.listen": {"declarations": ["nixos/modules/services/mail/dkimproxy-out.nix"], "description": "Address:port DKIMproxy should listen on.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:10027\""}, "loc": ["services", "dkimproxy-out", "listen"], "readOnly": false, "type": "string"}, "services.dkimproxy-out.relay": {"declarations": ["nixos/modules/services/mail/dkimproxy-out.nix"], "description": "Address:port DKIMproxy should forward mail to.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:10028\""}, "loc": ["services", "dkimproxy-out", "relay"], "readOnly": false, "type": "string"}, "services.dkimproxy-out.selector": {"declarations": ["nixos/modules/services/mail/dkimproxy-out.nix"], "description": "The selector to use for DKIM key identification.\n\nFor example, if 'selector1' is used here, then for each domain\n'example.org' given in `domain`, 'selector1._domainkey.example.org'\nshould contain the TXT record indicating the public key is the one\nin /var/lib/dkimproxy-out/public.key: \"v=DKIM1; t=s; p=[THE PUBLIC KEY]\".\n", "example": {"_type": "literalExpression", "text": "\"selector1\""}, "loc": ["services", "dkimproxy-out", "selector"], "readOnly": false, "type": "string"}, "services.dleyna.enable": {"declarations": ["nixos/modules/services/desktops/dleyna.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dleyna-renderer and dleyna-server service,\na DBus service for handling DLNA servers and renderers.\n", "loc": ["services", "dleyna", "enable"], "readOnly": false, "type": "boolean"}, "services.dnscache.clientIps": {"declarations": ["nixos/modules/services/networking/dnscache.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "description": "Client IP addresses (or prefixes) from which to accept connections.", "example": {"_type": "literalExpression", "text": "[\n  \"192.168\"\n  \"172.23.75.82\"\n]"}, "loc": ["services", "dnscache", "clientIps"], "readOnly": false, "type": "list of string"}, "services.dnscache.domainServers": {"declarations": ["nixos/modules/services/networking/dnscache.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Table of {hostname: server} pairs to use as authoritative servers for hosts (and subhosts).\nIf entry for @ is not specified predefined list of root servers is used.\n", "example": {"_type": "literalExpression", "text": "{\n  \"@\" = [\"8.8.8.8\" \"8.8.4.4\"];\n  \"example.com\" = [\"192.168.100.100\"];\n}\n"}, "loc": ["services", "dnscache", "domainServers"], "readOnly": false, "type": "attribute set of list of string"}, "services.dnscache.enable": {"declarations": ["nixos/modules/services/networking/dnscache.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run the dnscache caching dns server.", "loc": ["services", "dnscache", "enable"], "readOnly": false, "type": "boolean"}, "services.dnscache.forwardOnly": {"declarations": ["nixos/modules/services/networking/dnscache.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to treat root servers (for @) as caching\nservers, requesting addresses the same way a client does. This is\nneeded if you want to use e.g. Google DNS as your upstream DNS.\n", "loc": ["services", "dnscache", "forwardOnly"], "readOnly": false, "type": "boolean"}, "services.dnscache.ip": {"declarations": ["nixos/modules/services/networking/dnscache.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "IP address on which to listen for connections.", "loc": ["services", "dnscache", "ip"], "readOnly": false, "type": "string"}, "services.dnsdist.dnscrypt.certLifetime": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "15"}, "description": "The lifetime (in minutes) of the resolver certificate.\nThis will be automatically rotated before expiration.\n", "loc": ["services", "dnsdist", "dnscrypt", "certLifetime"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.dnsdist.dnscrypt.enable": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a DNSCrypt endpoint to dnsdist.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dnsdist", "dnscrypt", "enable"], "readOnly": false, "type": "boolean"}, "services.dnsdist.dnscrypt.listenAddress": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Listen IP address of the endpoint", "loc": ["services", "dnsdist", "dnscrypt", "listenAddress"], "readOnly": false, "type": "string"}, "services.dnsdist.dnscrypt.listenPort": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "443"}, "description": "Listen port of the endpoint", "loc": ["services", "dnsdist", "dnscrypt", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dnsdist.dnscrypt.providerKey": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The filepath to the provider secret key.\nIf not given a new provider key pair will be generated in\n/var/lib/dnsdist on the first run.\n\n::: {.note}\nThe file must be readable by the dnsdist user/group.\n:::\n", "loc": ["services", "dnsdist", "dnscrypt", "providerKey"], "readOnly": false, "type": "null or absolute path"}, "services.dnsdist.dnscrypt.providerName": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "2.dnscrypt-cert.${config.networking.hostName}"}, "description": "The name that will be given to this DNSCrypt resolver.\n\n::: {.note}\nThe provider name must start with `2.dnscrypt-cert.`.\n:::\n", "example": {"_type": "literalExpression", "text": "\"2.dnscrypt-cert.myresolver\""}, "loc": ["services", "dnsdist", "dnscrypt", "providerName"], "readOnly": false, "type": "string"}, "services.dnsdist.enable": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dnsdist domain name server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dnsdist", "enable"], "readOnly": false, "type": "boolean"}, "services.dnsdist.extraConfig": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to dnsdist.conf.\n", "loc": ["services", "dnsdist", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.dnsdist.listenAddress": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Listen IP address", "loc": ["services", "dnsdist", "listenAddress"], "readOnly": false, "type": "string"}, "services.dnsdist.listenPort": {"declarations": ["nixos/modules/services/networking/dnsdist.nix"], "default": {"_type": "literalExpression", "text": "53"}, "description": "Listen port", "loc": ["services", "dnsdist", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dnsmasq.alwaysKeepRunning": {"declarations": ["nixos/modules/services/networking/dnsmasq.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, systemd will always respawn dnsmasq even if shut down manually. The default, disabled, will only restart it on error.\n", "loc": ["services", "dnsmasq", "alwaysKeepRunning"], "readOnly": false, "type": "boolean"}, "services.dnsmasq.configFile": {"declarations": ["nixos/modules/services/networking/dnsmasq.nix"], "default": {"_type": "literalExpression", "text": "Path of dnsmasq config file"}, "description": "Path to the configuration file of dnsmasq.\n", "loc": ["services", "dnsmasq", "configFile"], "readOnly": true, "type": "package"}, "services.dnsmasq.enable": {"declarations": ["nixos/modules/services/networking/dnsmasq.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run dnsmasq.\n", "loc": ["services", "dnsmasq", "enable"], "readOnly": false, "type": "boolean"}, "services.dnsmasq.package": {"declarations": ["nixos/modules/services/networking/dnsmasq.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dnsmasq"}, "description": "The dnsmasq package to use.", "loc": ["services", "dnsmasq", "package"], "readOnly": false, "type": "package"}, "services.dnsmasq.resolveLocalQueries": {"declarations": ["nixos/modules/services/networking/dnsmasq.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether dnsmasq should resolve local queries (i.e. add 127.0.0.1 to\n/etc/resolv.conf).\n", "loc": ["services", "dnsmasq", "resolveLocalQueries"], "readOnly": false, "type": "boolean"}, "services.dnsmasq.settings": {"declarations": ["nixos/modules/services/networking/dnsmasq.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration of dnsmasq. Lists get added one value per line (empty\nlists and false values don't get added, though false values get\nturned to comments). Gets merged with\n\n    {\n      dhcp-leasefile = \"/var/lib/dnsmasq/dnsmasq.leases\";\n      conf-file = optional cfg.resolveLocalQueries \"/etc/dnsmasq-conf.conf\";\n      resolv-file = optional cfg.resolveLocalQueries \"/etc/dnsmasq-resolv.conf\";\n    }\n", "example": {"_type": "literalExpression", "text": "{\n  domain-needed = true;\n  dhcp-range = [ \"192.168.0.2,192.168.0.254\" ];\n}\n"}, "loc": ["services", "dnsmasq", "settings"], "readOnly": false, "type": "open submodule of attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.dnsmasq.settings.server": {"declarations": ["nixos/modules/services/networking/dnsmasq.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The DNS servers which dnsmasq should query.\n", "example": {"_type": "literalExpression", "text": "[\n  \"8.8.8.8\"\n  \"8.8.4.4\"\n]"}, "loc": ["services", "dnsmasq", "settings", "server"], "readOnly": false, "type": "list of string"}, "services.dnsproxy.enable": {"declarations": ["nixos/modules/services/networking/dnsproxy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dnsproxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dnsproxy", "enable"], "readOnly": false, "type": "boolean"}, "services.dnsproxy.flags": {"declarations": ["nixos/modules/services/networking/dnsproxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of extra command-line flags to pass to dnsproxy. For details on the\navailable options, see <https://github.com/AdguardTeam/dnsproxy#usage>.\nKeep in mind that options passed through command-line flags override\nconfig options.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--upstream=1.1.1.1:53\"\n]"}, "loc": ["services", "dnsproxy", "flags"], "readOnly": false, "type": "list of string"}, "services.dnsproxy.package": {"declarations": ["nixos/modules/services/networking/dnsproxy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dnsproxy"}, "description": "The dnsproxy package to use.", "loc": ["services", "dnsproxy", "package"], "readOnly": false, "type": "package"}, "services.dnsproxy.settings": {"declarations": ["nixos/modules/services/networking/dnsproxy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Contents of the {file}`config.yaml` config file.\nThe `--config-path` argument will only be passed if this set is not empty.\n\nSee <https://github.com/AdguardTeam/dnsproxy/blob/master/config.yaml.dist>.\n", "example": {"_type": "literalExpression", "text": "{\n  bootstrap = [\n    \"8.8.8.8:53\"\n  ];\n  listen-addrs = [\n    \"0.0.0.0\"\n  ];\n  listen-ports = [\n    53\n  ];\n  upstream = [\n    \"1.1.1.1:53\"\n  ];\n}\n"}, "loc": ["services", "dnsproxy", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.do-agent.enable": {"declarations": ["nixos/modules/services/monitoring/do-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable do-agent, the DigitalOcean droplet metrics agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "do-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.dockerRegistry.configFile": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "pkgs.writeText \"docker-registry-config.yml\" \"# my custom docker-registry-config.yml ...\""}, "description": "Path to CNCF distribution config file.\n\nSetting this option will override any configuration applied by the extraConfig option.\n", "loc": ["services", "dockerRegistry", "configFile"], "readOnly": false, "type": "absolute path"}, "services.dockerRegistry.enable": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Docker Registry.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dockerRegistry", "enable"], "readOnly": false, "type": "boolean"}, "services.dockerRegistry.enableDelete": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable delete for manifests and blobs.", "loc": ["services", "dockerRegistry", "enableDelete"], "readOnly": false, "type": "boolean"}, "services.dockerRegistry.enableGarbageCollect": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable garbage collect.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dockerRegistry", "enableGarbageCollect"], "readOnly": false, "type": "boolean"}, "services.dockerRegistry.enableRedisCache": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable redis as blob cache.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dockerRegistry", "enableRedisCache"], "readOnly": false, "type": "boolean"}, "services.dockerRegistry.extraConfig": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Docker extra registry configuration.\n", "example": {"_type": "literalExpression", "text": "{\n  log.level = \"debug\";\n}\n"}, "loc": ["services", "dockerRegistry", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.dockerRegistry.garbageCollectDates": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "Specification (in the format described by\n{manpage}`systemd.time(7)`) of the time at\nwhich the garbage collect will occur.\n", "loc": ["services", "dockerRegistry", "garbageCollectDates"], "readOnly": false, "type": "string"}, "services.dockerRegistry.listenAddress": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Docker registry host or ip to bind to.", "loc": ["services", "dockerRegistry", "listenAddress"], "readOnly": false, "type": "string"}, "services.dockerRegistry.openFirewall": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Opens the port used by the firewall.", "loc": ["services", "dockerRegistry", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.dockerRegistry.package": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "pkgs.distribution"}, "description": "The distribution package to use.", "example": {"_type": "literalExpression", "text": "gitlab-container-registry"}, "loc": ["services", "dockerRegistry", "package"], "readOnly": false, "type": "package"}, "services.dockerRegistry.port": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "Docker registry port to bind to.", "loc": ["services", "dockerRegistry", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dockerRegistry.redisPassword": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Set redis password.", "loc": ["services", "dockerRegistry", "redisPassword"], "readOnly": false, "type": "string"}, "services.dockerRegistry.redisUrl": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:6379\""}, "description": "Set redis host and port.", "loc": ["services", "dockerRegistry", "redisUrl"], "readOnly": false, "type": "string"}, "services.dockerRegistry.storagePath": {"declarations": ["nixos/modules/services/misc/docker-registry.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/docker-registry\""}, "description": "Docker registry storage path for the filesystem storage backend. Set to\nnull to configure another backend via extraConfig.\n", "loc": ["services", "dockerRegistry", "storagePath"], "readOnly": false, "type": "null or absolute path"}, "services.docling-serve.enable": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Docling Serve server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "docling-serve", "enable"], "readOnly": false, "type": "boolean"}, "services.docling-serve.environment": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "{\n  DOCLING_SERVE_ENABLE_UI = \"False\";\n}"}, "description": "Extra environment variables for Docling Serve.\nFor more details see <https://github.com/docling-project/docling-serve/blob/main/docs/configuration.md>\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    DOCLING_SERVE_ENABLE_UI = \"True\";\n  }\n''"}, "loc": ["services", "docling-serve", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.docling-serve.environmentFile": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file to be passed to the systemd service.\nUseful for passing secrets to the service to prevent them from being\nworld-readable in the Nix store.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/doclingServeSecrets\""}, "loc": ["services", "docling-serve", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.docling-serve.host": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host address which the Docling Serve server HTTP interface listens to.\n", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "docling-serve", "host"], "readOnly": false, "type": "string"}, "services.docling-serve.openFirewall": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for Docling Serve.\nThis adds `services.Docling Serve.port` to `networking.firewall.allowedTCPPorts`.\n", "loc": ["services", "docling-serve", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.docling-serve.package": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "pkgs.docling-serve"}, "description": "The docling-serve package to use.", "loc": ["services", "docling-serve", "package"], "readOnly": false, "type": "package"}, "services.docling-serve.port": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "5001"}, "description": "Which port the Docling Serve server listens to.\n", "example": {"_type": "literalExpression", "text": "11111"}, "loc": ["services", "docling-serve", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.docling-serve.stateDir": {"declarations": ["nixos/modules/services/misc/docling-serve.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/docling-serve\""}, "description": "State directory of Docling Serve.", "example": {"_type": "literalExpression", "text": "\"/home/foo\""}, "loc": ["services", "docling-serve", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.documize.cert": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The {file}`cert.pem` file used for https.\n", "loc": ["services", "documize", "cert"], "readOnly": false, "type": "null or string"}, "services.documize.db": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "description": "Database specific connection string for example:\n- MySQL/Percona/MariaDB:\n  `user:password@tcp(host:3306)/documize`\n- MySQLv8+:\n  `user:password@tcp(host:3306)/documize?allowNativePasswords=true`\n- PostgreSQL:\n  `host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable`\n- MSSQL:\n  `sqlserver://username:password@localhost:1433?database=Documize` or\n  `sqlserver://sa@localhost/SQLExpress?database=Documize`\n", "loc": ["services", "documize", "db"], "readOnly": false, "type": "string"}, "services.documize.dbtype": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "\"postgresql\""}, "description": "Specify the database provider: `mysql`, `percona`, `mariadb`, `postgresql`, `sqlserver`\n", "loc": ["services", "documize", "dbtype"], "readOnly": false, "type": "one of \"mysql\", \"percona\", \"mariadb\", \"postgresql\", \"sqlserver\""}, "services.documize.enable": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Documize Wiki.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "documize", "enable"], "readOnly": false, "type": "boolean"}, "services.documize.forcesslport": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Redirect given http port number to TLS.\n", "loc": ["services", "documize", "forcesslport"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.documize.key": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The {file}`key.pem` file used for https.\n", "loc": ["services", "documize", "key"], "readOnly": false, "type": "null or string"}, "services.documize.location": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "reserved\n", "loc": ["services", "documize", "location"], "readOnly": false, "type": "null or string"}, "services.documize.offline": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set `true` for offline mode.\n", "loc": ["services", "documize", "offline"], "readOnly": false, "type": "boolean"}, "services.documize.package": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "pkgs.documize-community"}, "description": "The documize-community package to use.", "loc": ["services", "documize", "package"], "readOnly": false, "type": "package"}, "services.documize.port": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "5001"}, "description": "The http/https port number.\n", "loc": ["services", "documize", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.documize.salt": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The salt string used to encode JWT tokens, if not set a random value will be generated.\n", "example": {"_type": "literalExpression", "text": "\"3edIYV6c8B28b19fh\""}, "loc": ["services", "documize", "salt"], "readOnly": false, "type": "null or string"}, "services.documize.stateDirectoryName": {"declarations": ["nixos/modules/services/web-apps/documize.nix"], "default": {"_type": "literalExpression", "text": "\"documize\""}, "description": "The name of the directory below {file}`/var/lib/private`\nwhere documize runs in and stores, for example, backups.\n", "loc": ["services", "documize", "stateDirectoryName"], "readOnly": false, "type": "string"}, "services.docuseal.enable": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DocuSeal, open source document signing.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "docuseal", "enable"], "readOnly": false, "type": "boolean"}, "services.docuseal.extraConfig": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to pass to DocuSeal services.\n", "loc": ["services", "docuseal", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.docuseal.extraEnvFiles": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra environment files to pass to DocuSeal services. Useful for passing down environmental secrets.\ne.g. DATABASE_URL\n", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/docuseal/s3config.env\"\n]"}, "loc": ["services", "docuseal", "extraEnvFiles"], "readOnly": false, "type": "list of absolute path"}, "services.docuseal.host": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "DocuSeal host.", "loc": ["services", "docuseal", "host"], "readOnly": false, "type": "string"}, "services.docuseal.package": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "pkgs.docuseal"}, "description": "The docuseal package to use.", "loc": ["services", "docuseal", "package"], "readOnly": false, "type": "package"}, "services.docuseal.port": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "DocuSeal port.", "loc": ["services", "docuseal", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.docuseal.redis.createLocally": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to create a local redis automatically.", "loc": ["services", "docuseal", "redis", "createLocally"], "readOnly": false, "type": "boolean"}, "services.docuseal.redis.host": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Redis server address.\n", "loc": ["services", "docuseal", "redis", "host"], "readOnly": false, "type": "string"}, "services.docuseal.redis.name": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "\"docuseal\""}, "description": "Name of the redis server. Only used if `createLocally` is set to true.\n", "loc": ["services", "docuseal", "redis", "name"], "readOnly": false, "type": "string"}, "services.docuseal.redis.port": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "6379"}, "description": "Port of the redis server.", "loc": ["services", "docuseal", "redis", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.docuseal.secretKeyBaseFile": {"declarations": ["nixos/modules/services/web-apps/docuseal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/docuseal/secrets/secret-key-base\""}, "description": "Path to file containing the secret key base.\nA new secret key base can be generated by running:\n\n`openssl rand -hex 64`\n\nIf this file does not exist, it will be created with a new secret key base.\n", "loc": ["services", "docuseal", "secretKeyBaseFile"], "readOnly": false, "type": "absolute path"}, "services.docuum.deletionChunkSize": {"declarations": ["nixos/modules/services/admin/docuum.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Removes specified quantity of images at a time.", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["services", "docuum", "deletionChunkSize"], "readOnly": false, "type": "signed integer"}, "services.docuum.enable": {"declarations": ["nixos/modules/services/admin/docuum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable docuum daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "docuum", "enable"], "readOnly": false, "type": "boolean"}, "services.docuum.keep": {"declarations": ["nixos/modules/services/admin/docuum.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Prevents deletion of images for which repository:tag matches the specified regex.", "example": {"_type": "literalExpression", "text": "[\n  \"^my-image\"\n]"}, "loc": ["services", "docuum", "keep"], "readOnly": false, "type": "list of string"}, "services.docuum.minAge": {"declarations": ["nixos/modules/services/admin/docuum.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the minimum age of images to be considered for deletion.", "example": {"_type": "literalExpression", "text": "\"1d\""}, "loc": ["services", "docuum", "minAge"], "readOnly": false, "type": "null or string"}, "services.docuum.threshold": {"declarations": ["nixos/modules/services/admin/docuum.nix"], "default": {"_type": "literalExpression", "text": "\"10 GB\""}, "description": "Threshold for deletion in bytes, like `10 GB`, `10 GiB`, `10GB` or percentage-based thresholds like `50%`", "example": {"_type": "literalExpression", "text": "\"50%\""}, "loc": ["services", "docuum", "threshold"], "readOnly": false, "type": "string"}, "services.doh-proxy-rust.enable": {"declarations": ["nixos/modules/services/networking/doh-proxy-rust.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable doh-proxy-rust.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "doh-proxy-rust", "enable"], "readOnly": false, "type": "boolean"}, "services.doh-proxy-rust.flags": {"declarations": ["nixos/modules/services/networking/doh-proxy-rust.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of command-line flags to pass to doh-proxy. For details on the\navailable options, see <https://github.com/jedisct1/doh-server#usage>.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--server-address=9.9.9.9:53\"\n]"}, "loc": ["services", "doh-proxy-rust", "flags"], "readOnly": false, "type": "list of string"}, "services.doh-server.configFile": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "description": "The config file for the doh-server.\nSetting this option will override any configuration applied by the `settings` option.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/doh-server.conf\""}, "loc": ["services", "doh-server", "configFile"], "readOnly": false, "type": "absolute path"}, "services.doh-server.enable": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DNS-over-HTTPS server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "doh-server", "enable"], "readOnly": false, "type": "boolean"}, "services.doh-server.package": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dns-over-https"}, "description": "The dns-over-https package to use.", "loc": ["services", "doh-server", "package"], "readOnly": false, "type": "package"}, "services.doh-server.settings": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration of doh-server in toml. See example in <https://github.com/m13253/dns-over-https/blob/master/doh-server/doh-server.conf>", "example": {"_type": "literalExpression", "text": "{\n  listen = [\n    \":8153\"\n  ];\n  upstream = [\n    \"udp:127.0.0.1:53\"\n  ];\n}"}, "loc": ["services", "doh-server", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.doh-server.settings.ecs_allow_non_global_ip": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "By default, non global IP addresses are never forwarded to upstream servers.\nThis is to prevent two things from happening:\n  1. the upstream server knowing your private LAN addresses;\n  2. the upstream server unable to provide geographically near results,\n    or even fail to provide any result.\nHowever, if you are deploying a split tunnel corporation network environment, or for any other reason you want to inhibit this behavior and allow local (eg RFC1918) address to be forwarded, change the following option to \"true\".\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "doh-server", "settings", "ecs_allow_non_global_ip"], "readOnly": false, "type": "boolean"}, "services.doh-server.settings.ecs_use_precise_ip": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If ECS is added to the request, let the full IP address or cap it to 24 or 128 mask. This option is to be used only on private networks where knowledge of the terminal endpoint may be required for security purposes (eg. DNS Firewalling). Not a good option on the internet where IP address may be used to identify the user and not only the approximate location.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "doh-server", "settings", "ecs_use_precise_ip"], "readOnly": false, "type": "boolean"}, "services.doh-server.settings.listen": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1:8053\"\n  \"[::1]:8053\"\n]"}, "description": "HTTP listen address and port", "example": {"_type": "literalExpression", "text": "[\n  \":443\"\n]"}, "loc": ["services", "doh-server", "settings", "listen"], "readOnly": false, "type": "list of string"}, "services.doh-server.settings.log_guessed_client_ip": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable log IP from HTTPS-reverse proxy header: X-Forwarded-For or X-Real-IP\nNote: http uri/useragent log cannot be controlled by this config\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "doh-server", "settings", "log_guessed_client_ip"], "readOnly": false, "type": "boolean"}, "services.doh-server.settings.path": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "\"/dns-query\""}, "description": "HTTP path for resolve application", "example": {"_type": "literalExpression", "text": "\"/dns-query\""}, "loc": ["services", "doh-server", "settings", "path"], "readOnly": false, "type": "string"}, "services.doh-server.settings.timeout": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Upstream timeout", "example": {"_type": "literalExpression", "text": "15"}, "loc": ["services", "doh-server", "settings", "timeout"], "readOnly": false, "type": "signed integer"}, "services.doh-server.settings.tries": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Number of tries if upstream DNS fails", "example": {"_type": "literalExpression", "text": "5"}, "loc": ["services", "doh-server", "settings", "tries"], "readOnly": false, "type": "signed integer"}, "services.doh-server.settings.upstream": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"udp:1.1.1.1:53\"\n  \"udp:1.0.0.1:53\"\n  \"udp:8.8.8.8:53\"\n  \"udp:8.8.4.4:53\"\n]"}, "description": "Upstream DNS resolver.\nIf multiple servers are specified, a random one will be chosen each time.\nYou can use \"udp\", \"tcp\" or \"tcp-tls\" for the type prefix.\nFor \"udp\", UDP will first be used, and switch to TCP when the server asks to or the response is too large.\nFor \"tcp\", only TCP will be used.\nFor \"tcp-tls\", DNS-over-TLS (RFC 7858) will be used to secure the upstream connection.\n", "example": {"_type": "literalExpression", "text": "[\n  \"udp:127.0.0.1:53\"\n]"}, "loc": ["services", "doh-server", "settings", "upstream"], "readOnly": false, "type": "list of string"}, "services.doh-server.settings.verbose": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable logging", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "doh-server", "settings", "verbose"], "readOnly": false, "type": "boolean"}, "services.doh-server.useACMEHost": {"declarations": ["nixos/modules/services/networking/doh-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "example": {"_type": "literalExpression", "text": "\"doh.example.com\""}, "loc": ["services", "doh-server", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.dokuwiki.sites": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more DokuWiki sites to serve", "loc": ["services", "dokuwiki", "sites"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.dokuwiki.sites.<name>.acl": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Access Control Lists: see <https://www.dokuwiki.org/acl>\nMutually exclusive with services.dokuwiki.aclFile\nSet this to a value other than null to take precedence over aclFile option.\n\nWarning: Consider using aclFile instead if you do not\nwant to store the ACL in the world-readable Nix store.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    page = \"start\";\n    actor = \"@external\";\n    level = \"read\";\n  }\n  {\n    page = \"*\";\n    actor = \"@users\";\n    level = \"upload\";\n  }\n]\n"}, "loc": ["services", "dokuwiki", "sites", "<name>", "acl"], "readOnly": false, "type": "null or (list of (submodule))"}, "services.dokuwiki.sites.<name>.acl.*.actor": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "description": "User or group to restrict", "example": {"_type": "literalExpression", "text": "\"@external\""}, "loc": ["services", "dokuwiki", "sites", "<name>", "acl", "*", "actor"], "readOnly": false, "type": "string"}, "services.dokuwiki.sites.<name>.acl.*.level": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "description": "Permission level to restrict the actor(s) to.\nSee <https://www.dokuwiki.org/acl#background_info> for explanation\n", "example": {"_type": "literalExpression", "text": "\"read\""}, "loc": ["services", "dokuwiki", "sites", "<name>", "acl", "*", "level"], "readOnly": false, "type": "one of 4, 16, 2, 0, 1, 8, \"create\", \"delete\", \"edit\", \"none\", \"read\", \"upload\""}, "services.dokuwiki.sites.<name>.acl.*.page": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "description": "Page or namespace to restrict", "example": {"_type": "literalExpression", "text": "\"start\""}, "loc": ["services", "dokuwiki", "sites", "<name>", "acl", "*", "page"], "readOnly": false, "type": "string"}, "services.dokuwiki.sites.<name>.aclFile": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dokuwiki/\u2039name\u203a/acl.auth.php\""}, "description": "Location of the dokuwiki acl rules.\nMutually exclusive with services.dokuwiki.acl which is preferred.\nConsult documentation <https://www.dokuwiki.org/acl> for further instructions.\nExample: <https://github.com/splitbrain/dokuwiki/blob/master/conf/acl.auth.php.dist>\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/dokuwiki/\u2039name\u203a/acl.auth.php\""}, "loc": ["services", "dokuwiki", "sites", "<name>", "aclFile"], "readOnly": false, "type": "null or string"}, "services.dokuwiki.sites.<name>.extraConfigs": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Path(s) to additional configuration files that are then linked to the 'conf' directory.\n", "example": {"_type": "literalExpression", "text": "{\n  \"acronyms.local.conf\" = pkgs.writeText \"acronyms.local.conf\" ''\n    r13y  reproducibility\n  '';\n  \"entities.local.conf\" = ./dokuwiki-entities;\n}\n"}, "loc": ["services", "dokuwiki", "sites", "<name>", "extraConfigs"], "readOnly": false, "type": "attribute set of absolute path"}, "services.dokuwiki.sites.<name>.mergedConfig": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "{\n  useacl = true;\n}\n"}, "description": "Read only representation of the final configuration.\n", "loc": ["services", "dokuwiki", "sites", "<name>", "mergedConfig"], "readOnly": true, "type": "unspecified value"}, "services.dokuwiki.sites.<name>.package": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dokuwiki"}, "description": "The dokuwiki package to use.", "loc": ["services", "dokuwiki", "sites", "<name>", "package"], "readOnly": false, "type": "package"}, "services.dokuwiki.sites.<name>.phpOptions": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for PHP's php.ini file for this dokuwiki site.\n", "example": {"_type": "literalExpression", "text": "{\n  \"opcache.interned_strings_buffer\" = \"8\";\n  \"opcache.max_accelerated_files\" = \"10000\";\n  \"opcache.memory_consumption\" = \"128\";\n  \"opcache.revalidate_freq\" = \"15\";\n  \"opcache.fast_shutdown\" = \"1\";\n}\n"}, "loc": ["services", "dokuwiki", "sites", "<name>", "phpOptions"], "readOnly": false, "type": "attribute set of string"}, "services.dokuwiki.sites.<name>.phpPackage": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "pkgs.php84"}, "description": "The php package to use.", "loc": ["services", "dokuwiki", "sites", "<name>", "phpPackage"], "readOnly": false, "type": "package"}, "services.dokuwiki.sites.<name>.plugins": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of path(s) to respective plugin(s) which are copied into the 'plugin' directory.\n\n::: {.note}\nThese plugins need to be packaged before use, see example.\n:::\n", "example": {"_type": "literalExpression", "text": "let\n  plugin-icalevents = pkgs.stdenv.mkDerivation rec {\n    name = \"icalevents\";\n    version = \"2017-06-16\";\n    src = pkgs.fetchzip {\n      stripRoot = false;\n      url = \"https://github.com/real-or-random/dokuwiki-plugin-icalevents/releases/download/${version}/dokuwiki-plugin-icalevents-${version}.zip\";\n      hash = \"sha256-IPs4+qgEfe8AAWevbcCM9PnyI0uoyamtWeg4rEb+9Wc=\";\n    };\n    installPhase = \"mkdir -p $out; cp -R * $out/\";\n  };\n# And then pass this plugin to the plugin list like this:\nin [ plugin-icalevents ]\n"}, "loc": ["services", "dokuwiki", "sites", "<name>", "plugins"], "readOnly": false, "type": "list of absolute path"}, "services.dokuwiki.sites.<name>.pluginsConfig": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "{\n  authad = false;\n  authldap = false;\n  authmysql = false;\n  authpgsql = false;\n}"}, "description": "List of the dokuwiki (un)loaded plugins.\n", "loc": ["services", "dokuwiki", "sites", "<name>", "pluginsConfig"], "readOnly": false, "type": "attribute set of boolean"}, "services.dokuwiki.sites.<name>.poolConfig": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the DokuWiki PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "dokuwiki", "sites", "<name>", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.dokuwiki.sites.<name>.settings": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "{\n  superuser = \"admin\";\n  useacl = true;\n}"}, "description": "Structural DokuWiki configuration.\nRefer to <https://www.dokuwiki.org/config>\nfor details and supported values.\nSettings can either be directly set from nix,\nloaded from a file using `._file` or obtained from any\nPHP function calls using `._raw`.\n", "example": {"_type": "literalExpression", "text": "{\n  title = \"My Wiki\";\n  userewrite = 1;\n  disableactions = [ \"register\" ]; # Will be concatenated with commas\n  plugin.smtp = {\n    smtp_pass._file = \"/var/run/secrets/dokuwiki/smtp_pass\";\n    smtp_user._raw = \"getenv('DOKUWIKI_SMTP_USER')\";\n  };\n}\n"}, "loc": ["services", "dokuwiki", "sites", "<name>", "settings"], "readOnly": false, "type": "attribute set of anything"}, "services.dokuwiki.sites.<name>.stateDir": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dokuwiki/\u2039name\u203a/data\""}, "description": "Location of the DokuWiki state directory.", "loc": ["services", "dokuwiki", "sites", "<name>", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.dokuwiki.sites.<name>.templates": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of path(s) to respective template(s) which are copied into the 'tpl' directory.\n\n::: {.note}\nThese templates need to be packaged before use, see example.\n:::\n", "example": {"_type": "literalExpression", "text": "let\n  template-bootstrap3 = pkgs.stdenv.mkDerivation rec {\n  name = \"bootstrap3\";\n  version = \"2022-07-27\";\n  src = pkgs.fetchFromGitHub {\n    owner = \"giterlizzi\";\n    repo = \"dokuwiki-template-bootstrap3\";\n    rev = \"v${version}\";\n    hash = \"sha256-B3Yd4lxdwqfCnfmZdp+i/Mzwn/aEuZ0ovagDxuR6lxo=\";\n  };\n  installPhase = \"mkdir -p $out; cp -R * $out/\";\n};\n# And then pass this theme to the template list like this:\nin [ template-bootstrap3 ]\n"}, "loc": ["services", "dokuwiki", "sites", "<name>", "templates"], "readOnly": false, "type": "list of absolute path"}, "services.dokuwiki.sites.<name>.usersFile": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dokuwiki/\u2039name\u203a/users.auth.php\""}, "description": "Location of the dokuwiki users file. List of users. Format:\n\n    login:passwordhash:Real Name:email:groups,comma,separated\n\nCreate passwordHash easily by using:\n\n    mkpasswd -5 password `pwgen 8 1`\n\nExample: <https://github.com/splitbrain/dokuwiki/blob/master/conf/users.auth.php.dist>\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/dokuwiki/\u2039name\u203a/users.auth.php\""}, "loc": ["services", "dokuwiki", "sites", "<name>", "usersFile"], "readOnly": false, "type": "null or string"}, "services.dokuwiki.webserver": {"declarations": ["nixos/modules/services/web-apps/dokuwiki.nix"], "default": {"_type": "literalExpression", "text": "\"nginx\""}, "description": "Whether to use nginx or caddy for virtual host management.\n\nFurther nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.\nSee [](#opt-services.nginx.virtualHosts) for further information.\n\nFurther caddy configuration can be done by adapting `services.caddy.virtualHosts.<name>`.\nSee [](#opt-services.caddy.virtualHosts) for further information.\n", "loc": ["services", "dokuwiki", "webserver"], "readOnly": false, "type": "one of \"nginx\", \"caddy\""}, "services.dolibarr.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "dolibarr", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.dolibarr.database.host": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host address.", "loc": ["services", "dolibarr", "database", "host"], "readOnly": false, "type": "string"}, "services.dolibarr.database.name": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"dolibarr\""}, "description": "Database name.", "loc": ["services", "dolibarr", "database", "name"], "readOnly": false, "type": "string"}, "services.dolibarr.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database password file.", "example": {"_type": "literalExpression", "text": "\"/run/keys/dolibarr-dbpassword\""}, "loc": ["services", "dolibarr", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.database.port": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port.", "loc": ["services", "dolibarr", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dolibarr.database.type": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"mysql\""}, "description": "Database engine to use.", "example": {"_type": "literalExpression", "text": "\"postgresql\""}, "loc": ["services", "dolibarr", "database", "type"], "readOnly": false, "type": "one of \"mysql\", \"postgresql\""}, "services.dolibarr.database.user": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"dolibarr\""}, "description": "Database username.", "loc": ["services", "dolibarr", "database", "user"], "readOnly": false, "type": "string"}, "services.dolibarr.domain": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Domain name of your server.\n", "loc": ["services", "dolibarr", "domain"], "readOnly": false, "type": "string"}, "services.dolibarr.enable": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dolibarr.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dolibarr", "enable"], "readOnly": false, "type": "boolean"}, "services.dolibarr.group": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"dolibarr\""}, "description": "Group account under which dolibarr runs.\n\n::: {.note}\nIf left as the default value this group will automatically be created\non system activation, otherwise you are responsible for\nensuring the group exists before the dolibarr application starts.\n:::\n", "loc": ["services", "dolibarr", "group"], "readOnly": false, "type": "string"}, "services.dolibarr.h2o": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "With this option, you can customize an H2O virtual host which already\nhas sensible defaults for Dolibarr. Set to `{ }` if you do not need any\ncustomization to the virtual host. If enabled, then by default, the\n{option}`serverName` is `${domain}`, If this is set to `null` (the\ndefault), no H2O `hosts` will be configured.\n", "example": {"_type": "literalExpression", "text": "{\n  acme.enable = true;\n  tls.policy = \"force\";\n  compress = \"ON\";\n}\n"}, "loc": ["services", "dolibarr", "h2o"], "readOnly": false, "type": "null or (submodule)"}, "services.dolibarr.h2o.acme": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "ACME options for virtual host.", "loc": ["services", "dolibarr", "h2o", "acme"], "readOnly": false, "type": "null or (submodule)"}, "services.dolibarr.h2o.acme.enable": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let\u2019s Encrypt to sign a certificate for this\nvirtual host. Alternatively, an existing host can be used thru\n{option}`acme.useHost`.\n", "loc": ["services", "dolibarr", "h2o", "acme", "enable"], "readOnly": false, "type": "boolean"}, "services.dolibarr.h2o.acme.root": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don\u2019t put\ncerts or keys in here. Set to `null` to inherit from\nconfig.security.acme.\n", "loc": ["services", "dolibarr", "h2o", "acme", "root"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.h2o.acme.useHost": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An existing Let\u2019s Encrypt certificate to use for this virtual\nhost. This is useful if you have many subdomains and want to\navoid hitting the [rate\nlimit](https://letsencrypt.org/docs/rate-limits). Alternately,\nyou can generate a certificate through {option}`acme.enable`.\nNote that this option neither creates any certificates nor does\nit add subdomains to existing ones\u2009\u2014\u2009you will need to create\nthem manually using [](#opt-security.acme.certs).\n", "loc": ["services", "dolibarr", "h2o", "acme", "useHost"], "readOnly": false, "type": "null or non-empty string"}, "services.dolibarr.h2o.host": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the host address for this virtual host. If unset, the default is to\nlisten on all network interfaces.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "dolibarr", "h2o", "host"], "readOnly": false, "type": "null or non-empty string"}, "services.dolibarr.h2o.http": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "HTTP options for virtual host", "loc": ["services", "dolibarr", "h2o", "http"], "readOnly": false, "type": "null or (submodule)"}, "services.dolibarr.h2o.http.port": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "config.services.h2o.defaultHTTPListenPort\n"}, "description": "Override the default HTTP port for this virtual host.\n", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["services", "dolibarr", "h2o", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dolibarr.h2o.serverAliases": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host\nconfiguration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "dolibarr", "h2o", "serverAliases"], "readOnly": false, "type": "list of non-empty string"}, "services.dolibarr.h2o.serverName": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Server name to be used for this virtual host. Defaults to attribute\nname in hosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "dolibarr", "h2o", "serverName"], "readOnly": false, "type": "null or non-empty string"}, "services.dolibarr.h2o.settings": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attrset to be transformed into YAML for host config. Note that the HTTP\n/ TLS configurations will override these config values. See\n<https://h2o.examp1e.net/configure/base_directives.html#hosts>.\n", "loc": ["services", "dolibarr", "h2o", "settings"], "readOnly": false, "type": "attribute set"}, "services.dolibarr.h2o.tls": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "TLS options for virtual host", "loc": ["services", "dolibarr", "h2o", "tls"], "readOnly": false, "type": "null or (submodule)"}, "services.dolibarr.h2o.tls.extraSettings": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional TLS/SSL-related configuration options. See\n<https://h2o.examp1e.net/configure/base_directives.html#listen-ssl>.\n", "example": {"_type": "literalExpression", "text": "{\n  minimum-version = \"TLSv1.3\";\n}\n"}, "loc": ["services", "dolibarr", "h2o", "tls", "extraSettings"], "readOnly": false, "type": "attribute set"}, "services.dolibarr.h2o.tls.identity": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Key / certificate pairs for the virtual host.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    key-file = \"/path/to/rsa.key\";\n    certificate-file = \"/path/to/rsa.crt\";\n  }\n  {\n    key-file = \"/path/to/ecdsa.key\";\n    certificate-file = \"/path/to/ecdsa.crt\";\n  }\n]\n"}, "loc": ["services", "dolibarr", "h2o", "tls", "identity"], "readOnly": false, "type": "list of (submodule)"}, "services.dolibarr.h2o.tls.identity.*.certificate-file": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "description": "Path to certificate file. See\n<https://h2o.examp1e.net/configure/base_directives.html#certificate-file>.\n", "loc": ["services", "dolibarr", "h2o", "tls", "identity", "*", "certificate-file"], "readOnly": false, "type": "absolute path"}, "services.dolibarr.h2o.tls.identity.*.key-file": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "description": "Path to key file. See\n<https://h2o.examp1e.net/configure/base_directives.html#key-file>.\n", "loc": ["services", "dolibarr", "h2o", "tls", "identity", "*", "key-file"], "readOnly": false, "type": "absolute path"}, "services.dolibarr.h2o.tls.policy": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "description": "`add` will additionally listen for TLS connections. `only` will\ndisable   TLS connections. `force` will redirect non-TLS traffic\nto the TLS connection.\n", "example": {"_type": "literalExpression", "text": "\"force\""}, "loc": ["services", "dolibarr", "h2o", "tls", "policy"], "readOnly": false, "type": "one of \"add\", \"only\", \"force\""}, "services.dolibarr.h2o.tls.port": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "config.services.h2o.defaultTLSListenPort\n"}, "description": "Override the default TLS port for this virtual host.\n", "example": {"_type": "literalExpression", "text": "8443"}, "loc": ["services", "dolibarr", "h2o", "tls", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dolibarr.h2o.tls.quic": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enables HTTP/3 over QUIC on the UDP port for TLS. The attrset\nprovides fine-turning for QUIC behavior, but can be empty. See\n<https://h2o.examp1e.net/configure/http3_directives.html#quic-attributes>.\n", "example": {"_type": "literalExpression", "text": "{\n  amp-limit = 2;\n  handshake-timeout-rtt-multiplier = 300;\n  retry = \"ON\";\n}\n"}, "loc": ["services", "dolibarr", "h2o", "tls", "quic"], "readOnly": false, "type": "null or (attribute set)"}, "services.dolibarr.h2o.tls.recommendations": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default, H2O, without prejudice, will use as many TLS versions &\ncipher suites as it & the TLS library (OpenSSL) can support. The user is\nexpected to hone settings for the security of their server. Setting some\nconstraints is recommended, & if unsure about what TLS settings to use,\nthis option gives curated TLS settings recommendations from Mozilla\u2019s\n\u2018SSL Configuration Generator\u2019 project (see\n<https://ssl-config.mozilla.org>) or read more at Mozilla\u2019s Wiki (see\n<https://wiki.mozilla.org/Security/Server_Side_TLS>).\n\nmodern\n: Services with clients that support TLS 1.3 & don\u2019t need backward\n  compatibility\n\nintermediate\n: General-purpose servers with a variety of clients, recommended for\n  almost all systems\n\nThe default for all virtual hosts can be set with\nservices.h2o.defaultTLSRecommendations, but this value can be overridden\non a per-host basis using services.h2o.hosts.<name>.tls.recommmendations.\nThe settings will also be overidden by manual values set with\nservices.settings.h2o.hosts.<name>.tls.extraSettings.\n\nNOTE: older/weaker ciphers might require overriding the OpenSSL version\nof H2O (such as `openssl_legacy`). This can be done with\nsevices.settings.h2o.package.\n", "example": {"_type": "literalExpression", "text": "\"intermediate\""}, "loc": ["services", "dolibarr", "h2o", "tls", "recommendations"], "readOnly": false, "type": "null or one of \"modern\", \"intermediate\""}, "services.dolibarr.h2o.tls.redirectCode": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` & `forceSSL`. Possible\nusecases include temporary (302, 307) redirects, keeping the\nrequest method & body (307, 308), or explicitly resetting the\nmethod to GET (303). See\n<https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "dolibarr", "h2o", "tls", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.dolibarr.nginx": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "With this option, you can customize an nginx virtual host which already has sensible defaults for Dolibarr.\nSet to {} if you do not need any customization to the virtual host.\nIf enabled, then by default, the {option}`serverName` is\n`${domain}`,\nSSL is active, and certificates are acquired via ACME.\nIf this is set to null (the default), no nginx virtualHost will be configured.\n", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [\n    \"dolibarr.${config.networking.domain}\"\n    \"erp.${config.networking.domain}\"\n  ];\n  enableACME = false;\n}\n"}, "loc": ["services", "dolibarr", "nginx"], "readOnly": false, "type": "null or (submodule)"}, "services.dolibarr.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "dolibarr", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "dolibarr", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "dolibarr", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "dolibarr", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.dolibarr.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "dolibarr", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.nginx.default": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "dolibarr", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "dolibarr", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "dolibarr", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.dolibarr.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "dolibarr", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "dolibarr", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "dolibarr", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "dolibarr", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "dolibarr", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "dolibarr", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "dolibarr", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.dolibarr.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "description": "Listen address.", "loc": ["services", "dolibarr", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.dolibarr.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "dolibarr", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.dolibarr.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "dolibarr", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dolibarr.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "dolibarr", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "dolibarr", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "dolibarr", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.dolibarr.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "dolibarr", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.dolibarr.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.dolibarr.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.dolibarr.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.dolibarr.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.dolibarr.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.dolibarr.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "dolibarr", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "dolibarr", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "dolibarr", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "dolibarr", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.dolibarr.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "dolibarr", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "dolibarr", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.dolibarr.nginx.root": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "dolibarr", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "dolibarr", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.dolibarr.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "dolibarr", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.dolibarr.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "dolibarr", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.dolibarr.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "dolibarr", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.dolibarr.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "dolibarr", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.dolibarr.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "dolibarr", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.dolibarr.package": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dolibarr"}, "description": "The dolibarr package to use.", "loc": ["services", "dolibarr", "package"], "readOnly": false, "type": "package"}, "services.dolibarr.poolConfig": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the Dolibarr PHP pool. See the documentation on [`php-fpm.conf`](https://www.php.net/manual/en/install.fpm.configuration.php)\nfor details on configuration directives.\n", "loc": ["services", "dolibarr", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.dolibarr.settings": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Dolibarr settings, see <https://github.com/Dolibarr/dolibarr/blob/develop/htdocs/conf/conf.php.example> for details.", "loc": ["services", "dolibarr", "settings"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string)"}, "services.dolibarr.stateDir": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/dolibarr\""}, "description": "State and configuration directory dolibarr will use.\n", "loc": ["services", "dolibarr", "stateDir"], "readOnly": false, "type": "string"}, "services.dolibarr.user": {"declarations": ["nixos/modules/services/web-apps/dolibarr.nix"], "default": {"_type": "literalExpression", "text": "\"dolibarr\""}, "description": "User account under which dolibarr runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise you are responsible for\nensuring the user exists before the dolibarr application starts.\n:::\n", "loc": ["services", "dolibarr", "user"], "readOnly": false, "type": "string"}, "services.domoticz.bind": {"declarations": ["nixos/modules/services/misc/domoticz.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "IP address to bind to.", "loc": ["services", "domoticz", "bind"], "readOnly": false, "type": "string"}, "services.domoticz.enable": {"declarations": ["nixos/modules/services/misc/domoticz.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Domoticz home automation.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "domoticz", "enable"], "readOnly": false, "type": "boolean"}, "services.domoticz.port": {"declarations": ["nixos/modules/services/misc/domoticz.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port to bind to for HTTP, set to 0 to disable HTTP.", "loc": ["services", "domoticz", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dovecot2.configFile": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Config file used for the whole dovecot configuration.", "loc": ["services", "dovecot2", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.dovecot2.createMailUser": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable automatically creating the user\ngiven in {option}`services.dovecot2.settings.mail_uid` and the group\ngiven in {option}`services.dovecot2.settings.mail_gid`.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dovecot2", "createMailUser"], "readOnly": false, "type": "boolean"}, "services.dovecot2.enable": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the dovecot 2.x POP3/IMAP server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dovecot2", "enable"], "readOnly": false, "type": "boolean"}, "services.dovecot2.enablePAM": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable creating a own Dovecot PAM service and configure PAM user logins.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dovecot2", "enablePAM"], "readOnly": false, "type": "boolean"}, "services.dovecot2.imapsieve.mailbox": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Configure Sieve filtering rules on IMAP actions\n\n::: {.note}\nThis option is no longer used starting from Dovecot version 2.4.\n:::\n", "loc": ["services", "dovecot2", "imapsieve", "mailbox"], "readOnly": false, "type": "list of (submodule)"}, "services.dovecot2.imapsieve.mailbox.*.after": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "When an IMAP event of interest occurs, this sieve script is executed after any user script respectively.\n\nThis setting each specify the location of a single sieve script. The semantics of this setting is similar to sieve_after: the specified scripts form a sequence together with the user script in which the next script is only executed when an (implicit) keep action is executed.\n", "example": {"_type": "literalExpression", "text": "./report-spam.sieve"}, "loc": ["services", "dovecot2", "imapsieve", "mailbox", "*", "after"], "readOnly": false, "type": "null or absolute path"}, "services.dovecot2.imapsieve.mailbox.*.before": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "When an IMAP event of interest occurs, this sieve script is executed before any user script respectively.\n\nThis setting each specify the location of a single sieve script. The semantics of this setting is similar to sieve_before: the specified scripts form a sequence together with the user script in which the next script is only executed when an (implicit) keep action is executed.\n", "example": {"_type": "literalExpression", "text": "./report-spam.sieve"}, "loc": ["services", "dovecot2", "imapsieve", "mailbox", "*", "before"], "readOnly": false, "type": "null or absolute path"}, "services.dovecot2.imapsieve.mailbox.*.causes": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Only execute the administrator Sieve scripts for the mailbox configured with services.dovecot2.imapsieve.mailbox.<name>.name when one of the listed IMAPSIEVE causes apply.\n\nThis has no effect on the user script, which is always executed no matter the cause.\n", "example": {"_type": "literalExpression", "text": "[\n  \"COPY\"\n  \"APPEND\"\n]"}, "loc": ["services", "dovecot2", "imapsieve", "mailbox", "*", "causes"], "readOnly": false, "type": "list of (one of \"APPEND\", \"COPY\", \"FLAG\")"}, "services.dovecot2.imapsieve.mailbox.*.from": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Only execute the administrator Sieve scripts for the mailbox configured with services.dovecot2.imapsieve.mailbox.<name>.name when the message originates from the indicated mailbox.\n\nThis setting supports wildcards with a syntax compatible with the IMAP LIST command, meaning that this setting can apply to multiple or even all (\"*\") mailboxes.\n", "example": {"_type": "literalExpression", "text": "\"*\""}, "loc": ["services", "dovecot2", "imapsieve", "mailbox", "*", "from"], "readOnly": false, "type": "null or string"}, "services.dovecot2.imapsieve.mailbox.*.name": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "description": "This setting configures the name of a mailbox for which administrator scripts are configured.\n\nThe settings defined hereafter with matching sequence numbers apply to the mailbox named by this setting.\n\nThis setting supports wildcards with a syntax compatible with the IMAP LIST command, meaning that this setting can apply to multiple or even all (\"*\") mailboxes.\n", "example": {"_type": "literalExpression", "text": "\"Junk\""}, "loc": ["services", "dovecot2", "imapsieve", "mailbox", "*", "name"], "readOnly": false, "type": "string"}, "services.dovecot2.includeFiles": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to include in the Dovecot config file using !include directives.", "example": {"_type": "literalExpression", "text": "[\n  \"/foo/bar/extraDovecotConfig.conf\"\n]"}, "loc": ["services", "dovecot2", "includeFiles"], "readOnly": false, "type": "list of absolute path"}, "services.dovecot2.mailPlugins": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "{\n  globally = {\n    enable = [ ];\n  };\n  perProtocol = { };\n}"}, "description": "Additional entries to add to the mail_plugins variable, globally and per protocol", "example": {"_type": "literalExpression", "text": "{\n  globally = {\n    enable = [\n      \"acl\"\n    ];\n  };\n  perProtocol = {\n    imap = {\n      enable = [\n        \"imap_acl\"\n      ];\n    };\n  };\n}"}, "loc": ["services", "dovecot2", "mailPlugins"], "readOnly": false, "type": "submodule"}, "services.dovecot2.mailPlugins.globally": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "{\n  enable = [ ];\n}"}, "description": "Additional entries to add to the mail_plugins variable for all protocols", "example": {"_type": "literalExpression", "text": "{\n  enable = [\n    \"virtual\"\n  ];\n}"}, "loc": ["services", "dovecot2", "mailPlugins", "globally"], "readOnly": false, "type": "submodule"}, "services.dovecot2.mailPlugins.globally.enable": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "mail plugins to enable as a list of strings to append to the top-level `$mail_plugins` configuration variable", "loc": ["services", "dovecot2", "mailPlugins", "globally", "enable"], "readOnly": false, "type": "list of string"}, "services.dovecot2.mailPlugins.perProtocol": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional entries to add to the mail_plugins variable, per protocol", "example": {"_type": "literalExpression", "text": "{\n  imap = [\n    \"imap_acl\"\n  ];\n}"}, "loc": ["services", "dovecot2", "mailPlugins", "perProtocol"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.dovecot2.mailPlugins.perProtocol.<name>.enable": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "mail plugins to enable as a list of strings to append to the corresponding per-protocol `$mail_plugins` configuration variable", "loc": ["services", "dovecot2", "mailPlugins", "perProtocol", "<name>", "enable"], "readOnly": false, "type": "list of string"}, "services.dovecot2.package": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "if versionAtLeast config.system.stateVersion \"26.05\" then pkgs.dovecot else pkgs.dovecot_2_3"}, "description": "The dovecot package to use.", "loc": ["services", "dovecot2", "package"], "readOnly": false, "type": "package"}, "services.dovecot2.settings": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Dovecot configuration, see <https://doc.dovecot.org/latest/core/summaries/settings.html#all-dovecot-settings>\nfor all available options.\n\nFor information on the configuration structure, see <https://doc.dovecot.org/latest/core/settings/syntax.html>.\n\n::: {.warning}\nExplicit settings in [{option}`services.dovecot2.settings`](#opt-services.dovecot2.settings) can silently override values set by other `services.dovecot2.*` options.\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  mail_attribute = {\n    \"dict file\" = {\n      path = \"%{home}/dovecot-attributes\";\n    };\n  };\n  mail_driver = \"maildir\";\n  mail_home = \"/var/vmail/%{user | domain}/%{user | username}\";\n  mail_path = \"~/mail\";\n  \"namespace inbox\" = {\n    inbox = true;\n    separator = \"/\";\n  };\n  \"protocol imap\" = {\n    mail_plugins = {\n      imap_filter_sieve = true;\n      imap_sieve = true;\n    };\n  };\n  protocols = {\n    imap = true;\n    lmtp = true;\n    submission = true;\n  };\n  service = [\n    {\n      _section = {\n        name = \"imap\";\n      };\n      client_limit = 100;\n      \"inet_listener imap\" = {\n        port = 31143;\n      };\n      \"inet_listener imaps\" = {\n        port = 31993;\n      };\n      process_min_avail = 1;\n    }\n    {\n      _section = {\n        name = \"lmtp\";\n      };\n      \"unix_listener lmtp\" = {\n        mode = \"0660\";\n        user = \"postfix\";\n      };\n      user = \"dovemail\";\n    }\n  ];\n}"}, "loc": ["services", "dovecot2", "settings"], "readOnly": false, "type": "open submodule of attribute set of (Dovecot config value)"}, "services.dovecot2.settings.\"passdb pam\"": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration for the PAM password database.\n\nSee <https://doc.dovecot.org/latest/core/config/auth/databases/pam.html>.\n", "loc": ["services", "dovecot2", "settings", "passdb pam"], "readOnly": false, "type": "null or (open submodule of attribute set of (Dovecot config value))"}, "services.dovecot2.settings.\"passdb pam\".args": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "\"if isPre24 then [ \\\"dovecot2\\\" ] else null\""}, "description": "Arguments for the passdb backend.\n\nThis option is exclusive to Dovecot 2.3.\n\nSee <https://doc.dovecot.org/2.3/configuration_manual/authentication/password_databases_passdb/#passdb-setting>.\n", "loc": ["services", "dovecot2", "settings", "passdb pam", "args"], "readOnly": false, "type": "null or (list of string)"}, "services.dovecot2.settings.\"passdb pam\".driver": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "if isPre24 then \"pam\" else null"}, "description": "The driver used for this password database.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#passdb_driver>.\n", "loc": ["services", "dovecot2", "settings", "passdb pam", "driver"], "readOnly": false, "type": "null or string"}, "services.dovecot2.settings.\"passdb pam\".failure_show_msg": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "if isPre24 then null else config.services.dovecot2.showPAMFailure"}, "description": "Replace the default \"Authentication failed\" reply with PAM's failure.\n\nThis option is exclusive to Dovecot 2.4.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#passdb_pam_failure_show_msg>.\n", "loc": ["services", "dovecot2", "settings", "passdb pam", "failure_show_msg"], "readOnly": false, "type": "null or boolean"}, "services.dovecot2.settings.\"passdb pam\".service_name": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "if isPre24 then null else \"dovecot2\""}, "description": "The PAM service name to be used with the pam passdb.\n\nThis option is exclusive to Dovecot 2.4.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#passdb_pam_service_name>.\n", "loc": ["services", "dovecot2", "settings", "passdb pam", "service_name"], "readOnly": false, "type": "null or string"}, "services.dovecot2.settings.\"userdb passwd\"": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration for the Passwd user database.\n\nSee <https://doc.dovecot.org/latest/core/config/auth/databases/passwd.html>.\n", "loc": ["services", "dovecot2", "settings", "userdb passwd"], "readOnly": false, "type": "null or (open submodule of attribute set of (Dovecot config value))"}, "services.dovecot2.settings.\"userdb passwd\".driver": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "if isPre24 then \"passwd\" else null"}, "description": "The driver used for this user database.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#userdb_driver>.\n", "loc": ["services", "dovecot2", "settings", "userdb passwd", "driver"], "readOnly": false, "type": "null or string"}, "services.dovecot2.settings.auth_mechanisms": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"plain\"\n  \"login\"\n]"}, "description": "Here you can supply a space-separated list of the authentication mechanisms you wish to use.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#auth_mechanisms>.\n", "loc": ["services", "dovecot2", "settings", "auth_mechanisms"], "readOnly": false, "type": "(attribute set of boolean) or list of string"}, "services.dovecot2.settings.base_dir": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "\"/run/dovecot2\""}, "description": "The base directory in which Dovecot should store runtime data.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#base_dir>.\n", "loc": ["services", "dovecot2", "settings", "base_dir"], "readOnly": false, "type": "absolute path"}, "services.dovecot2.settings.default_internal_group": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "\"dovecot2\""}, "description": "Define the default internal group.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#default_internal_group>.\n", "loc": ["services", "dovecot2", "settings", "default_internal_group"], "readOnly": false, "type": "string"}, "services.dovecot2.settings.default_internal_user": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "\"dovecot2\""}, "description": "Define the default internal user.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#default_internal_user>.\n", "loc": ["services", "dovecot2", "settings", "default_internal_user"], "readOnly": false, "type": "string"}, "services.dovecot2.settings.dovecot_config_version": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Dovecot configuration version. It uses the same versioning as Dovecot in general, e.g. 3.0.5. It specifies the configuration syntax, the used setting names and the expected default values.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#dovecot_config_version>.\n", "loc": ["services", "dovecot2", "settings", "dovecot_config_version"], "readOnly": false, "type": "null or string"}, "services.dovecot2.settings.dovecot_storage_version": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Dovecot storage file format version. It uses the same versioning as Dovecot in general, e.g. 3.0.5. It specifies the oldest Dovecot version that must be able to read files written by this Dovecot instance.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#dovecot_storage_version>.\n", "loc": ["services", "dovecot2", "settings", "dovecot_storage_version"], "readOnly": false, "type": "null or string"}, "services.dovecot2.settings.mail_plugin_dir": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "\"/run/current-system/sw/lib/dovecot/modules\""}, "description": "The directory in which to search for Dovecot mail plugins.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#mail_plugin_dir>.\n", "loc": ["services", "dovecot2", "settings", "mail_plugin_dir"], "readOnly": false, "type": "absolute path"}, "services.dovecot2.settings.maildir_copy_with_hardlinks": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, copying of a message is done with hard links whenever possible.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#maildir_copy_with_hardlinks>.\n", "loc": ["services", "dovecot2", "settings", "maildir_copy_with_hardlinks"], "readOnly": false, "type": "boolean"}, "services.dovecot2.settings.plugin": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Plugin settings. This option is exclusive to Dovecot 2.3.", "loc": ["services", "dovecot2", "settings", "plugin"], "readOnly": false, "type": "null or (open submodule of attribute set of (Dovecot config value))"}, "services.dovecot2.settings.plugin.sieve_extensions": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The Sieve language extensions available to users.\n\nThis option is exclusive to Dovecot 2.3.\n\nSee <https://doc.dovecot.org/2.3/settings/pigeonhole/#pigeonhole_setting-sieve_extensions>.\n", "loc": ["services", "dovecot2", "settings", "plugin", "sieve_extensions"], "readOnly": false, "type": "null or (list of string)"}, "services.dovecot2.settings.plugin.sieve_global_extensions": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Which Sieve language extensions are **only** available in global scripts.\n\nThis option is exclusive to Dovecot 2.3.\n\nSee <https://doc.dovecot.org/2.3/settings/pigeonhole/#pigeonhole_setting-sieve_global_extensions>.\n", "loc": ["services", "dovecot2", "settings", "plugin", "sieve_global_extensions"], "readOnly": false, "type": "null or (list of string)"}, "services.dovecot2.settings.plugin.sieve_pipe_bin_dir": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Points to a directory where the plugin looks for programs (shell scripts) to execute directly and pipe messages to for the *vnd.dovecot.pipe* extension.\n\nThis option is exclusive to Dovecot 2.3.\n\nSee <https://doc.dovecot.org/2.3/configuration_manual/sieve/plugins/extprograms/#configuration>.\n", "loc": ["services", "dovecot2", "settings", "plugin", "sieve_pipe_bin_dir"], "readOnly": false, "type": "null or absolute path"}, "services.dovecot2.settings.plugin.sieve_plugins": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of Sieve plugins to load.\n\nThis option is exclusive to Dovecot 2.3.\n\nSee <https://doc.dovecot.org/2.3/settings/pigeonhole/#pigeonhole_setting-sieve_plugins>.\n", "loc": ["services", "dovecot2", "settings", "plugin", "sieve_plugins"], "readOnly": false, "type": "null or (list of string)"}, "services.dovecot2.settings.sendmail_path": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "\"/run/wrappers/bin/sendmail\""}, "description": "The binary to use for sending email.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#sendmail_path>.\n", "loc": ["services", "dovecot2", "settings", "sendmail_path"], "readOnly": false, "type": "absolute path"}, "services.dovecot2.settings.sieve_global_extensions": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Which Sieve language extensions are **only** available in global scripts.\n\nThis option is exclusive to Dovecot 2.4.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#sieve_global_extensions>.\n", "loc": ["services", "dovecot2", "settings", "sieve_global_extensions"], "readOnly": false, "type": "null or (attribute set of boolean) or list of string"}, "services.dovecot2.settings.sieve_pipe_bin_dir": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Points to a directory where the plugin looks for programs (shell scripts) to execute directly and pipe messages to for the *vnd.dovecot.pipe* extension.\n\nThis option is exclusive to Dovecot 2.4.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#sieve_plugins>.\n", "loc": ["services", "dovecot2", "settings", "sieve_pipe_bin_dir"], "readOnly": false, "type": "null or absolute path"}, "services.dovecot2.settings.sieve_plugins": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of Sieve plugins to load.\n\nThis option is exclusive to Dovecot 2.4.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#sieve_plugins>.\n", "loc": ["services", "dovecot2", "settings", "sieve_plugins"], "readOnly": false, "type": "null or (attribute set of boolean) or list of string"}, "services.dovecot2.settings.sieve_script_bin_path": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "if isPre24 || !hasPigeonhole\nthen null\nelse \"/tmp/dovecot-%{user|username|lower}\"\n"}, "description": "Points to the directory where the compiled binaries for this script location are stored. This directory is created automatically if possible.\n\nThis option is exclusive to Dovecot 2.4.\n\nSee <https://doc.dovecot.org/latest/core/summaries/settings.html#sieve_script_bin_path>.\n", "loc": ["services", "dovecot2", "settings", "sieve_script_bin_path"], "readOnly": false, "type": "null or string"}, "services.dovecot2.showPAMFailure": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable showing the PAM failure message on authentication error (useful for OTPW).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dovecot2", "showPAMFailure"], "readOnly": false, "type": "boolean"}, "services.dovecot2.sieve.extensions": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Sieve extensions for use in user scripts", "example": {"_type": "literalExpression", "text": "[\n  \"notify\"\n  \"imapflags\"\n  \"vnd.dovecot.filter\"\n]"}, "loc": ["services", "dovecot2", "sieve", "extensions"], "readOnly": false, "type": "list of string"}, "services.dovecot2.sieve.globalExtensions": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Sieve extensions for use in global scripts", "example": {"_type": "literalExpression", "text": "[\n  \"vnd.dovecot.environment\"\n]"}, "loc": ["services", "dovecot2", "sieve", "globalExtensions"], "readOnly": false, "type": "list of string"}, "services.dovecot2.sieve.pipeBins": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Programs available for use by the vnd.dovecot.pipe extension", "example": {"_type": "literalExpression", "text": "map lib.getExe [\n  (pkgs.writeShellScriptBin \"learn-ham.sh\" \"exec ${pkgs.rspamd}/bin/rspamc learn_ham\")\n  (pkgs.writeShellScriptBin \"learn-spam.sh\" \"exec ${pkgs.rspamd}/bin/rspamc learn_spam\")\n]\n"}, "loc": ["services", "dovecot2", "sieve", "pipeBins"], "readOnly": false, "type": "list of absolute path"}, "services.dovecot2.sieve.scripts": {"declarations": ["nixos/modules/services/mail/dovecot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc.", "loc": ["services", "dovecot2", "sieve", "scripts"], "readOnly": false, "type": "attribute set of absolute path"}, "services.dragonflydb.bind": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The IP interface to bind to.\n`null` means \"all interfaces\".\n", "loc": ["services", "dragonflydb", "bind"], "readOnly": false, "type": "null or string"}, "services.dragonflydb.cacheMode": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Once this mode is on, Dragonfly will evict items least likely to be stumbled\nupon in the future but only when it is near maxmemory limit.\n", "loc": ["services", "dragonflydb", "cacheMode"], "readOnly": false, "type": "null or boolean"}, "services.dragonflydb.dbNum": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of supported databases for `select`", "loc": ["services", "dragonflydb", "dbNum"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "services.dragonflydb.enable": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DragonflyDB.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dragonflydb", "enable"], "readOnly": false, "type": "boolean"}, "services.dragonflydb.keysOutputLimit": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "8192"}, "description": "Maximum number of returned keys in keys command.\n`keys` is a dangerous command.\nWe truncate its result to avoid blowup in memory when fetching too many keys.\n", "loc": ["services", "dragonflydb", "keysOutputLimit"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.dragonflydb.maxMemory": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum amount of memory to use for storage (in bytes).\n`null` means this will be automatically set.\n", "loc": ["services", "dragonflydb", "maxMemory"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "services.dragonflydb.memcachePort": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "To enable memcached compatible API on this port.\n`null` means disabled.\n", "loc": ["services", "dragonflydb", "memcachePort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dragonflydb.port": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "6379"}, "description": "The TCP port to accept connections.", "loc": ["services", "dragonflydb", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dragonflydb.requirePass": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for database", "example": {"_type": "literalExpression", "text": "\"letmein!\""}, "loc": ["services", "dragonflydb", "requirePass"], "readOnly": false, "type": "null or string"}, "services.dragonflydb.user": {"declarations": ["nixos/modules/services/databases/dragonflydb.nix"], "default": {"_type": "literalExpression", "text": "\"dragonfly\""}, "description": "The user to run DragonflyDB as", "loc": ["services", "dragonflydb", "user"], "readOnly": false, "type": "string"}, "services.drasl.enable": {"declarations": ["nixos/modules/services/web-apps/drasl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Drasl.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "drasl", "enable"], "readOnly": false, "type": "boolean"}, "services.drasl.enableDebug": {"declarations": ["nixos/modules/services/web-apps/drasl.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debugging.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "drasl", "enableDebug"], "readOnly": false, "type": "boolean"}, "services.drasl.package": {"declarations": ["nixos/modules/services/web-apps/drasl.nix"], "default": {"_type": "literalExpression", "text": "pkgs.drasl"}, "description": "The drasl package to use.", "loc": ["services", "drasl", "package"], "readOnly": false, "type": "package"}, "services.drasl.settings": {"declarations": ["nixos/modules/services/web-apps/drasl.nix"], "description": "Configuration for Drasl. See the\n[Drasl documentation](https://github.com/unmojang/drasl/blob/master/doc/configuration.md)\nfor possible options.\n", "loc": ["services", "drasl", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.drasl.settings.RegistrationOIDC": {"declarations": ["nixos/modules/services/web-apps/drasl.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of OpenID connect providers.", "loc": ["services", "drasl", "settings", "RegistrationOIDC"], "readOnly": false, "type": "list of (open submodule of (TOML value))"}, "services.drasl.settings.RegistrationOIDC.*.ClientSecretFile": {"declarations": ["nixos/modules/services/web-apps/drasl.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the OIDC client secret.\n\n::: {.note}\nThe NixOS module will automatically load this file using\nsystemd's LoadCredential. Make sure this file is only\nreadable by the root user.\n:::\n", "loc": ["services", "drasl", "settings", "RegistrationOIDC", "*", "ClientSecretFile"], "readOnly": false, "type": "null or absolute path"}, "services.draupnir.enable": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Draupnir, a moderations bot for Matrix.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "draupnir", "enable"], "readOnly": false, "type": "boolean"}, "services.draupnir.package": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "pkgs.draupnir"}, "description": "The draupnir package to use.", "loc": ["services", "draupnir", "package"], "readOnly": false, "type": "package"}, "services.draupnir.secrets.accessToken": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the access token for Draupnir's Matrix account\nto be used in place of {option}`services.draupnir.settings.accessToken`.\n", "loc": ["services", "draupnir", "secrets", "accessToken"], "readOnly": false, "type": "null or absolute path"}, "services.draupnir.secrets.pantalaimon.password": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the password for Draupnir's Matrix account when used in\nconjunction with Pantalaimon to be used in place of\n{option}`services.draupnir.settings.pantalaimon.password`.\n\n::: {.warning}\nTake note that upstream has limited Pantalaimon and E2EE support:\n<https://the-draupnir-project.github.io/draupnir-documentation/bot/encryption> and\n<https://the-draupnir-project.github.io/draupnir-documentation/shared/dogfood#e2ee-support>.\n:::\n", "loc": ["services", "draupnir", "secrets", "pantalaimon", "password"], "readOnly": false, "type": "null or absolute path"}, "services.draupnir.secrets.web.synapseHTTPAntispam.authorization": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the secret token when using the Synapse HTTP Antispam module\nto be used in place of\n{option}`services.draupnir.settings.web.synapseHTTPAntispam.authorization`.\n\nSee <https://the-draupnir-project.github.io/draupnir-documentation/bot/synapse-http-antispam> for details.\n", "loc": ["services", "draupnir", "secrets", "web", "synapseHTTPAntispam", "authorization"], "readOnly": false, "type": "null or absolute path"}, "services.draupnir.settings": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Free-form settings written to Draupnir's configuration file.\nSee [Draupnir's default configuration](https://github.com/the-draupnir-project/Draupnir/blob/main/config/default.yaml) for available settings.\n", "example": {"_type": "literalExpression", "text": "{\n  homeserverUrl = \"https://matrix.org\";\n  managementRoom = \"#moderators:example.org\";\n\n  autojoinOnlyIfManager = true;\n  automaticallyRedactForReasons = [ \"spam\" \"advertising\" ];\n}\n"}, "loc": ["services", "draupnir", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.draupnir.settings.dataPath": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/draupnir\""}, "description": "The path Draupnir will store its state/data in.\n\n::: {.warning}\nThis option is read-only.\n:::\n\n::: {.note}\nIf you want to customize where this data is stored, use a bind mount.\n:::\n", "loc": ["services", "draupnir", "settings", "dataPath"], "readOnly": true, "type": "absolute path"}, "services.draupnir.settings.homeserverUrl": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "description": "Base URL of the Matrix homeserver that provides the Client-Server API.\n\n::: {.note}\nWhen using Pantalaimon, set this to the Pantalaimon URL and\n{option}`services.draupnir.settings.rawHomeserverUrl` to the public URL.\n:::\n", "example": {"_type": "literalExpression", "text": "\"https://matrix.org\""}, "loc": ["services", "draupnir", "settings", "homeserverUrl"], "readOnly": false, "type": "string"}, "services.draupnir.settings.managementRoom": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "description": "The room ID or alias where moderators can use the bot's functionality.\n\nThe bot has no access controls, so anyone in this room can use the bot - secure this room!\nDo not enable end-to-end encryption for this room, unless set up with Pantalaimon.\n\n::: {.warning}\nWhen using a room alias, make sure the alias used is on the local homeserver!\nThis prevents an issue where the control room becomes undefined when the alias can't be resolved.\n:::\n", "example": {"_type": "literalExpression", "text": "\"#moderators:example.org\""}, "loc": ["services", "draupnir", "settings", "managementRoom"], "readOnly": false, "type": "string"}, "services.draupnir.settings.rawHomeserverUrl": {"declarations": ["nixos/modules/services/matrix/draupnir.nix"], "default": {"_type": "literalExpression", "text": "config.services.draupnir.settings.homeserverUrl"}, "description": "Public base URL of the Matrix homeserver that provides the Client-Server API when using the Draupnir's\n[Report forwarding feature](https://the-draupnir-project.github.io/draupnir-documentation/bot/homeserver-administration#report-forwarding).\n\n::: {.warning}\nWhen using Pantalaimon, do not set this to the Pantalaimon URL!\n:::\n", "example": {"_type": "literalExpression", "text": "\"https://matrix.org\""}, "loc": ["services", "draupnir", "settings", "rawHomeserverUrl"], "readOnly": false, "type": "string"}, "services.drbd.config": {"declarations": ["nixos/modules/services/network-filesystems/drbd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Contents of the {file}`drbd.conf` configuration file.\n", "loc": ["services", "drbd", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.drbd.enable": {"declarations": ["nixos/modules/services/network-filesystems/drbd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for DRBD, the Distributed Replicated\nBlock Device.\n", "loc": ["services", "drbd", "enable"], "readOnly": false, "type": "boolean"}, "services.druid.broker.config": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "(key=value) Configuration to be written to runtime.properties of the druid Druid Broker\n<https://druid.apache.org/docs/latest/configuration/index.html>\n", "example": {"_type": "literalExpression", "text": "{\n  \"druid.plainTextPort\" = \"8082\";\n  \"druid.service\" = \"servicename\";\n}"}, "loc": ["services", "druid", "broker", "config"], "readOnly": false, "type": "attribute set of anything"}, "services.druid.broker.enable": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Druid Broker.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "druid", "broker", "enable"], "readOnly": false, "type": "boolean"}, "services.druid.broker.jdk": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk17_headless"}, "description": "The JDK package to use.", "loc": ["services", "druid", "broker", "jdk"], "readOnly": false, "type": "package"}, "services.druid.broker.jvmArgs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Arguments to pass to the JVM", "loc": ["services", "druid", "broker", "jvmArgs"], "readOnly": false, "type": "string"}, "services.druid.broker.openFirewall": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for Druid Broker.", "loc": ["services", "druid", "broker", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.druid.broker.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "druid", "broker", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.druid.commonConfig": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "(key=value) Configuration to be written to common.runtime.properties", "example": {"_type": "literalExpression", "text": "{\n  \"druid.extensions.loadList\" = \"[ \\\"mysql-metadata-storage\\\" ]\";\n  \"druid.metadata.storage.connector.connectURI\" = \"jdbc:mysql://localhost:3306/druid\";\n  \"druid.metadata.storage.type\" = \"mysql\";\n  \"druid.zk.service.host\" = \"localhost:2181\";\n}"}, "loc": ["services", "druid", "commonConfig"], "readOnly": false, "type": "attribute set of anything"}, "services.druid.commonTmpDirs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/var/log/druid/requests\"\n]"}, "description": "Common List of directories used by druid processes", "loc": ["services", "druid", "commonTmpDirs"], "readOnly": false, "type": "list of string"}, "services.druid.coordinator.config": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "(key=value) Configuration to be written to runtime.properties of the druid Druid Coordinator\n<https://druid.apache.org/docs/latest/configuration/index.html>\n", "example": {"_type": "literalExpression", "text": "{\n  \"druid.plainTextPort\" = \"8082\";\n  \"druid.service\" = \"servicename\";\n}"}, "loc": ["services", "druid", "coordinator", "config"], "readOnly": false, "type": "attribute set of anything"}, "services.druid.coordinator.enable": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Druid Coordinator.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "druid", "coordinator", "enable"], "readOnly": false, "type": "boolean"}, "services.druid.coordinator.jdk": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk17_headless"}, "description": "The JDK package to use.", "loc": ["services", "druid", "coordinator", "jdk"], "readOnly": false, "type": "package"}, "services.druid.coordinator.jvmArgs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Arguments to pass to the JVM", "loc": ["services", "druid", "coordinator", "jvmArgs"], "readOnly": false, "type": "string"}, "services.druid.coordinator.openFirewall": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for Druid Coordinator.", "loc": ["services", "druid", "coordinator", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.druid.coordinator.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "druid", "coordinator", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.druid.extraClassPaths": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra classpath to include in the jvm", "loc": ["services", "druid", "extraClassPaths"], "readOnly": false, "type": "list of string"}, "services.druid.extraConfDirs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra Conf Dirs to include in the jvm", "loc": ["services", "druid", "extraConfDirs"], "readOnly": false, "type": "list of absolute path"}, "services.druid.historical.config": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "(key=value) Configuration to be written to runtime.properties of the druid Druid Historical\n<https://druid.apache.org/docs/latest/configuration/index.html>\n", "example": {"_type": "literalExpression", "text": "{\n  \"druid.plainTextPort\" = \"8082\";\n  \"druid.service\" = \"servicename\";\n}"}, "loc": ["services", "druid", "historical", "config"], "readOnly": false, "type": "attribute set of anything"}, "services.druid.historical.enable": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Druid Historical.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "druid", "historical", "enable"], "readOnly": false, "type": "boolean"}, "services.druid.historical.jdk": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk17_headless"}, "description": "The JDK package to use.", "loc": ["services", "druid", "historical", "jdk"], "readOnly": false, "type": "package"}, "services.druid.historical.jvmArgs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Arguments to pass to the JVM", "loc": ["services", "druid", "historical", "jvmArgs"], "readOnly": false, "type": "string"}, "services.druid.historical.openFirewall": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for Druid Historical.", "loc": ["services", "druid", "historical", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.druid.historical.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "druid", "historical", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.druid.historical.segmentLocations": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Locations where the historical will store its data.", "loc": ["services", "druid", "historical", "segmentLocations"], "readOnly": false, "type": "null or (list of (submodule))"}, "services.druid.historical.segmentLocations.*.freeSpacePercent": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "1.0"}, "description": "Druid Historical will fail to write if it exceeds this value", "loc": ["services", "druid", "historical", "segmentLocations", "*", "freeSpacePercent"], "readOnly": false, "type": "floating point number"}, "services.druid.historical.segmentLocations.*.maxSize": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "description": "Max size the druid historical can occupy", "loc": ["services", "druid", "historical", "segmentLocations", "*", "maxSize"], "readOnly": false, "type": "string"}, "services.druid.historical.segmentLocations.*.path": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "description": "the path to store the segments", "loc": ["services", "druid", "historical", "segmentLocations", "*", "path"], "readOnly": false, "type": "absolute path"}, "services.druid.log4j": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "description": "Log4j Configuration for the druid process", "loc": ["services", "druid", "log4j"], "readOnly": false, "type": "absolute path"}, "services.druid.middleManager.config": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "(key=value) Configuration to be written to runtime.properties of the druid Druid middleManager\n<https://druid.apache.org/docs/latest/configuration/index.html>\n", "example": {"_type": "literalExpression", "text": "{\n  \"druid.plainTextPort\" = \"8082\";\n  \"druid.service\" = \"servicename\";\n}"}, "loc": ["services", "druid", "middleManager", "config"], "readOnly": false, "type": "attribute set of anything"}, "services.druid.middleManager.enable": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Druid middleManager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "druid", "middleManager", "enable"], "readOnly": false, "type": "boolean"}, "services.druid.middleManager.jdk": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk17_headless"}, "description": "The JDK package to use.", "loc": ["services", "druid", "middleManager", "jdk"], "readOnly": false, "type": "package"}, "services.druid.middleManager.jvmArgs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Arguments to pass to the JVM", "loc": ["services", "druid", "middleManager", "jvmArgs"], "readOnly": false, "type": "string"}, "services.druid.middleManager.openFirewall": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for Druid middleManager.", "loc": ["services", "druid", "middleManager", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.druid.middleManager.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "druid", "middleManager", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.druid.overlord.config": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "(key=value) Configuration to be written to runtime.properties of the druid Druid Overlord\n<https://druid.apache.org/docs/latest/configuration/index.html>\n", "example": {"_type": "literalExpression", "text": "{\n  \"druid.plainTextPort\" = \"8082\";\n  \"druid.service\" = \"servicename\";\n}"}, "loc": ["services", "druid", "overlord", "config"], "readOnly": false, "type": "attribute set of anything"}, "services.druid.overlord.enable": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Druid Overlord.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "druid", "overlord", "enable"], "readOnly": false, "type": "boolean"}, "services.druid.overlord.jdk": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk17_headless"}, "description": "The JDK package to use.", "loc": ["services", "druid", "overlord", "jdk"], "readOnly": false, "type": "package"}, "services.druid.overlord.jvmArgs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Arguments to pass to the JVM", "loc": ["services", "druid", "overlord", "jvmArgs"], "readOnly": false, "type": "string"}, "services.druid.overlord.openFirewall": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for Druid Overlord.", "loc": ["services", "druid", "overlord", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.druid.overlord.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "druid", "overlord", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.druid.package": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.druid"}, "description": "The apache-druid package to use.", "loc": ["services", "druid", "package"], "readOnly": false, "type": "package"}, "services.druid.router.config": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "(key=value) Configuration to be written to runtime.properties of the druid Druid Router\n<https://druid.apache.org/docs/latest/configuration/index.html>\n", "example": {"_type": "literalExpression", "text": "{\n  \"druid.plainTextPort\" = \"8082\";\n  \"druid.service\" = \"servicename\";\n}"}, "loc": ["services", "druid", "router", "config"], "readOnly": false, "type": "attribute set of anything"}, "services.druid.router.enable": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Druid Router.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "druid", "router", "enable"], "readOnly": false, "type": "boolean"}, "services.druid.router.jdk": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk17_headless"}, "description": "The JDK package to use.", "loc": ["services", "druid", "router", "jdk"], "readOnly": false, "type": "package"}, "services.druid.router.jvmArgs": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Arguments to pass to the JVM", "loc": ["services", "druid", "router", "jvmArgs"], "readOnly": false, "type": "string"}, "services.druid.router.openFirewall": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for Druid Router.", "loc": ["services", "druid", "router", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.druid.router.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/druid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "druid", "router", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.drupal.enable": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable drupal.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "drupal", "enable"], "readOnly": false, "type": "boolean"}, "services.drupal.package": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "pkgs.drupal"}, "description": "The drupal package to use.", "loc": ["services", "drupal", "package"], "readOnly": false, "type": "package"}, "services.drupal.sites": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "{\n  localhost = {\n    enable = true;\n  };\n}"}, "description": "Specification of one or more Drupal sites to serve", "loc": ["services", "drupal", "sites"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.drupal.sites.<name>.configRoot": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "An optional path string with a leading slash\nindicating the location of the config sync directory on\nthe Drupal package. Your package will probably have a config sync\ndirectory if it has been significantly customized.\n\nThe path must be relative to the project root directory.\n\nThis option differs from the `configSyncDir` option, which\ntells this service where to create a user-writeable config directory\non NixOS.\n", "example": {"_type": "literalExpression", "text": "\"/config\""}, "loc": ["services", "drupal", "sites", "<name>", "configRoot"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.configSyncDir": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/drupal/<name>/config/sync\""}, "description": "The location of the user-managed Drupal config sync directory.\nDrupal will both read from and write to this directory when executing\nconfiguration management operations.\n\nThis option differs from the `configRoot` option,\nwhich this service uses to discover\nthe location of the config sync directory in the package's source code.\n", "loc": ["services", "drupal", "sites", "<name>", "configSyncDir"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "drupal", "sites", "<name>", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.database.host": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host address.", "loc": ["services", "drupal", "sites", "<name>", "database", "host"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.database.name": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"drupal\""}, "description": "Database name.", "loc": ["services", "drupal", "sites", "<name>", "database", "name"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/database-dbpassword\""}, "loc": ["services", "drupal", "sites", "<name>", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.drupal.sites.<name>.database.port": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port.", "loc": ["services", "drupal", "sites", "<name>", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.drupal.sites.<name>.database.socket": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "/run/mysqld/mysqld.sock"}, "description": "Path to the unix socket file to use for authentication.", "loc": ["services", "drupal", "sites", "<name>", "database", "socket"], "readOnly": false, "type": "null or absolute path"}, "services.drupal.sites.<name>.database.tablePrefix": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"dp_\""}, "description": "The $table_prefix is the value placed in the front of your database tables.\nChange the value if you want to use something other than dp_ for your database\nprefix. Typically this is changed if you are installing multiple Drupal sites\nin the same database.\n", "loc": ["services", "drupal", "sites", "<name>", "database", "tablePrefix"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.database.user": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"drupal\""}, "description": "Database user.", "loc": ["services", "drupal", "sites", "<name>", "database", "user"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.enable": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Drupal web application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "drupal", "sites", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration values that you want to insert into settings.php.\nAll configuration must be written as PHP script.\n", "example": {"_type": "literalExpression", "text": "''\n  $config['user.settings']['anonymous'] = 'Visitor';\n  $settings['entity_update_backup'] = TRUE;\n''"}, "loc": ["services", "drupal", "sites", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.drupal.sites.<name>.filesDir": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/drupal/<name>/sites/default/files\""}, "description": "The location of the Drupal files directory.\n\nMany of the files in this directory are variable, so they must be located\nin a location writeable by users of the webgroup.\n", "loc": ["services", "drupal", "sites", "<name>", "filesDir"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.modulesDir": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/drupal/<name>/modules\""}, "description": "The location for users to manually install Drupal modules.\n\nNote: in most instances, it is preferable to install modules using\ncomposer, or to package them with your source code repository, if\nyou are using a custom Drupal.\n", "loc": ["services", "drupal", "sites", "<name>", "modulesDir"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.package": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "pkgs.drupal"}, "description": "The drupal package to use.", "loc": ["services", "drupal", "sites", "<name>", "package"], "readOnly": false, "type": "package"}, "services.drupal.sites.<name>.phpOptions": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for PHP's php.ini file for this Drupal site.\n", "example": {"_type": "literalExpression", "text": "{\n  \"opcache.interned_strings_buffer\" = \"8\";\n  \"opcache.max_accelerated_files\" = \"10000\";\n  \"opcache.memory_consumption\" = \"128\";\n  \"opcache.revalidate_freq\" = \"15\";\n  \"opcache.fast_shutdown\" = \"1\";\n}\n"}, "loc": ["services", "drupal", "sites", "<name>", "phpOptions"], "readOnly": false, "type": "attribute set of string"}, "services.drupal.sites.<name>.poolConfig": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the Drupal PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "drupal", "sites", "<name>", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.drupal.sites.<name>.privateFilesDir": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/drupal/<name>/private\""}, "description": "The location of the Drupal private files directory.", "loc": ["services", "drupal", "sites", "<name>", "privateFilesDir"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.stateDir": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/drupal/<name>\""}, "description": "The location of the user-managed Drupal site state directory.\nThis directory will contain the settings and configuration files for\nyour Drupal instance. It may also contain your files directory if the\n`filesDir` option remains unchanged.\n\nMany of the files in this directory are variable, so they must be located\nin a location writeable by users of the webgroup.\n", "loc": ["services", "drupal", "sites", "<name>", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.themesDir": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/drupal/<name>/themes\""}, "description": "The location for users to manually install Drupal themes.\n\nNote: in most instances, it is preferable to install themes using\ncomposer, or to package them with your source code repository, if\nyou are using a custom Drupal.\n", "loc": ["services", "drupal", "sites", "<name>", "themesDir"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.virtualHost": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "description": "Apache configuration can be done by adapting {option}`services.httpd.virtualHosts`.\n", "example": {"_type": "literalExpression", "text": "{\n  adminAddr = \"webmaster@example.org\";\n  forceSSL = true;\n  enableACME = true;\n}\n"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost"], "readOnly": false, "type": "submodule"}, "services.drupal.sites.<name>.virtualHost.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.drupal.sites.<name>.virtualHost.addSSL": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "addSSL"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.virtualHost.adminAddr": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "E-mail address of the server administrator.", "example": {"_type": "literalExpression", "text": "\"admin@example.org\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "adminAddr"], "readOnly": false, "type": "null or string"}, "services.drupal.sites.<name>.virtualHost.documentRoot": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of Apache's document root directory.  If left undefined,\nan empty directory in the Nix store will be used as root.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "documentRoot"], "readOnly": false, "type": "null or absolute path"}, "services.drupal.sites.<name>.virtualHost.enableACME": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "enableACME"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.virtualHost.enableUserDir": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable serving {file}`~/public_html` as\n`/~\u00abusername\u00bb`.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "enableUserDir"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.virtualHost.extraConfig": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to httpd.conf verbatim. They will go after\ndirectories and directory aliases defined by default.\n", "example": {"_type": "literalExpression", "text": "''\n  <Directory /home>\n    Options FollowSymlinks\n    AllowOverride All\n  </Directory>\n''"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.drupal.sites.<name>.virtualHost.forceSSL": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that permanently redirects (301)\nall plain HTTP traffic to HTTPS. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443), where the non-SSL listens are used for the redirect vhosts.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.virtualHost.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected permanently to\nthe given URL.\n", "example": {"_type": "literalExpression", "text": "\"http://newserver.example.org/\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.drupal.sites.<name>.virtualHost.hostName": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Canonical hostname for the server.", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "hostName"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.virtualHost.http2": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. *However, if you use the prefork mpm, there will\nbe severe restrictions.* Refer to <https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config> for details.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "http2"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.virtualHost.listen": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\n\n::: {.note}\nThis option overrides `addSSL`, `forceSSL` and `onlySSL`.\n\nIf you only want to set the addresses manually and not the ports, take a look at `listenAddresses`.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    ip = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    ip = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    ip = \"*\";\n    port = 8080;\n  }\n]"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.drupal.sites.<name>.virtualHost.listen.*.ip": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "IP to listen on. 0.0.0.0 for IPv4 only, * for all.", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "listen", "*", "ip"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.virtualHost.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "description": "Port to listen on", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "listen", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.drupal.sites.<name>.virtualHost.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SSL (https) support.", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.virtualHost.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "listenAddresses"], "readOnly": false, "type": "non-empty (list of string)"}, "services.drupal.sites.<name>.virtualHost.locations": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config. See <https://httpd.apache.org/docs/2.4/mod/core.html#location> for details.\n", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n  \"/foo/bar.png\" = {\n    alias = \"/home/eelco/some-file.png\";\n  };\n};\n"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.drupal.sites.<name>.virtualHost.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests. See <https://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias>.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.drupal.sites.<name>.virtualHost.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.drupal.sites.<name>.virtualHost.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds DirectoryIndex directive. See <https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex>.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.drupal.sites.<name>.virtualHost.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.drupal.sites.<name>.virtualHost.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets up a simple reverse proxy as described by <https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html#simple>.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.drupal.sites.<name>.virtualHost.logFormat": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"common\""}, "description": "Log format for Apache's log files. Possible values are: combined, common, referer, agent.\n", "example": {"_type": "literalExpression", "text": "\"combined\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "logFormat"], "readOnly": false, "type": "string"}, "services.drupal.sites.<name>.virtualHost.onlySSL": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.drupal.sites.<name>.virtualHost.robotsEntries": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Specification of pages to be ignored by web crawlers. See <http://www.robotstxt.org/> for details.\n", "example": {"_type": "literalExpression", "text": "\"Disallow: /foo/\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "robotsEntries"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.drupal.sites.<name>.virtualHost.servedDirs": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve static directories.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    dir = \"/home/eelco/Dev/nix-homepage\";\n    urlPath = \"/nix\";\n  }\n]"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "servedDirs"], "readOnly": false, "type": "list of (attribute set)"}, "services.drupal.sites.<name>.virtualHost.servedFiles": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve individual, static files.\n\n::: {.note}\nThis option has been deprecated and will be removed in a future\nversion of NixOS. You can achieve the same result by making use of\nthe `locations.<name>.alias` option.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    file = \"/home/eelco/some-file.png\";\n    urlPath = \"/foo/bar.png\";\n  }\n]"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "servedFiles"], "readOnly": false, "type": "list of (attribute set)"}, "services.drupal.sites.<name>.virtualHost.serverAliases": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"www.example.org:8080\"\n  \"example.org\"\n]"}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.drupal.sites.<name>.virtualHost.sslServerCert": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "sslServerCert"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.virtualHost.sslServerChain": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to server SSL chain file.", "example": {"_type": "literalExpression", "text": "\"/var/ca.pem\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "sslServerChain"], "readOnly": false, "type": "null or absolute path"}, "services.drupal.sites.<name>.virtualHost.sslServerKey": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "sslServerKey"], "readOnly": false, "type": "absolute path"}, "services.drupal.sites.<name>.virtualHost.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "drupal", "sites", "<name>", "virtualHost", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.drupal.sites.<name>.webRoot": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "An optional path string with a leading slash\nindicating the location of the Drupal webroot\nin your package's source code.\n\nThe path relative to the project root directory.\n", "example": {"_type": "literalExpression", "text": "\"/web\""}, "loc": ["services", "drupal", "sites", "<name>", "webRoot"], "readOnly": false, "type": "string"}, "services.drupal.webserver": {"declarations": ["nixos/modules/services/web-apps/drupal.nix"], "default": {"_type": "literalExpression", "text": "\"nginx\""}, "description": "Whether to use nginx or caddy for virtual host management.\n\nFurther nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.\nSee [](#opt-services.nginx.virtualHosts) for further information.\n\nFurther caddy configuration can be done by adapting `services.caddy.virtualHosts.<name>`.\nSee [](#opt-services.caddy.virtualHosts) for further information.\n", "loc": ["services", "drupal", "webserver"], "readOnly": false, "type": "one of \"nginx\", \"caddy\""}, "services.dsnet.enable": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dsnet, a centralised Wireguard VPN manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dsnet", "enable"], "readOnly": false, "type": "boolean"}, "services.dsnet.package": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dsnet"}, "description": "The dsnet package to use.", "loc": ["services", "dsnet", "package"], "readOnly": false, "type": "package"}, "services.dsnet.settings": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The settings to use for dsnet. This will be converted to a JSON\nobject that will be passed to dsnet as a patch, using the patch\ncommand when the service is started. See the dsnet documentation for\nmore information on the additional options.\n\nNote that the resulting /etc/dsnetconfg.json is more of a database\nthan it is a configuration file. It is therefore recommended that\nsystem specific values are configured here, rather than the full\nconfiguration including peers.\n\nPeers may be managed via the dsnet add/remove commands, negating the\nneed to manage key material and cumbersom configuration with nix. If\nyou want peer configuration in nix, you may as well use the regular\nwireguard module.\n", "example": {"_type": "literalExpression", "text": "{\n  DNS = \"8.8.8.8\";\n  ExternalHostname = \"vpn.example.com\";\n  ExternalIP = \"127.0.0.1\";\n  ExternalIP6 = \"\";\n  IP = \"10.3.148.1\";\n  IP6 = \"\";\n  ListenPort = 51820;\n  Network = \"10.3.148.0/22\";\n  Network6 = \"\";\n  Networks = [\n    \"0.0.0.0/0\"\n  ];\n}"}, "loc": ["services", "dsnet", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.dsnet.settings.ExternalHostname": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The hostname that clients should use to connect to this server.\nThis is used to generate the client configuration files.\n\nThis is preferred over ExternalIP, as it allows for IPv4 and\nIPv6, as well as enabling the ability tp change IP.\n", "example": {"_type": "literalExpression", "text": "\"vpn.example.com\""}, "loc": ["services", "dsnet", "settings", "ExternalHostname"], "readOnly": false, "type": "null or string"}, "services.dsnet.settings.ExternalIP": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The external IP address of the server. This is used to generate\nthe client configuration files for when an ExternalHostname is not set.\n\nLeaving this empty will cause dsnet to use the IP address of\nwhat looks like the WAN interface.\n", "example": {"_type": "literalExpression", "text": "\"192.0.2.1\""}, "loc": ["services", "dsnet", "settings", "ExternalIP"], "readOnly": false, "type": "null or string"}, "services.dsnet.settings.ExternalIP6": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The external IPv6 address of the server. This is used to generate\nthe client configuration files for when an ExternalHostname is\nnot set. Used in preference to ExternalIP.\n\nLeaving this empty will cause dsnet to use the IP address of\nwhat looks like the WAN interface.\n", "example": {"_type": "literalExpression", "text": "\"2001:db8::1\""}, "loc": ["services", "dsnet", "settings", "ExternalIP6"], "readOnly": false, "type": "null or string"}, "services.dsnet.settings.IP": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The IPv4 address that the server will use on the network.\nLeave this empty to let dsnet choose an address.\n", "example": {"_type": "literalExpression", "text": "\"172.18.0.1\""}, "loc": ["services", "dsnet", "settings", "IP"], "readOnly": false, "type": "null or string"}, "services.dsnet.settings.IP6": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The IPv6 address that the server will use on the network\nLeave this empty to let dsnet choose an address.\n", "example": {"_type": "literalExpression", "text": "\"2001:db8::1\""}, "loc": ["services", "dsnet", "settings", "IP6"], "readOnly": false, "type": "null or string"}, "services.dsnet.settings.Network": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The IPv4 network that the server will use to allocate IPs on the network.\nLeave this empty to let dsnet choose a network.\n", "example": {"_type": "literalExpression", "text": "\"172.18.0.0/24\""}, "loc": ["services", "dsnet", "settings", "Network"], "readOnly": false, "type": "null or string"}, "services.dsnet.settings.Network6": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The IPv6 network that the server will use to allocate IPs on the\nnetwork.\nLeave this empty to let dsnet choose a network.\n", "example": {"_type": "literalExpression", "text": "\"2001:db8::1/64\""}, "loc": ["services", "dsnet", "settings", "Network6"], "readOnly": false, "type": "null or string"}, "services.dsnet.settings.Networks": {"declarations": ["nixos/modules/services/networking/dsnet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The CIDR networks that should route through this server. Clients\nwill be configured to route traffic for these networks through\nthe server peer.\n", "example": {"_type": "literalExpression", "text": "[\n  \"0.0.0.0/0\"\n  \"192.168.0.0/24\"\n]"}, "loc": ["services", "dsnet", "settings", "Networks"], "readOnly": false, "type": "null or (list of string)"}, "services.dspam.domainSocket": {"declarations": ["nixos/modules/services/mail/dspam.nix"], "default": {"_type": "literalExpression", "text": "\"/run/dspam/dspam.sock\""}, "description": "Path to local domain socket which is used for communication with the daemon. Set to null to disable UNIX socket.", "loc": ["services", "dspam", "domainSocket"], "readOnly": false, "type": "null or absolute path"}, "services.dspam.enable": {"declarations": ["nixos/modules/services/mail/dspam.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the dspam spam filter.", "loc": ["services", "dspam", "enable"], "readOnly": false, "type": "boolean"}, "services.dspam.extraConfig": {"declarations": ["nixos/modules/services/mail/dspam.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional dspam configuration.", "loc": ["services", "dspam", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.dspam.group": {"declarations": ["nixos/modules/services/mail/dspam.nix"], "default": {"_type": "literalExpression", "text": "\"dspam\""}, "description": "Group for the dspam daemon.", "loc": ["services", "dspam", "group"], "readOnly": false, "type": "string"}, "services.dspam.maintenanceInterval": {"declarations": ["nixos/modules/services/mail/dspam.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, maintenance script will be run at specified (in systemd.timer format) interval", "loc": ["services", "dspam", "maintenanceInterval"], "readOnly": false, "type": "null or string"}, "services.dspam.storageDriver": {"declarations": ["nixos/modules/services/mail/dspam.nix"], "default": {"_type": "literalExpression", "text": "\"hash\""}, "description": "Storage driver backend to use for dspam.", "loc": ["services", "dspam", "storageDriver"], "readOnly": false, "type": "string"}, "services.dspam.user": {"declarations": ["nixos/modules/services/mail/dspam.nix"], "default": {"_type": "literalExpression", "text": "\"dspam\""}, "description": "User for the dspam daemon.", "loc": ["services", "dspam", "user"], "readOnly": false, "type": "string"}, "services.duckdns.domains": {"declarations": ["nixos/modules/services/misc/duckdns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The domain(s) to update in DuckDNS\n(without the .duckdns.org suffix)\n", "example": {"_type": "literalExpression", "text": "[\n  \"examplehost\"\n]"}, "loc": ["services", "duckdns", "domains"], "readOnly": false, "type": "null or (list of string)"}, "services.duckdns.domainsFile": {"declarations": ["nixos/modules/services/misc/duckdns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing a\nnewline-separated list of DuckDNS\ndomain(s) to be updated\n(without the .duckdns.org suffix)\n", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"duckdns-domains.txt\" ''\n  examplehost\n  examplehost2\n  examplehost3\n''\n"}, "loc": ["services", "duckdns", "domainsFile"], "readOnly": false, "type": "null or absolute path"}, "services.duckdns.enable": {"declarations": ["nixos/modules/services/misc/duckdns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DuckDNS Dynamic DNS Client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "duckdns", "enable"], "readOnly": false, "type": "boolean"}, "services.duckdns.tokenFile": {"declarations": ["nixos/modules/services/misc/duckdns.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the token\nused to authenticate with DuckDNS.\n", "loc": ["services", "duckdns", "tokenFile"], "readOnly": false, "type": "absolute path"}, "services.duckling.enable": {"declarations": ["nixos/modules/services/misc/duckling.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable duckling.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "duckling", "enable"], "readOnly": false, "type": "boolean"}, "services.duckling.port": {"declarations": ["nixos/modules/services/misc/duckling.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port on which duckling will run.\n", "loc": ["services", "duckling", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.dump1090-fa.enable": {"declarations": ["nixos/modules/services/misc/dump1090-fa.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dump1090-fa.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dump1090-fa", "enable"], "readOnly": false, "type": "boolean"}, "services.dump1090-fa.extraArgs": {"declarations": ["nixos/modules/services/misc/dump1090-fa.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional passed arguments", "loc": ["services", "dump1090-fa", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.dump1090-fa.package": {"declarations": ["nixos/modules/services/misc/dump1090-fa.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dump1090-fa"}, "description": "The dump1090-fa package to use.", "loc": ["services", "dump1090-fa", "package"], "readOnly": false, "type": "package"}, "services.dunst.enable": {"declarations": ["nixos/modules/services/desktops/dunst.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dunst notification daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dunst", "enable"], "readOnly": false, "type": "boolean"}, "services.dunst.enableWayland": {"declarations": ["nixos/modules/services/desktops/dunst.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Wayland support.", "loc": ["services", "dunst", "enableWayland"], "readOnly": false, "type": "boolean"}, "services.dunst.enableX11": {"declarations": ["nixos/modules/services/desktops/dunst.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable X11 support.", "loc": ["services", "dunst", "enableX11"], "readOnly": false, "type": "boolean"}, "services.dunst.package": {"declarations": ["nixos/modules/services/desktops/dunst.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dunst"}, "description": "The dunst package to use.", "loc": ["services", "dunst", "package"], "readOnly": false, "type": "package"}, "services.dunst.settings": {"declarations": ["nixos/modules/services/desktops/dunst.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Dunst configuration, see dunst(5)", "example": {"_type": "literalExpression", "text": "{\n  global = {\n    width = 300;\n    height = 300;\n    offset = \"30x50\";\n    origin = \"top-right\";\n    transparency = 10;\n    frame_color = \"#eceff1\";\n    font = \"Droid Sans 9\";\n  };\n\n  urgency_normal = {\n    background = \"#37474f\";\n    foreground = \"#eceff1\";\n    timeout = 10;\n  };\n};\n"}, "loc": ["services", "dunst", "settings"], "readOnly": false, "type": "attribute set of attribute set of (INI atom (null, bool, int, float or string) or attribute set of (INI atom (null, bool, int, float or string)))"}, "services.duplicati.dataDir": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/duplicati\""}, "description": "The directory where Duplicati stores its data files.\n\n::: {.note}\nIf left as the default value this directory will automatically be created\nbefore the Duplicati server starts, otherwise you are responsible for ensuring\nthe directory exists with appropriate ownership and permissions.\n:::\n", "loc": ["services", "duplicati", "dataDir"], "readOnly": false, "type": "string"}, "services.duplicati.enable": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Duplicati.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "duplicati", "enable"], "readOnly": false, "type": "boolean"}, "services.duplicati.interface": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listening interface for the web UI\nSet it to \"any\" to listen on all available interfaces\n", "loc": ["services", "duplicati", "interface"], "readOnly": false, "type": "string"}, "services.duplicati.package": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "pkgs.duplicati"}, "description": "The duplicati package to use.", "loc": ["services", "duplicati", "package"], "readOnly": false, "type": "package"}, "services.duplicati.parameters": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "This option can be used to store some or all of the options given to the\ncommandline client.\nEach line in this option should be of the format --option=value.\nThe options in this file take precedence over the options provided\nthrough command line arguments.\n<link xlink:href=\"https://duplicati.readthedocs.io/en/latest/06-advanced-options/#parameters-file\">Duplicati docs: parameters-file</link>\n", "example": {"_type": "literalExpression", "text": "''\n  --webservice-allowedhostnames=*\n''"}, "loc": ["services", "duplicati", "parameters"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.duplicati.parametersFile": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This file can be used to store some or all of the options given to the\ncommandline client.\nEach line in the file option should be of the format --option=value.\nThe options in this file take precedence over the options provided\nthrough command line arguments.\n<link xlink:href=\"https://duplicati.readthedocs.io/en/latest/06-advanced-options/#parameters-file\">Duplicati docs: parameters-file</link>\n", "loc": ["services", "duplicati", "parametersFile"], "readOnly": false, "type": "null or absolute path"}, "services.duplicati.port": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "8200"}, "description": "Port serving the web interface\n", "loc": ["services", "duplicati", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.duplicati.user": {"declarations": ["nixos/modules/services/backup/duplicati.nix"], "default": {"_type": "literalExpression", "text": "\"duplicati\""}, "description": "Duplicati runs as it's own user. It will only be able to backup world-readable files.\nRun as root with special care.\n", "loc": ["services", "duplicati", "user"], "readOnly": false, "type": "string"}, "services.duplicity.cleanup.maxAge": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If non-null, delete all backup sets older than the given time.  Old backup sets\nwill not be deleted if backup sets newer than time depend on them.\n", "example": {"_type": "literalExpression", "text": "\"6M\""}, "loc": ["services", "duplicity", "cleanup", "maxAge"], "readOnly": false, "type": "null or string"}, "services.duplicity.cleanup.maxFull": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If non-null, delete all backups sets that are older than the count:th last full\nbackup (in other words, keep the last count full backups and\nassociated incremental sets).\n", "example": {"_type": "literalExpression", "text": "2"}, "loc": ["services", "duplicity", "cleanup", "maxFull"], "readOnly": false, "type": "null or signed integer"}, "services.duplicity.cleanup.maxIncr": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If non-null, delete incremental sets of all backups sets that are\nolder than the count:th last full backup (in other words, keep only\nold full backups and not their increments).\n", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "duplicity", "cleanup", "maxIncr"], "readOnly": false, "type": "null or signed integer"}, "services.duplicity.enable": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable backups with duplicity.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "duplicity", "enable"], "readOnly": false, "type": "boolean"}, "services.duplicity.exclude": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of paths to exclude from backups. See the FILE SELECTION section in\n{manpage}`duplicity(1)` for details on the syntax.\n", "loc": ["services", "duplicity", "exclude"], "readOnly": false, "type": "list of string"}, "services.duplicity.excludeFileList": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing newline-separated list of paths to exclude into the\nbackups. See the FILE SELECTION section in {manpage}`duplicity(1)` for\ndetails on the syntax.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/fileList.txt\""}, "loc": ["services", "duplicity", "excludeFileList"], "readOnly": false, "type": "null or absolute path"}, "services.duplicity.extraFlags": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line flags passed to duplicity. See\n{manpage}`duplicity(1)`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--backend-retry-delay\"\n  \"100\"\n]"}, "loc": ["services", "duplicity", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.duplicity.frequency": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "Run duplicity with the given frequency (see\n{manpage}`systemd.time(7)` for the format).\nIf null, do not run automatically.\n", "loc": ["services", "duplicity", "frequency"], "readOnly": false, "type": "null or string"}, "services.duplicity.fullIfOlderThan": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "\"never\""}, "description": "If `\"never\"` (the default) always do incremental\nbackups (the first backup will be a full backup, of course).  If\n`\"always\"` always do full backups.  Otherwise, this\nmust be a string representing a duration. Full backups will be made\nwhen the latest full backup is older than this duration. If this is not\nthe case, an incremental backup is performed.\n", "example": {"_type": "literalExpression", "text": "\"1M\""}, "loc": ["services", "duplicity", "fullIfOlderThan"], "readOnly": false, "type": "string"}, "services.duplicity.include": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of paths to include into the backups. See the FILE SELECTION\nsection in {manpage}`duplicity(1)` for details on the syntax.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/home\"\n]"}, "loc": ["services", "duplicity", "include"], "readOnly": false, "type": "list of string"}, "services.duplicity.includeFileList": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing newline-separated list of paths to include into the\nbackups. See the FILE SELECTION section in {manpage}`duplicity(1)` for\ndetails on the syntax.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/fileList.txt\""}, "loc": ["services", "duplicity", "includeFileList"], "readOnly": false, "type": "null or absolute path"}, "services.duplicity.root": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "Root directory to backup.\n", "loc": ["services", "duplicity", "root"], "readOnly": false, "type": "absolute path"}, "services.duplicity.secretFile": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of a file containing secrets (gpg passphrase, access key...) in\nthe format of EnvironmentFile as described by\n{manpage}`systemd.exec(5)`. For example:\n```\nPASSPHRASE=\u00ab...\u00bb\nAWS_ACCESS_KEY_ID=\u00ab...\u00bb\nAWS_SECRET_ACCESS_KEY=\u00ab...\u00bb\n```\n", "loc": ["services", "duplicity", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.duplicity.targetUrl": {"declarations": ["nixos/modules/services/backup/duplicity.nix"], "description": "Target url to backup to. See the URL FORMAT section in\n{manpage}`duplicity(1)` for supported urls.\n", "example": {"_type": "literalExpression", "text": "\"s3://host:port/prefix\""}, "loc": ["services", "duplicity", "targetUrl"], "readOnly": false, "type": "string"}, "services.dwm-status.enable": {"declarations": ["nixos/modules/services/misc/dwm-status.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable dwm-status user service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "dwm-status", "enable"], "readOnly": false, "type": "boolean"}, "services.dwm-status.package": {"declarations": ["nixos/modules/services/misc/dwm-status.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dwm-status"}, "description": "The dwm-status package to use.", "example": {"_type": "literalExpression", "text": "dwm-status.override { enableAlsaUtils = false; }"}, "loc": ["services", "dwm-status", "package"], "readOnly": false, "type": "package"}, "services.dwm-status.settings": {"declarations": ["nixos/modules/services/misc/dwm-status.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Config options for dwm-status, see <https://github.com/Gerschtli/dwm-status#configuration>\nfor available options.\n", "example": {"_type": "literalExpression", "text": "{\n  order = [\n    \"battery\"\n    \"cpu_load\"\n    \"time\"\n  ];\n  time = {\n    format = \"%F %a %r\";\n    update_seconds = true;\n  };\n}"}, "loc": ["services", "dwm-status", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.dwm-status.settings.order": {"declarations": ["nixos/modules/services/misc/dwm-status.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of enabled features in order.\n", "loc": ["services", "dwm-status", "settings", "order"], "readOnly": false, "type": "list of (one of \"audio\", \"backlight\", \"battery\", \"cpu_load\", \"network\", \"time\")"}, "services.dysnomia.components": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "An attribute set in which each key represents a container and each value an attribute set in which each key represents a component and each value a derivation constructing its initial state", "loc": ["services", "dysnomia", "components"], "readOnly": false, "type": "attribute set of (attribute set)"}, "services.dysnomia.containers": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "An attribute set in which each key represents a container and each value an attribute set providing its configuration properties", "loc": ["services", "dysnomia", "containers"], "readOnly": false, "type": "attribute set of (attribute set)"}, "services.dysnomia.enable": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dysnomia", "loc": ["services", "dysnomia", "enable"], "readOnly": false, "type": "boolean"}, "services.dysnomia.enableAuthentication": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to publish privacy-sensitive authentication credentials", "loc": ["services", "dysnomia", "enableAuthentication"], "readOnly": false, "type": "boolean"}, "services.dysnomia.enableLegacyModules": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Dysnomia legacy process and wrapper modules", "loc": ["services", "dysnomia", "enableLegacyModules"], "readOnly": false, "type": "boolean"}, "services.dysnomia.extraContainerPaths": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of paths containing additional container configurations that are added to the search folders", "loc": ["services", "dysnomia", "extraContainerPaths"], "readOnly": false, "type": "list of absolute path"}, "services.dysnomia.extraContainerProperties": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "An attribute set providing additional container settings in addition to the default properties", "loc": ["services", "dysnomia", "extraContainerProperties"], "readOnly": false, "type": "attribute set"}, "services.dysnomia.extraModulePaths": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of paths containing additional modules that are added to the search folders", "loc": ["services", "dysnomia", "extraModulePaths"], "readOnly": false, "type": "list of absolute path"}, "services.dysnomia.package": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "description": "The Dysnomia package", "loc": ["services", "dysnomia", "package"], "readOnly": false, "type": "absolute path"}, "services.dysnomia.properties": {"declarations": ["nixos/modules/services/misc/dysnomia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "An attribute set in which each attribute represents a machine property. Optionally, these values can be shell substitutions.", "loc": ["services", "dysnomia", "properties"], "readOnly": false, "type": "attribute set"}, "services.e-imzo.enable": {"declarations": ["nixos/modules/services/security/e-imzo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable E-IMZO.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "e-imzo", "enable"], "readOnly": false, "type": "boolean"}, "services.e-imzo.package": {"declarations": ["nixos/modules/services/security/e-imzo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.e-imzo"}, "description": "The e-imzo package to use. Official mirror deletes old versions as soon as they release new one. Feel free to use either unstable or your own custom e-imzo package and ping maintainer.", "loc": ["services", "e-imzo", "package"], "readOnly": false, "type": "package"}, "services.earlyoom.enable": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable early out of memory killing.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "earlyoom", "enable"], "readOnly": false, "type": "boolean"}, "services.earlyoom.enableDebugInfo": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable debugging messages.\n", "loc": ["services", "earlyoom", "enableDebugInfo"], "readOnly": false, "type": "boolean"}, "services.earlyoom.enableNotifications": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Send notifications about killed processes via the system d-bus.\n\nWARNING: enabling this option (while convenient) should *not* be done on a\nmachine where you do not trust the other users as it allows any other\nlocal user to DoS your session by spamming notifications.\n\nTo actually see the notifications in your GUI session, you need to have\n`systembus-notify` running as your user, which this\noption handles by enabling {option}`services.systembus-notify`.\n\nSee [README](https://github.com/rfjakob/earlyoom#notifications) for details.\n", "loc": ["services", "earlyoom", "enableNotifications"], "readOnly": false, "type": "boolean"}, "services.earlyoom.extraArgs": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line arguments to be passed to earlyoom. Each element in\nthe value list will be escaped as an argument without further\nword-breaking.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-g\"\n  \"--prefer\"\n  \"(^|/)(java|chromium)$\"\n]"}, "loc": ["services", "earlyoom", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.earlyoom.freeMemKillThreshold": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Minimum available memory (in percent) before sending SIGKILL.\nIf unset, this defaults to half of {option}`freeMemThreshold`.\n\nSee the description of [](#opt-services.earlyoom.freeMemThreshold).\n", "loc": ["services", "earlyoom", "freeMemKillThreshold"], "readOnly": false, "type": "null or integer between 1 and 100 (both inclusive)"}, "services.earlyoom.freeMemThreshold": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Minimum available memory (in percent).\n\nIf the available memory falls below this threshold (and the analog is true for\n{option}`freeSwapThreshold`) the killing begins.\nSIGTERM is sent first to the process that uses the most memory; then, if the available\nmemory falls below {option}`freeMemKillThreshold` (and the analog is true for\n{option}`freeSwapKillThreshold`), SIGKILL is sent.\n\nSee [README](https://github.com/rfjakob/earlyoom#command-line-options) for details.\n", "loc": ["services", "earlyoom", "freeMemThreshold"], "readOnly": false, "type": "integer between 1 and 100 (both inclusive)"}, "services.earlyoom.freeSwapKillThreshold": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Minimum free swap space (in percent) before sending SIGKILL.\nIf unset, this defaults to half of {option}`freeSwapThreshold`.\n\nSee the description of [](#opt-services.earlyoom.freeMemThreshold).\n", "loc": ["services", "earlyoom", "freeSwapKillThreshold"], "readOnly": false, "type": "null or integer between 1 and 100 (both inclusive)"}, "services.earlyoom.freeSwapThreshold": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Minimum free swap space (in percent) before sending SIGTERM.\n\nSee the description of [](#opt-services.earlyoom.freeMemThreshold).\n", "loc": ["services", "earlyoom", "freeSwapThreshold"], "readOnly": false, "type": "integer between 1 and 100 (both inclusive)"}, "services.earlyoom.killHook": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An absolute path to an executable to be run for each process killed.\nSome environment variables are available, see\n[README](https://github.com/rfjakob/earlyoom#notifications) and\n[the man page](https://github.com/rfjakob/earlyoom/blob/master/MANPAGE.md#-n-pathtoscript)\nfor details.\n\nWARNING: earlyoom is running in a sandbox with ProtectSystem=\"strict\"\nby default, so filesystem write is also prohibited for the hook.\nIf you want to change these protection rules, override the systemd\nservice via `systemd.services.earlyoom.serviceConfig.ProtectSystem`.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeShellScript \"earlyoom-kill-hook\" ''\n  echo \"Process $EARLYOOM_NAME ($EARLYOOM_PID) was killed\" >> /path/to/log\n''\n"}, "loc": ["services", "earlyoom", "killHook"], "readOnly": false, "type": "null or absolute path"}, "services.earlyoom.package": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "pkgs.earlyoom"}, "description": "The earlyoom package to use.", "loc": ["services", "earlyoom", "package"], "readOnly": false, "type": "package"}, "services.earlyoom.reportInterval": {"declarations": ["nixos/modules/services/system/earlyoom.nix"], "default": {"_type": "literalExpression", "text": "3600"}, "description": "Interval (in seconds) at which a memory report is printed (set to 0 to disable).", "example": {"_type": "literalExpression", "text": "0"}, "loc": ["services", "earlyoom", "reportInterval"], "readOnly": false, "type": "signed integer"}, "services.easytier.allowSystemForward": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Allow the system to forward packets from easytier. Useful when\n`proxy_forward_by_system` enabled.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "easytier", "allowSystemForward"], "readOnly": false, "type": "boolean"}, "services.easytier.enable": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable EasyTier daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "easytier", "enable"], "readOnly": false, "type": "boolean"}, "services.easytier.instances": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "EasyTier instances.\n", "example": {"_type": "literalExpression", "text": "{\n  extraSettings = {\n    flags = {\n      dev_name = \"tun1\";\n    };\n  };\n  settings = {\n    ipv4 = \"10.144.144.1/24\";\n    network_name = \"easytier\";\n    network_secret = \"easytier\";\n    peers = [\n      \"tcp://public.easytier.cn:11010\"\n      \"wss://example.com:443\"\n    ];\n  };\n}"}, "loc": ["services", "easytier", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.easytier.instances.<name>.configFile": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to easytier config file. Setting this option will\noverride `settings` and `extraSettings` of this instance.\n", "loc": ["services", "easytier", "instances", "<name>", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.easytier.instances.<name>.configServer": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configure the instance from config server. When this option\nset, any other settings for configuring the instance manually\nexcept `hostname` will be ignored. Valid formats are:\n\n- full uri for custom server: `udp://example.com:22020/<token>`\n- username only for official server: `<token>`\n", "example": {"_type": "literalExpression", "text": "\"udp://example.com:22020/myusername\""}, "loc": ["services", "easytier", "instances", "<name>", "configServer"], "readOnly": false, "type": "null or string"}, "services.easytier.instances.<name>.enable": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the instance.", "loc": ["services", "easytier", "instances", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.easytier.instances.<name>.environmentFiles": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Environment files for this instance. All command-line args\nhave corresponding environment variables.\n", "example": {"_type": "literalExpression", "text": "[\n  /path/to/.env\n  /path/to/.env.secret\n]\n"}, "loc": ["services", "easytier", "instances", "<name>", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.easytier.instances.<name>.extraArgs": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra args append to the easytier command-line.\n", "loc": ["services", "easytier", "instances", "<name>", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.easytier.instances.<name>.extraSettings": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra settings to add to {file}`easytier-\u2039name\u203a.toml`.\n", "loc": ["services", "easytier", "instances", "<name>", "extraSettings"], "readOnly": false, "type": "TOML value"}, "services.easytier.instances.<name>.settings": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings to generate {file}`easytier-\u2039name\u203a.toml`\n", "loc": ["services", "easytier", "instances", "<name>", "settings"], "readOnly": false, "type": "submodule"}, "services.easytier.instances.<name>.settings.dhcp": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically determine the IPv4 address of this peer based on\nexisting peers on network.\n", "loc": ["services", "easytier", "instances", "<name>", "settings", "dhcp"], "readOnly": false, "type": "boolean"}, "services.easytier.instances.<name>.settings.hostname": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Hostname shown in peer list and web console.", "loc": ["services", "easytier", "instances", "<name>", "settings", "hostname"], "readOnly": false, "type": "null or string"}, "services.easytier.instances.<name>.settings.instance_name": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Identify different instances on same host", "loc": ["services", "easytier", "instances", "<name>", "settings", "instance_name"], "readOnly": false, "type": "string"}, "services.easytier.instances.<name>.settings.ipv4": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IPv4 cidr address of this peer in the virtual network. If\nempty, this peer will only forward packets and no TUN device\nwill be created.\n", "example": {"_type": "literalExpression", "text": "\"10.144.144.1/24\""}, "loc": ["services", "easytier", "instances", "<name>", "settings", "ipv4"], "readOnly": false, "type": "null or string"}, "services.easytier.instances.<name>.settings.listeners": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"tcp://0.0.0.0:11010\"\n  \"udp://0.0.0.0:11010\"\n]"}, "description": "Listener addresses to accept connections from other peers.\nValid format is: `<proto>://<addr>:<port>`, where the protocol\ncan be `tcp`, `udp`, `ring`, `wg`, `ws`, `wss`.\n", "loc": ["services", "easytier", "instances", "<name>", "settings", "listeners"], "readOnly": false, "type": "list of string"}, "services.easytier.instances.<name>.settings.network_name": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "EasyTier network name.", "loc": ["services", "easytier", "instances", "<name>", "settings", "network_name"], "readOnly": false, "type": "null or string"}, "services.easytier.instances.<name>.settings.network_secret": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "EasyTier network credential used for verification and\nencryption. It can also be set in environmentFile.\n", "loc": ["services", "easytier", "instances", "<name>", "settings", "network_secret"], "readOnly": false, "type": "null or string"}, "services.easytier.instances.<name>.settings.peers": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Peers to connect initially. Valid format is: `<proto>://<addr>:<port>`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"tcp://example.com:11010\"\n]"}, "loc": ["services", "easytier", "instances", "<name>", "settings", "peers"], "readOnly": false, "type": "list of string"}, "services.easytier.package": {"declarations": ["nixos/modules/services/networking/easytier.nix"], "default": {"_type": "literalExpression", "text": "pkgs.easytier"}, "description": "The easytier package to use.", "loc": ["services", "easytier", "package"], "readOnly": false, "type": "package"}, "services.ebusd.configpath": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"https://ebus.github.io/\""}, "description": "Directory to read CSV config files from. This can be a local folder or a URL.\n", "loc": ["services", "ebusd", "configpath"], "readOnly": false, "type": "string"}, "services.ebusd.device": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Use DEV as eBUS device [/dev/ttyUSB0].\nThis can be either:\n  enh:DEVICE or enh:IP:PORT for enhanced device (only adapter v3 and newer),\n  ens:DEVICE for enhanced high speed serial device (only adapter v3 and newer with firmware since 20220731),\n  DEVICE for serial device (normal speed, for all other serial adapters like adapter v2 as well as adapter v3 in non-enhanced mode), or\n  [udp:]IP:PORT for network device.\n\nSource: <https://github.com/john30/ebusd/wiki/2.-Run#device-options>\n", "example": {"_type": "literalExpression", "text": "\"IP:PORT\""}, "loc": ["services", "ebusd", "device"], "readOnly": false, "type": "string"}, "services.ebusd.enable": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ebusd, a daemon for communication with eBUS heating systems.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ebusd", "enable"], "readOnly": false, "type": "boolean"}, "services.ebusd.extraArguments": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to the ebus daemon\n", "loc": ["services", "ebusd", "extraArguments"], "readOnly": false, "type": "list of string"}, "services.ebusd.logs.all": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Only write log for matching `AREA`s (all|main|network|bus|device|update|other) below or equal to `LEVEL` (none|error|notice|info|debug)\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "ebusd", "logs", "all"], "readOnly": false, "type": "one of \"none\", \"error\", \"notice\", \"info\", \"debug\""}, "services.ebusd.logs.bus": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Only write log for matching `AREA`s (all|main|network|bus|device|update|other) below or equal to `LEVEL` (none|error|notice|info|debug)\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "ebusd", "logs", "bus"], "readOnly": false, "type": "one of \"none\", \"error\", \"notice\", \"info\", \"debug\""}, "services.ebusd.logs.device": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Only write log for matching `AREA`s (all|main|network|bus|device|update|other) below or equal to `LEVEL` (none|error|notice|info|debug)\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "ebusd", "logs", "device"], "readOnly": false, "type": "one of \"none\", \"error\", \"notice\", \"info\", \"debug\""}, "services.ebusd.logs.main": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Only write log for matching `AREA`s (all|main|network|bus|device|update|other) below or equal to `LEVEL` (none|error|notice|info|debug)\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "ebusd", "logs", "main"], "readOnly": false, "type": "one of \"none\", \"error\", \"notice\", \"info\", \"debug\""}, "services.ebusd.logs.network": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Only write log for matching `AREA`s (all|main|network|bus|device|update|other) below or equal to `LEVEL` (none|error|notice|info|debug)\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "ebusd", "logs", "network"], "readOnly": false, "type": "one of \"none\", \"error\", \"notice\", \"info\", \"debug\""}, "services.ebusd.logs.other": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Only write log for matching `AREA`s (all|main|network|bus|device|update|other) below or equal to `LEVEL` (none|error|notice|info|debug)\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "ebusd", "logs", "other"], "readOnly": false, "type": "one of \"none\", \"error\", \"notice\", \"info\", \"debug\""}, "services.ebusd.logs.update": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Only write log for matching `AREA`s (all|main|network|bus|device|update|other) below or equal to `LEVEL` (none|error|notice|info|debug)\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "ebusd", "logs", "update"], "readOnly": false, "type": "one of \"none\", \"error\", \"notice\", \"info\", \"debug\""}, "services.ebusd.mqtt.enable": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for MQTT.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ebusd", "mqtt", "enable"], "readOnly": false, "type": "boolean"}, "services.ebusd.mqtt.home-assistant": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Adds the Home Assistant topics to MQTT, read more at [MQTT Integration](https://github.com/john30/ebusd/wiki/MQTT-integration)\n", "loc": ["services", "ebusd", "mqtt", "home-assistant"], "readOnly": false, "type": "boolean"}, "services.ebusd.mqtt.host": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Connect to MQTT broker on HOST.\n", "loc": ["services", "ebusd", "mqtt", "host"], "readOnly": false, "type": "string"}, "services.ebusd.mqtt.password": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "description": "The MQTT password.\n", "loc": ["services", "ebusd", "mqtt", "password"], "readOnly": false, "type": "string"}, "services.ebusd.mqtt.port": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "1883"}, "description": "The port on which to connect to MQTT\n", "loc": ["services", "ebusd", "mqtt", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.ebusd.mqtt.retain": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable set the retain flag on all topics instead of only selected global ones.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ebusd", "mqtt", "retain"], "readOnly": false, "type": "boolean"}, "services.ebusd.mqtt.user": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "description": "The MQTT user to use\n", "loc": ["services", "ebusd", "mqtt", "user"], "readOnly": false, "type": "string"}, "services.ebusd.package": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ebusd"}, "description": "The ebusd package to use.", "loc": ["services", "ebusd", "package"], "readOnly": false, "type": "package"}, "services.ebusd.port": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "8888"}, "description": "The port on which to listen on\n", "loc": ["services", "ebusd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.ebusd.readonly": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Only read from device, never write to it\n", "loc": ["services", "ebusd", "readonly"], "readOnly": false, "type": "boolean"}, "services.ebusd.scanconfig": {"declarations": ["nixos/modules/services/home-automation/ebusd.nix"], "default": {"_type": "literalExpression", "text": "\"full\""}, "description": "Pick CSV config files matching initial scan (\"none\" or empty for no initial scan message, \"full\" for full scan, or a single hex address to scan, default is to send a broadcast ident message).\nIf combined with --checkconfig, you can add scan message data as arguments for checking a particular scan configuration, e.g. \"FF08070400/0AB5454850303003277201\". For further details on this option,\nsee [Automatic configuration](https://github.com/john30/ebusd/wiki/4.7.-Automatic-configuration).\n", "loc": ["services", "ebusd", "scanconfig"], "readOnly": false, "type": "string"}, "services.echoip.enable": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable echoip.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "echoip", "enable"], "readOnly": false, "type": "boolean"}, "services.echoip.enablePortLookup": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable port lookup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "echoip", "enablePortLookup"], "readOnly": false, "type": "boolean"}, "services.echoip.enableReverseHostnameLookups": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable reverse hostname lookups.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "echoip", "enableReverseHostnameLookups"], "readOnly": false, "type": "boolean"}, "services.echoip.extraArgs": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments to pass to echoip. See <https://github.com/mpolden/echoip> for details.", "loc": ["services", "echoip", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.echoip.listenAddress": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "\":8080\""}, "description": "The address echoip should listen on", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:8000\""}, "loc": ["services", "echoip", "listenAddress"], "readOnly": false, "type": "string"}, "services.echoip.package": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "pkgs.echoip"}, "description": "The echoip package to use.", "loc": ["services", "echoip", "package"], "readOnly": false, "type": "package"}, "services.echoip.remoteIpHeader": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Header to trust for remote IP, if present", "example": {"_type": "literalExpression", "text": "\"X-Real-IP\""}, "loc": ["services", "echoip", "remoteIpHeader"], "readOnly": false, "type": "null or string"}, "services.echoip.virtualHost": {"declarations": ["nixos/modules/services/web-apps/echoip.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the nginx virtual host to use and setup. If null, do not setup anything.\n", "loc": ["services", "echoip", "virtualHost"], "readOnly": false, "type": "null or string"}, "services.ecs-agent.enable": {"declarations": ["nixos/modules/virtualisation/ecs-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Amazon ECS agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ecs-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.ecs-agent.extra-environment": {"declarations": ["nixos/modules/virtualisation/ecs-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The environment the ECS agent should run with. See the ECS agent documentation for keys that work here.", "loc": ["services", "ecs-agent", "extra-environment"], "readOnly": false, "type": "attribute set of string"}, "services.ecs-agent.package": {"declarations": ["nixos/modules/virtualisation/ecs-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ecs-agent"}, "description": "The ecs-agent package to use.", "loc": ["services", "ecs-agent", "package"], "readOnly": false, "type": "package"}, "services.eg25-manager.enable": {"declarations": ["nixos/modules/hardware/network/eg25-manager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Quectel EG25 modem manager service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "eg25-manager", "enable"], "readOnly": false, "type": "boolean"}, "services.eg25-manager.package": {"declarations": ["nixos/modules/hardware/network/eg25-manager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.eg25-manager"}, "description": "The eg25-manager package to use.", "loc": ["services", "eg25-manager", "package"], "readOnly": false, "type": "package"}, "services.ejabberd.configFile": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration file for ejabberd in YAML format", "loc": ["services", "ejabberd", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.ejabberd.ctlConfig": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configuration of ejabberdctl", "loc": ["services", "ejabberd", "ctlConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.ejabberd.enable": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ejabberd server", "loc": ["services", "ejabberd", "enable"], "readOnly": false, "type": "boolean"}, "services.ejabberd.group": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "\"ejabberd\""}, "description": "Group under which ejabberd is ran", "loc": ["services", "ejabberd", "group"], "readOnly": false, "type": "string"}, "services.ejabberd.imagemagick": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add ImageMagick to server's path; allows for image thumbnailing", "loc": ["services", "ejabberd", "imagemagick"], "readOnly": false, "type": "boolean"}, "services.ejabberd.loadDumps": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Configuration dumps that should be loaded on the first startup", "example": {"_type": "literalExpression", "text": "[ ./myejabberd.dump ]"}, "loc": ["services", "ejabberd", "loadDumps"], "readOnly": false, "type": "list of absolute path"}, "services.ejabberd.logsDir": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/ejabberd\""}, "description": "Location of the logfile directory of ejabberd", "loc": ["services", "ejabberd", "logsDir"], "readOnly": false, "type": "absolute path"}, "services.ejabberd.package": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ejabberd"}, "description": "The ejabberd package to use.", "loc": ["services", "ejabberd", "package"], "readOnly": false, "type": "package"}, "services.ejabberd.spoolDir": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/ejabberd\""}, "description": "Location of the spooldir of ejabberd", "loc": ["services", "ejabberd", "spoolDir"], "readOnly": false, "type": "absolute path"}, "services.ejabberd.user": {"declarations": ["nixos/modules/services/networking/ejabberd.nix"], "default": {"_type": "literalExpression", "text": "\"ejabberd\""}, "description": "User under which ejabberd is ran", "loc": ["services", "ejabberd", "user"], "readOnly": false, "type": "string"}, "services.elasticsearch-curator.actionYAML": {"declarations": ["nixos/modules/services/search/elasticsearch-curator.nix"], "description": "curator action.yaml file contents, alternatively use curator-cli which takes a simple action command", "example": {"_type": "literalExpression", "text": "''\n  ---\n  actions:\n    1:\n      action: delete_indices\n      description: >-\n        Delete indices older than 45 days (based on index name), for logstash-\n        prefixed indices. Ignore the error if the filter does not result in an\n        actionable list of indices (ignore_empty_list) and exit cleanly.\n      options:\n        ignore_empty_list: True\n        disable_action: False\n      filters:\n      - filtertype: pattern\n        kind: prefix\n        value: logstash-\n      - filtertype: age\n        source: name\n        direction: older\n        timestring: '%Y.%m.%d'\n        unit: days\n        unit_count: 45\n''"}, "loc": ["services", "elasticsearch-curator", "actionYAML"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.elasticsearch-curator.enable": {"declarations": ["nixos/modules/services/search/elasticsearch-curator.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable elasticsearch curator.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "elasticsearch-curator", "enable"], "readOnly": false, "type": "boolean"}, "services.elasticsearch-curator.hosts": {"declarations": ["nixos/modules/services/search/elasticsearch-curator.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"localhost\"\n]"}, "description": "a list of elasticsearch hosts to connect to", "loc": ["services", "elasticsearch-curator", "hosts"], "readOnly": false, "type": "list of string"}, "services.elasticsearch-curator.interval": {"declarations": ["nixos/modules/services/search/elasticsearch-curator.nix"], "default": {"_type": "literalExpression", "text": "\"hourly\""}, "description": "The frequency to run curator, a systemd.time such as 'hourly'", "loc": ["services", "elasticsearch-curator", "interval"], "readOnly": false, "type": "string"}, "services.elasticsearch-curator.port": {"declarations": ["nixos/modules/services/search/elasticsearch-curator.nix"], "default": {"_type": "literalExpression", "text": "9200"}, "description": "the port that elasticsearch is listening on", "loc": ["services", "elasticsearch-curator", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.elasticsearch.cluster_name": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "\"elasticsearch\""}, "description": "Elasticsearch name that identifies your cluster for auto-discovery.", "loc": ["services", "elasticsearch", "cluster_name"], "readOnly": false, "type": "string"}, "services.elasticsearch.dataDir": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/elasticsearch\""}, "description": "Data directory for elasticsearch.\n", "loc": ["services", "elasticsearch", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.elasticsearch.enable": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable elasticsearch.", "loc": ["services", "elasticsearch", "enable"], "readOnly": false, "type": "boolean"}, "services.elasticsearch.extraCmdLineOptions": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options for the elasticsearch launcher.", "loc": ["services", "elasticsearch", "extraCmdLineOptions"], "readOnly": false, "type": "list of string"}, "services.elasticsearch.extraConf": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration for elasticsearch.", "example": {"_type": "literalExpression", "text": "''\n  node.name: \"elasticsearch\"\n  node.master: true\n  node.data: false\n''"}, "loc": ["services", "elasticsearch", "extraConf"], "readOnly": false, "type": "string"}, "services.elasticsearch.extraJavaOptions": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options for Java.", "example": {"_type": "literalExpression", "text": "[\n  \"-Djava.net.preferIPv4Stack=true\"\n]"}, "loc": ["services", "elasticsearch", "extraJavaOptions"], "readOnly": false, "type": "list of string"}, "services.elasticsearch.listenAddress": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Elasticsearch listen address.", "loc": ["services", "elasticsearch", "listenAddress"], "readOnly": false, "type": "string"}, "services.elasticsearch.logging": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "''\n  logger.action.name = org.elasticsearch.action\n  logger.action.level = info\n  \n  appender.console.type = Console\n  appender.console.name = console\n  appender.console.layout.type = PatternLayout\n  appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n\n  \n  rootLogger.level = info\n  rootLogger.appenderRef.console.ref = console\n''"}, "description": "Elasticsearch logging configuration.", "loc": ["services", "elasticsearch", "logging"], "readOnly": false, "type": "string"}, "services.elasticsearch.package": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "pkgs.elasticsearch"}, "description": "The elasticsearch package to use.", "loc": ["services", "elasticsearch", "package"], "readOnly": false, "type": "package"}, "services.elasticsearch.plugins": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra elasticsearch plugins", "example": {"_type": "literalExpression", "text": "[ pkgs.elasticsearchPlugins.discovery-ec2 ]"}, "loc": ["services", "elasticsearch", "plugins"], "readOnly": false, "type": "list of package"}, "services.elasticsearch.port": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "9200"}, "description": "Elasticsearch port to listen for HTTP traffic.", "loc": ["services", "elasticsearch", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.elasticsearch.restartIfChanged": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on a server or cluster.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "elasticsearch", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.elasticsearch.single_node": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Start a single-node cluster", "loc": ["services", "elasticsearch", "single_node"], "readOnly": false, "type": "boolean"}, "services.elasticsearch.tcp_port": {"declarations": ["nixos/modules/services/search/elasticsearch.nix"], "default": {"_type": "literalExpression", "text": "9300"}, "description": "Elasticsearch port for the node to node communication.", "loc": ["services", "elasticsearch", "tcp_port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.elephant.enable": {"declarations": ["nixos/modules/services/misc/elephant.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Elephant application launcher backend.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "elephant", "enable"], "readOnly": false, "type": "boolean"}, "services.elephant.package": {"declarations": ["nixos/modules/services/misc/elephant.nix"], "default": {"_type": "literalExpression", "text": "pkgs.elephant"}, "description": "The elephant package to use.", "loc": ["services", "elephant", "package"], "readOnly": false, "type": "package"}, "services.emacs.defaultEditor": {"declarations": ["nixos/modules/services/editors/emacs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When enabled, configures emacsclient to be the default editor\nusing the EDITOR environment variable.\n", "loc": ["services", "emacs", "defaultEditor"], "readOnly": false, "type": "boolean"}, "services.emacs.enable": {"declarations": ["nixos/modules/services/editors/emacs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a user service for the Emacs daemon. Use `emacsclient` to connect to the\ndaemon. If `true`, {var}`services.emacs.install` is\nconsidered `true`.\n", "loc": ["services", "emacs", "enable"], "readOnly": false, "type": "boolean"}, "services.emacs.install": {"declarations": ["nixos/modules/services/editors/emacs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to install a user service for the Emacs daemon. Once\nthe service is started, use emacsclient to connect to the\ndaemon.\n\nThe service must be manually started for each user with\n\"systemctl --user start emacs\" or globally through\n{var}`services.emacs.enable`.\n", "loc": ["services", "emacs", "install"], "readOnly": false, "type": "boolean"}, "services.emacs.package": {"declarations": ["nixos/modules/services/editors/emacs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.emacs"}, "description": "The emacs package to use.", "loc": ["services", "emacs", "package"], "readOnly": false, "type": "package"}, "services.emacs.startWithGraphical": {"declarations": ["nixos/modules/services/editors/emacs.nix"], "default": {"_type": "literalExpression", "text": "config.services.xserver.enable"}, "description": "Start emacs with the graphical session instead of any session. Without this, emacs clients will not be able to create frames in the graphical session.\n", "loc": ["services", "emacs", "startWithGraphical"], "readOnly": false, "type": "boolean"}, "services.endlessh-go.enable": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable endlessh-go service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "endlessh-go", "enable"], "readOnly": false, "type": "boolean"}, "services.endlessh-go.extraOptions": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line options to pass to the endlessh-go daemon.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-conn_type=tcp4\"\n  \"-max_clients=8192\"\n]"}, "loc": ["services", "endlessh-go", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.endlessh-go.listenAddress": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Interface address to bind the endlessh-go daemon to SSH connections.\n", "example": {"_type": "literalExpression", "text": "\"[::]\""}, "loc": ["services", "endlessh-go", "listenAddress"], "readOnly": false, "type": "string"}, "services.endlessh-go.openFirewall": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open a firewall port for the SSH listener.\n", "loc": ["services", "endlessh-go", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.endlessh-go.package": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "pkgs.endlessh-go"}, "description": "The endlessh-go package to use.", "loc": ["services", "endlessh-go", "package"], "readOnly": false, "type": "package"}, "services.endlessh-go.port": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "2222"}, "description": "Specifies on which port the endlessh-go daemon listens for SSH\nconnections.\n\nSetting this to `22` may conflict with {option}`services.openssh`.\n", "example": {"_type": "literalExpression", "text": "22"}, "loc": ["services", "endlessh-go", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.endlessh-go.prometheus.enable": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Prometheus integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "endlessh-go", "prometheus", "enable"], "readOnly": false, "type": "boolean"}, "services.endlessh-go.prometheus.listenAddress": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Interface address to bind the endlessh-go daemon to answer Prometheus\nqueries.\n", "example": {"_type": "literalExpression", "text": "\"[::]\""}, "loc": ["services", "endlessh-go", "prometheus", "listenAddress"], "readOnly": false, "type": "string"}, "services.endlessh-go.prometheus.port": {"declarations": ["nixos/modules/services/security/endlessh-go.nix"], "default": {"_type": "literalExpression", "text": "2112"}, "description": "Specifies on which port the endlessh-go daemon listens for Prometheus\nqueries.\n", "example": {"_type": "literalExpression", "text": "9119"}, "loc": ["services", "endlessh-go", "prometheus", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.endlessh.enable": {"declarations": ["nixos/modules/services/security/endlessh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable endlessh service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "endlessh", "enable"], "readOnly": false, "type": "boolean"}, "services.endlessh.extraOptions": {"declarations": ["nixos/modules/services/security/endlessh.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line options to pass to the endlessh daemon.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-6\"\n  \"-d 9000\"\n  \"-v\"\n]"}, "loc": ["services", "endlessh", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.endlessh.openFirewall": {"declarations": ["nixos/modules/services/security/endlessh.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open a firewall port for the SSH listener.\n", "loc": ["services", "endlessh", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.endlessh.port": {"declarations": ["nixos/modules/services/security/endlessh.nix"], "default": {"_type": "literalExpression", "text": "2222"}, "description": "Specifies on which port the endlessh daemon listens for SSH\nconnections.\n\nSetting this to `22` may conflict with {option}`services.openssh`.\n", "example": {"_type": "literalExpression", "text": "22"}, "loc": ["services", "endlessh", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.engelsystem.createDatabase": {"declarations": ["nixos/modules/services/web-apps/engelsystem.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to create a local database automatically.\nThis will override every database setting in {option}`services.engelsystem.settings`.\n", "loc": ["services", "engelsystem", "createDatabase"], "readOnly": false, "type": "boolean"}, "services.engelsystem.domain": {"declarations": ["nixos/modules/services/web-apps/engelsystem.nix"], "description": "Domain to serve on.", "example": {"_type": "literalExpression", "text": "\"engelsystem.example.com\""}, "loc": ["services", "engelsystem", "domain"], "readOnly": false, "type": "string"}, "services.engelsystem.enable": {"declarations": ["nixos/modules/services/web-apps/engelsystem.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable engelsystem, an online tool for coordinating volunteers and shifts on large events.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "engelsystem", "enable"], "readOnly": false, "type": "boolean"}, "services.engelsystem.package": {"declarations": ["nixos/modules/services/web-apps/engelsystem.nix"], "default": {"_type": "literalExpression", "text": "pkgs.engelsystem"}, "description": "The engelsystem package to use.", "loc": ["services", "engelsystem", "package"], "readOnly": false, "type": "package"}, "services.engelsystem.settings": {"declarations": ["nixos/modules/services/web-apps/engelsystem.nix"], "default": {"_type": "literalExpression", "text": "{\n  database = {\n    database = \"engelsystem\";\n    host = \"localhost\";\n    username = \"engelsystem\";\n  };\n}"}, "description": "Options to be added to config.php, as a nix attribute set. Options containing secret data\nshould be set to an attribute set containing the attribute _secret - a string pointing to a\nfile containing the value the option should be set to. See the example to get a better\npicture of this: in the resulting config.php file, the email.password key will be set to\nthe contents of the /var/keys/engelsystem/mail file.\n\nSee <https://engelsystem.de/doc/admin/configuration/> for available options.\n\nNote that the admin user login credentials cannot be set here - they always default to\nadmin:asdfasdf. Log in and change them immediately.\n", "example": {"_type": "literalExpression", "text": "{\n  autoarrive = true;\n  database = {\n    database = \"engelsystem\";\n    host = \"database.example.com\";\n    password = {\n      _secret = \"/var/keys/engelsystem/database\";\n    };\n    username = \"engelsystem\";\n  };\n  default_locale = \"de_DE\";\n  email = {\n    driver = \"smtp\";\n    encryption = \"tls\";\n    from = {\n      address = \"engelsystem@example.com\";\n      name = \"example engelsystem\";\n    };\n    host = \"smtp.example.com\";\n    password = {\n      _secret = \"/var/keys/engelsystem/mail\";\n    };\n    port = 587;\n    username = \"engelsystem@example.com\";\n  };\n  maintenance = false;\n  min_password_length = 6;\n}"}, "loc": ["services", "engelsystem", "settings"], "readOnly": false, "type": "attribute set"}, "services.ente.api.domain": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The domain under which the api will be served.", "example": {"_type": "literalExpression", "text": "\"api.ente.example.com\""}, "loc": ["services", "ente", "api", "domain"], "readOnly": false, "type": "string"}, "services.ente.api.enable": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Museum (API server for ente.io).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ente", "api", "enable"], "readOnly": false, "type": "boolean"}, "services.ente.api.enableLocalDB": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the automatic creation of a local postgres database for museum..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ente", "api", "enableLocalDB"], "readOnly": false, "type": "boolean"}, "services.ente.api.group": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "\"ente\""}, "description": "Group under which museum runs. If you set this option you must make sure the group exists.", "loc": ["services", "ente", "api", "group"], "readOnly": false, "type": "string"}, "services.ente.api.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nginx proxy for the API server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ente", "api", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.ente.api.package": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "pkgs.museum"}, "description": "The museum package to use.", "loc": ["services", "ente", "api", "package"], "readOnly": false, "type": "package"}, "services.ente.api.settings": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Museum yaml configuration. Refer to upstream [local.yaml](https://github.com/ente-io/ente/blob/main/server/configurations/local.yaml) for more information.\nYou can specify secret values in this configuration by setting `somevalue._secret = \"/path/to/file\"` instead of setting `somevalue` directly.\n", "loc": ["services", "ente", "api", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.ente.api.settings.apps.accounts": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "\"https://accounts.ente.io\""}, "description": "Set this to the URL where your accounts page is running.\nThis is primarily for passkey support.\n", "loc": ["services", "ente", "api", "settings", "apps", "accounts"], "readOnly": false, "type": "string"}, "services.ente.api.settings.apps.cast": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "\"https://cast.ente.io\""}, "description": "Set this to the URL where your cast page is running.\nThis is for browser and chromecast casting support.\n", "loc": ["services", "ente", "api", "settings", "apps", "cast"], "readOnly": false, "type": "string"}, "services.ente.api.settings.apps.public-albums": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "\"https://albums.ente.io\""}, "description": "If you're running a self hosted instance and wish to serve public links,\nset this to the URL where your albums web app is running.\n", "loc": ["services", "ente", "api", "settings", "apps", "public-albums"], "readOnly": false, "type": "string"}, "services.ente.api.settings.db.host": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The database host", "loc": ["services", "ente", "api", "settings", "db", "host"], "readOnly": false, "type": "string"}, "services.ente.api.settings.db.name": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The database name", "loc": ["services", "ente", "api", "settings", "db", "name"], "readOnly": false, "type": "string"}, "services.ente.api.settings.db.port": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "The database port", "loc": ["services", "ente", "api", "settings", "db", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.ente.api.settings.db.user": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The database user", "loc": ["services", "ente", "api", "settings", "db", "user"], "readOnly": false, "type": "string"}, "services.ente.api.user": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "\"ente\""}, "description": "User under which museum runs. If you set this option you must make sure the user exists.", "loc": ["services", "ente", "api", "user"], "readOnly": false, "type": "string"}, "services.ente.web.domains.accounts": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The domain under which the accounts frontend will be served.", "example": {"_type": "literalExpression", "text": "\"accounts.ente.example.com\""}, "loc": ["services", "ente", "web", "domains", "accounts"], "readOnly": false, "type": "string"}, "services.ente.web.domains.albums": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The domain under which the albums frontend will be served.", "example": {"_type": "literalExpression", "text": "\"albums.ente.example.com\""}, "loc": ["services", "ente", "web", "domains", "albums"], "readOnly": false, "type": "string"}, "services.ente.web.domains.api": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The domain under which the api is served. This will NOT serve the api itself,\nbut is a required setting to host the frontends! This will automatically be set\nfor you if you enable both the api server and web frontends.\n", "example": {"_type": "literalExpression", "text": "\"api.ente.example.com\""}, "loc": ["services", "ente", "web", "domains", "api"], "readOnly": false, "type": "string"}, "services.ente.web.domains.cast": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The domain under which the cast frontend will be served.", "example": {"_type": "literalExpression", "text": "\"cast.ente.example.com\""}, "loc": ["services", "ente", "web", "domains", "cast"], "readOnly": false, "type": "string"}, "services.ente.web.domains.photos": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "description": "The domain under which the photos frontend will be served.", "example": {"_type": "literalExpression", "text": "\"photos.ente.example.com\""}, "loc": ["services", "ente", "web", "domains", "photos"], "readOnly": false, "type": "string"}, "services.ente.web.enable": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ente web frontend (Photos, Albums).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ente", "web", "enable"], "readOnly": false, "type": "boolean"}, "services.ente.web.package": {"declarations": ["nixos/modules/services/web-apps/ente.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ente-web"}, "description": "The ente-web package to use.", "loc": ["services", "ente", "web", "package"], "readOnly": false, "type": "package"}, "services.envfs.enable": {"declarations": ["nixos/modules/tasks/filesystems/envfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Fuse filesystem that returns symlinks to executables based on the PATH\nof the requesting process. This is useful to execute shebangs on NixOS\nthat assume hard coded locations in locations like /bin or /usr/bin\netc.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "envfs", "enable"], "readOnly": false, "type": "boolean"}, "services.envfs.extraFallbackPathCommands": {"declarations": ["nixos/modules/tasks/filesystems/envfs.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra commands to run in the package that contains fallback executables in case not other executable is found", "example": {"_type": "literalExpression", "text": "\"ln -s $''{pkgs.bash}/bin/bash $out/bash\""}, "loc": ["services", "envfs", "extraFallbackPathCommands"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.envfs.package": {"declarations": ["nixos/modules/tasks/filesystems/envfs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.envfs"}, "description": "Which package to use for the envfs.", "loc": ["services", "envfs", "package"], "readOnly": false, "type": "package"}, "services.envoy.enable": {"declarations": ["nixos/modules/services/networking/envoy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Envoy reverse proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "envoy", "enable"], "readOnly": false, "type": "boolean"}, "services.envoy.package": {"declarations": ["nixos/modules/services/networking/envoy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.envoy"}, "description": "The envoy package to use.", "loc": ["services", "envoy", "package"], "readOnly": false, "type": "package"}, "services.envoy.requireValidConfig": {"declarations": ["nixos/modules/services/networking/envoy.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether a failure during config validation at build time is fatal.\nWhen the config can't be checked during build time, for example when it includes\nother files, disable this option.\n", "loc": ["services", "envoy", "requireValidConfig"], "readOnly": false, "type": "boolean"}, "services.envoy.settings": {"declarations": ["nixos/modules/services/networking/envoy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify the configuration for Envoy in Nix.\n", "example": {"_type": "literalExpression", "text": "{\n  admin = {\n    access_log_path = \"/dev/null\";\n    address = {\n      socket_address = {\n        protocol = \"TCP\";\n        address = \"127.0.0.1\";\n        port_value = 9901;\n      };\n    };\n  };\n  static_resources = {\n    listeners = [];\n    clusters = [];\n  };\n}\n"}, "loc": ["services", "envoy", "settings"], "readOnly": false, "type": "JSON value"}, "services.epgstation.database.name": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "\"epgstation\""}, "description": "Name of the MySQL database that holds EPGStation's data.\n", "loc": ["services", "epgstation", "database", "name"], "readOnly": false, "type": "string"}, "services.epgstation.database.passwordFile": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "description": "A file containing the password for the database named\n{option}`database.name`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/epgstation-db-password\""}, "loc": ["services", "epgstation", "database", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.epgstation.enable": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable EPGStation: DVR system for Mirakurun-managed TV tuners.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "epgstation", "enable"], "readOnly": false, "type": "boolean"}, "services.epgstation.ffmpeg": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ffmpeg-headless"}, "description": "The ffmpeg package to use.", "example": {"_type": "literalExpression", "text": "ffmpeg-full"}, "loc": ["services", "epgstation", "ffmpeg"], "readOnly": false, "type": "package"}, "services.epgstation.openFirewall": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the EPGStation web interface.\n\n::: {.warning}\nExposing EPGStation to the open internet is generally advised\nagainst. Only use it inside a trusted local network, or consider\nputting it behind a VPN if you want remote access.\n:::\n", "loc": ["services", "epgstation", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.epgstation.package": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.epgstation"}, "description": "The epgstation package to use.", "loc": ["services", "epgstation", "package"], "readOnly": false, "type": "package"}, "services.epgstation.settings": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options to add to config.yml.\n\nDocumentation:\n<https://github.com/l3tnun/EPGStation/blob/master/doc/conf-manual.md>\n", "example": {"_type": "literalExpression", "text": "{\n  conflictPriority = 10;\n  recPriority = 20;\n}"}, "loc": ["services", "epgstation", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.epgstation.settings.clientSocketioPort": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "config.services.epgstation.settings.socketioPort"}, "description": "Socket.io port that the web client is going to connect to. This may\nbe different from {option}`services.epgstation.settings.socketioPort` if\nEPGStation is hidden behind a reverse proxy.\n", "loc": ["services", "epgstation", "settings", "clientSocketioPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.epgstation.settings.concurrentEncodeNum": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "The maximum number of encoding jobs that EPGStation would run at the\nsame time.\n", "loc": ["services", "epgstation", "settings", "concurrentEncodeNum"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.epgstation.settings.encode": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "[\n  {\n    name = \"H.264\";\n    cmd = \"%NODE% config.services.epgstation.package/libexec/enc.js\";\n    suffix = \".mp4\";\n  }\n]\n"}, "description": "Encoding presets for recorded videos.", "loc": ["services", "epgstation", "settings", "encode"], "readOnly": false, "type": "list of (attribute set)"}, "services.epgstation.settings.encodeProcessNum": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "The maximum number of processes that EPGStation would allow to run\nat the same time for encoding or streaming videos.\n", "loc": ["services", "epgstation", "settings", "encodeProcessNum"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.epgstation.settings.mirakurunPath": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "\"http+unix://${lib.replaceStrings [\"/\"] [\"%2F\"] config.services.mirakurun.unixSocket}\"\n"}, "description": "URL to connect to Mirakurun.", "example": {"_type": "literalExpression", "text": "\"http://localhost:40772\""}, "loc": ["services", "epgstation", "settings", "mirakurunPath"], "readOnly": false, "type": "string"}, "services.epgstation.settings.port": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "20772"}, "description": "HTTP port for EPGStation to listen on.\n", "loc": ["services", "epgstation", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.epgstation.settings.socketioPort": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "config.services.epgstation.settings.port + 1"}, "description": "Socket.io port for EPGStation to listen on. It is valid to share\nports with {option}`services.epgstation.settings.port`.\n", "loc": ["services", "epgstation", "settings", "socketioPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.epgstation.usePreconfiguredStreaming": {"declarations": ["nixos/modules/services/video/epgstation/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use preconfigured default streaming options.\n\nUpstream defaults:\n<https://github.com/l3tnun/EPGStation/blob/master/config/config.yml.template>\n", "loc": ["services", "epgstation", "usePreconfiguredStreaming"], "readOnly": false, "type": "boolean"}, "services.epmd.enable": {"declarations": ["nixos/modules/services/networking/epmd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable socket activation for Erlang Port Mapper Daemon (epmd),\nwhich acts as a name server on all hosts involved in distributed\nErlang computations.\n", "loc": ["services", "epmd", "enable"], "readOnly": false, "type": "boolean"}, "services.epmd.listenStream": {"declarations": ["nixos/modules/services/networking/epmd.nix"], "default": {"_type": "literalExpression", "text": "\"[::]:4369\""}, "description": "the listenStream used by the systemd socket.\nsee <https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream=> for more information.\nuse this to change the port epmd will run on.\nif not defined, epmd will use \"[::]:4369\"\n", "loc": ["services", "epmd", "listenStream"], "readOnly": false, "type": "string or list of string"}, "services.epmd.package": {"declarations": ["nixos/modules/services/networking/epmd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.erlang"}, "description": "The erlang package to use.", "loc": ["services", "epmd", "package"], "readOnly": false, "type": "package"}, "services.ergo.api.keyHash": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Hex-encoded Blake2b256 hash of an API key as a 64-chars long Base16 string.", "example": {"_type": "literalExpression", "text": "\"324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf\""}, "loc": ["services", "ergo", "api", "keyHash"], "readOnly": false, "type": "null or string"}, "services.ergo.api.listen.ip": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "IP address that the Ergo node API should listen on if {option}`api.keyHash` is defined.", "loc": ["services", "ergo", "api", "listen", "ip"], "readOnly": false, "type": "string"}, "services.ergo.api.listen.port": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "9052"}, "description": "Listen port for the API endpoint if {option}`api.keyHash` is defined.", "loc": ["services", "ergo", "api", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.ergo.dataDir": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/ergo\""}, "description": "The data directory for the Ergo node.", "loc": ["services", "ergo", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.ergo.enable": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ergo service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ergo", "enable"], "readOnly": false, "type": "boolean"}, "services.ergo.group": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "config.services.ergo.user"}, "description": "The group as which to run the Ergo node.", "loc": ["services", "ergo", "group"], "readOnly": false, "type": "string"}, "services.ergo.listen.ip": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "IP address on which the Ergo node should listen.", "loc": ["services", "ergo", "listen", "ip"], "readOnly": false, "type": "string"}, "services.ergo.listen.port": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "9006"}, "description": "Listen port for the Ergo node.", "loc": ["services", "ergo", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.ergo.openFirewall": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the Ergo node as well as the API.", "loc": ["services", "ergo", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.ergo.testnet": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Connect to testnet network instead of the default mainnet.", "loc": ["services", "ergo", "testnet"], "readOnly": false, "type": "boolean"}, "services.ergo.user": {"declarations": ["nixos/modules/services/networking/ergo.nix"], "default": {"_type": "literalExpression", "text": "\"ergo\""}, "description": "The user as which to run the Ergo node.", "loc": ["services", "ergo", "user"], "readOnly": false, "type": "string"}, "services.ergochat.configFile": {"declarations": ["nixos/modules/services/networking/ergochat.nix"], "default": {"_type": "literalMD", "text": "generated config file from `settings`"}, "description": "Path to configuration file.\nSetting this will skip any configuration done via `settings`\n", "loc": ["services", "ergochat", "configFile"], "readOnly": false, "type": "absolute path"}, "services.ergochat.enable": {"declarations": ["nixos/modules/services/networking/ergochat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ergo IRC daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ergochat", "enable"], "readOnly": false, "type": "boolean"}, "services.ergochat.openFilesLimit": {"declarations": ["nixos/modules/services/networking/ergochat.nix"], "default": {"_type": "literalExpression", "text": "1024"}, "description": "Maximum number of open files. Limits the clients and server connections.\n", "loc": ["services", "ergochat", "openFilesLimit"], "readOnly": false, "type": "signed integer"}, "services.ergochat.settings": {"declarations": ["nixos/modules/services/networking/ergochat.nix"], "default": {"_type": "literalExpression", "text": "{\n  accounts = {\n    authentication-enabled = true;\n    multiclient = {\n      allowed-by-default = true;\n      always-on = \"opt-out\";\n      auto-away = \"opt-out\";\n      enabled = true;\n    };\n    registration = {\n      allow-before-connect = true;\n      bcrypt-cost = 4;\n      email-verification = {\n        enabled = false;\n      };\n      enabled = true;\n      throttling = {\n        duration = \"10m\";\n        enabled = true;\n        max-attempts = 30;\n      };\n    };\n  };\n  channels = {\n    default-modes = \"+ntC\";\n    registration = {\n      enabled = true;\n    };\n  };\n  datastore = {\n    autoupgrade = true;\n    path = \"/var/lib/ergo/ircd.db\";\n  };\n  history = {\n    autoreplay-on-join = 0;\n    autoresize-window = \"3d\";\n    channel-length = 2048;\n    chathistory-maxmessages = 100;\n    client-length = 256;\n    enabled = true;\n    restrictions = {\n      expire-time = \"1w\";\n      grace-period = \"1h\";\n      query-cutoff = \"none\";\n    };\n    retention = {\n      allow-individual-delete = false;\n      enable-account-indexing = false;\n    };\n    tagmsg-storage = {\n      default = false;\n      whitelist = [\n        \"+draft/react\"\n        \"+react\"\n      ];\n    };\n    znc-maxmessages = 2048;\n  };\n  limits = {\n    awaylen = 390;\n    channellen = 64;\n    identlen = 20;\n    kicklen = 390;\n    nicklen = 32;\n    topiclen = 390;\n  };\n  network = {\n    name = \"testnetwork\";\n  };\n  server = {\n    casemapping = \"permissive\";\n    check-ident = false;\n    enforce-utf = true;\n    forward-confirm-hostnames = false;\n    ip-cloaking = {\n      enabled = false;\n    };\n    ip-limits = {\n      count = false;\n      throttle = false;\n    };\n    listeners = {\n      \":6667\" = { };\n    };\n    lookup-hostnames = false;\n    max-sendq = \"1M\";\n    name = \"example.com\";\n    relaymsg = {\n      enabled = false;\n    };\n  };\n}"}, "description": "Ergo IRC daemon configuration file.\nhttps://raw.githubusercontent.com/ergochat/ergo/master/default.yaml\n", "loc": ["services", "ergochat", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.erigon.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/erigon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ethereum implementation on the efficiency frontier.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "erigon", "enable"], "readOnly": false, "type": "boolean"}, "services.erigon.extraArgs": {"declarations": ["nixos/modules/services/blockchain/ethereum/erigon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments passed to Erigon", "loc": ["services", "erigon", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.erigon.package": {"declarations": ["nixos/modules/services/blockchain/ethereum/erigon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.erigon"}, "description": "The erigon package to use.", "loc": ["services", "erigon", "package"], "readOnly": false, "type": "package"}, "services.erigon.secretJwtPath": {"declarations": ["nixos/modules/services/blockchain/ethereum/erigon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Path to the secret jwt used for the http api authentication.\n", "example": {"_type": "literalExpression", "text": "\"config.age.secrets.ERIGON_JWT.path\""}, "loc": ["services", "erigon", "secretJwtPath"], "readOnly": false, "type": "absolute path"}, "services.erigon.settings": {"declarations": ["nixos/modules/services/blockchain/ethereum/erigon.nix"], "default": {"_type": "literalExpression", "text": "{\n  datadir = \"/var/lib/erigon\";\n  chain = \"mainnet\";\n  http = true;\n  \"http.port\" = 8545;\n  \"http.api\" = [\"eth\" \"debug\" \"net\" \"trace\" \"web3\" \"erigon\"];\n  ws = true;\n  port = 30303;\n  \"authrpc.port\" = 8551;\n  \"torrent.port\" = 42069;\n  \"private.api.addr\" = \"localhost:9090\";\n  \"log.console.verbosity\" = 3; # info\n}\n"}, "description": "Configuration for Erigon\nRefer to <https://github.com/ledgerwatch/erigon#usage> for details on supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  \"authrpc.port\" = 8551;\n  chain = \"mainnet\";\n  datadir = \"/var/lib/erigon\";\n  http = true;\n  \"http.api\" = [\n    \"eth\"\n    \"debug\"\n    \"net\"\n    \"trace\"\n    \"web3\"\n    \"erigon\"\n  ];\n  \"http.port\" = 8545;\n  \"log.console.verbosity\" = 3;\n  port = 30303;\n  \"private.api.addr\" = \"localhost:9090\";\n  \"torrent.port\" = 42069;\n  ws = true;\n}"}, "loc": ["services", "erigon", "settings"], "readOnly": false, "type": "TOML value"}, "services.errbot.instances": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Errbot instance configs", "loc": ["services", "errbot", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.errbot.instances.<name>.admins": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of identifiers of errbot admins.", "loc": ["services", "errbot", "instances", "<name>", "admins"], "readOnly": false, "type": "list of string"}, "services.errbot.instances.<name>.backend": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "\"XMPP\""}, "description": "Errbot backend name.", "loc": ["services", "errbot", "instances", "<name>", "backend"], "readOnly": false, "type": "string"}, "services.errbot.instances.<name>.dataDir": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Data directory for errbot instance.", "loc": ["services", "errbot", "instances", "<name>", "dataDir"], "readOnly": false, "type": "null or absolute path"}, "services.errbot.instances.<name>.extraConfig": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "String to be appended to the config verbatim", "loc": ["services", "errbot", "instances", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.errbot.instances.<name>.identity": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Errbot identity configuration", "loc": ["services", "errbot", "instances", "<name>", "identity"], "readOnly": false, "type": "attribute set"}, "services.errbot.instances.<name>.logLevel": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "\"INFO\""}, "description": "Errbot log level", "loc": ["services", "errbot", "instances", "<name>", "logLevel"], "readOnly": false, "type": "string"}, "services.errbot.instances.<name>.plugins": {"declarations": ["nixos/modules/services/misc/errbot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of errbot plugin derivations.", "loc": ["services", "errbot", "instances", "<name>", "plugins"], "readOnly": false, "type": "list of package"}, "services.ersatztv.baseUrl": {"declarations": ["nixos/modules/services/misc/ersatztv.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "Base URL to support reverse proxies that use paths (e.g. `/ersatztv`)\n", "loc": ["services", "ersatztv", "baseUrl"], "readOnly": false, "type": "string"}, "services.ersatztv.enable": {"declarations": ["nixos/modules/services/misc/ersatztv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ErsatzTV.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ersatztv", "enable"], "readOnly": false, "type": "boolean"}, "services.ersatztv.environment": {"declarations": ["nixos/modules/services/misc/ersatztv.nix"], "default": {"_type": "literalExpression", "text": "{\n  ETV_BASE_URL = \"/\";\n  ETV_UI_PORT = 8409;\n}"}, "description": "Environment variables to set for the ErsatzTV service.", "example": {"_type": "literalExpression", "text": "{\n  ETV_STREAMING_PORT = 8001;\n  ETV_UI_PORT = 8000;\n}"}, "loc": ["services", "ersatztv", "environment"], "readOnly": false, "type": "attribute set of (string or signed integer or floating point number or boolean or absolute path or package)"}, "services.ersatztv.group": {"declarations": ["nixos/modules/services/misc/ersatztv.nix"], "default": {"_type": "literalExpression", "text": "\"ersatztv\""}, "description": "Group under which ErsatzTV runs.", "loc": ["services", "ersatztv", "group"], "readOnly": false, "type": "string"}, "services.ersatztv.openFirewall": {"declarations": ["nixos/modules/services/misc/ersatztv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the default ports in the firewall for the server.\n", "loc": ["services", "ersatztv", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.ersatztv.package": {"declarations": ["nixos/modules/services/misc/ersatztv.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ersatztv"}, "description": "The ersatztv package to use.", "loc": ["services", "ersatztv", "package"], "readOnly": false, "type": "package"}, "services.ersatztv.user": {"declarations": ["nixos/modules/services/misc/ersatztv.nix"], "default": {"_type": "literalExpression", "text": "\"ersatztv\""}, "description": "User account under which ErsatzTV runs.", "loc": ["services", "ersatztv", "user"], "readOnly": false, "type": "string"}, "services.esdm.enable": {"declarations": ["nixos/modules/services/security/esdm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ESDM service configuration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "esdm", "enable"], "readOnly": false, "type": "boolean"}, "services.esdm.enableLinuxCompatServices": {"declarations": ["nixos/modules/services/security/esdm.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable /dev/random, /dev/urandom and /proc/sys/kernel/random/* userspace wrapper.\n", "loc": ["services", "esdm", "enableLinuxCompatServices"], "readOnly": false, "type": "boolean"}, "services.esdm.package": {"declarations": ["nixos/modules/services/security/esdm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.esdm"}, "description": "The esdm package to use.", "loc": ["services", "esdm", "package"], "readOnly": false, "type": "package"}, "services.espanso.enable": {"declarations": ["nixos/modules/services/desktops/espanso.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Espanso.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "espanso", "enable"], "readOnly": false, "type": "boolean"}, "services.espanso.package": {"declarations": ["nixos/modules/services/desktops/espanso.nix"], "default": {"_type": "literalExpression", "text": "pkgs.espanso"}, "description": "The espanso package to use.", "example": {"_type": "literalExpression", "text": "pkgs.espanso-wayland"}, "loc": ["services", "espanso", "package"], "readOnly": false, "type": "package"}, "services.esphome.address": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "esphome address", "loc": ["services", "esphome", "address"], "readOnly": false, "type": "string"}, "services.esphome.allowedDevices": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"char-ttyS\"\n  \"char-ttyUSB\"\n]"}, "description": "A list of device nodes to which {command}`esphome` has access to.\nRefer to DeviceAllow in {manpage}`systemd.resource-control(5)` for more information.\nBeware that if a device is referred to by an absolute path instead of a device category,\nit will only allow devices that already are plugged in when the service is started.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0\"\n]"}, "loc": ["services", "esphome", "allowedDevices"], "readOnly": false, "type": "list of string"}, "services.esphome.enable": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable esphome, for making custom firmwares for ESP32/ESP8266.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "esphome", "enable"], "readOnly": false, "type": "boolean"}, "services.esphome.enableUnixSocket": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Listen on a unix socket `/run/esphome/esphome.sock` instead of the TCP port.", "loc": ["services", "esphome", "enableUnixSocket"], "readOnly": false, "type": "boolean"}, "services.esphome.environment": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to pass to ESPHome. Secrets should be passed\nusing the {option}`services.esphome.environmentFile` option.\n", "example": {"_type": "literalExpression", "text": "{\n  PASSWORD = \"gensokyo9\";\n  USERNAME = \"reimu\";\n}"}, "loc": ["services", "esphome", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.esphome.environmentFile": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to an environment file.\nUse this option for setting the dashboard password.\n", "loc": ["services", "esphome", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.esphome.openFirewall": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the specified port.", "loc": ["services", "esphome", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.esphome.package": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "pkgs.esphome"}, "description": "The esphome package to use.", "loc": ["services", "esphome", "package"], "readOnly": false, "type": "package"}, "services.esphome.port": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "6052"}, "description": "esphome port", "loc": ["services", "esphome", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.esphome.usePing": {"declarations": ["nixos/modules/services/home-automation/esphome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use ping to check online status of devices instead of mDNS", "loc": ["services", "esphome", "usePing"], "readOnly": false, "type": "boolean"}, "services.etcd.advertiseClientUrls": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "config.services.etcd.listenClientUrls"}, "description": "Etcd list of this member's client URLs to advertise to the rest of the cluster.", "loc": ["services", "etcd", "advertiseClientUrls"], "readOnly": false, "type": "list of string"}, "services.etcd.certFile": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cert file to use for clients", "loc": ["services", "etcd", "certFile"], "readOnly": false, "type": "null or absolute path"}, "services.etcd.clientCertAuth": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use certs for client authentication", "loc": ["services", "etcd", "clientCertAuth"], "readOnly": false, "type": "boolean"}, "services.etcd.dataDir": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/etcd\""}, "description": "Etcd data directory.", "loc": ["services", "etcd", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.etcd.discovery": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Etcd discovery url", "loc": ["services", "etcd", "discovery"], "readOnly": false, "type": "string"}, "services.etcd.enable": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable etcd.", "loc": ["services", "etcd", "enable"], "readOnly": false, "type": "boolean"}, "services.etcd.extraConf": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Etcd extra configuration. See\n<https://github.com/coreos/etcd/blob/master/Documentation/op-guide/configuration.md#configuration-flags>\n", "example": {"_type": "literalExpression", "text": "{\n  \"CORS\" = \"*\";\n  \"NAME\" = \"default-name\";\n  \"MAX_RESULT_BUFFER\" = \"1024\";\n  \"MAX_CLUSTER_SIZE\" = \"9\";\n  \"MAX_RETRY_ATTEMPTS\" = \"3\";\n}\n"}, "loc": ["services", "etcd", "extraConf"], "readOnly": false, "type": "attribute set of string"}, "services.etcd.initialAdvertisePeerUrls": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "config.services.etcd.listenPeerUrls"}, "description": "Etcd list of this member's peer URLs to advertise to rest of the cluster.", "loc": ["services", "etcd", "initialAdvertisePeerUrls"], "readOnly": false, "type": "list of string"}, "services.etcd.initialCluster": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "[\"${config.services.etcd.name}=http://127.0.0.1:2380\"]"}, "description": "Etcd initial cluster configuration for bootstrapping.", "loc": ["services", "etcd", "initialCluster"], "readOnly": false, "type": "list of string"}, "services.etcd.initialClusterState": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "\"new\""}, "description": "Etcd initial cluster configuration for bootstrapping.", "loc": ["services", "etcd", "initialClusterState"], "readOnly": false, "type": "one of \"new\", \"existing\""}, "services.etcd.initialClusterToken": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "\"etcd-cluster\""}, "description": "Etcd initial cluster token for etcd cluster during bootstrap.", "loc": ["services", "etcd", "initialClusterToken"], "readOnly": false, "type": "string"}, "services.etcd.keyFile": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Key file to use for clients", "loc": ["services", "etcd", "keyFile"], "readOnly": false, "type": "null or absolute path"}, "services.etcd.listenClientUrls": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"http://127.0.0.1:2379\"\n]"}, "description": "Etcd list of URLs to listen on for client traffic.", "loc": ["services", "etcd", "listenClientUrls"], "readOnly": false, "type": "list of string"}, "services.etcd.listenPeerUrls": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"http://127.0.0.1:2380\"\n]"}, "description": "Etcd list of URLs to listen on for peer traffic.", "loc": ["services", "etcd", "listenPeerUrls"], "readOnly": false, "type": "list of string"}, "services.etcd.name": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "config.networking.hostName"}, "description": "Etcd unique node name.", "loc": ["services", "etcd", "name"], "readOnly": false, "type": "string"}, "services.etcd.openFirewall": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open etcd ports in the firewall.\nPorts opened:\n- 2379/tcp for client requests\n- 2380/tcp for peer communication\n", "loc": ["services", "etcd", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.etcd.package": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.etcd"}, "description": "The etcd package to use.", "loc": ["services", "etcd", "package"], "readOnly": false, "type": "package"}, "services.etcd.peerCertFile": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "config.services.etcd.certFile"}, "description": "Cert file to use for peer to peer communication", "loc": ["services", "etcd", "peerCertFile"], "readOnly": false, "type": "null or absolute path"}, "services.etcd.peerClientCertAuth": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to check all incoming peer requests from the cluster for valid client certificates signed by the supplied CA", "loc": ["services", "etcd", "peerClientCertAuth"], "readOnly": false, "type": "boolean"}, "services.etcd.peerKeyFile": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "config.services.etcd.keyFile"}, "description": "Key file to use for peer to peer communication", "loc": ["services", "etcd", "peerKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.etcd.peerTrustedCaFile": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "config.services.etcd.trustedCaFile"}, "description": "Certificate authority file to use for peer to peer communication", "loc": ["services", "etcd", "peerTrustedCaFile"], "readOnly": false, "type": "null or absolute path"}, "services.etcd.trustedCaFile": {"declarations": ["nixos/modules/services/databases/etcd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Certificate authority file to use for clients", "loc": ["services", "etcd", "trustedCaFile"], "readOnly": false, "type": "null or absolute path"}, "services.etebase-server.dataDir": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/etebase-server\""}, "description": "Directory to store the Etebase server data.", "loc": ["services", "etebase-server", "dataDir"], "readOnly": false, "type": "string"}, "services.etebase-server.enable": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Etebase server.\n\nOnce enabled you need to create an admin user by invoking the\nshell command `etebase-server createsuperuser` with\nthe user specified by the `user` option or a superuser.\nThen you can login and create accounts on your-etebase-server.com/admin\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "etebase-server", "enable"], "readOnly": false, "type": "boolean"}, "services.etebase-server.openFirewall": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall for the server.\n", "loc": ["services", "etebase-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.etebase-server.package": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.etebase-server"}, "description": "The etebase-server package to use.", "loc": ["services", "etebase-server", "package"], "readOnly": false, "type": "package"}, "services.etebase-server.port": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "8001"}, "description": "Port to listen on.", "loc": ["services", "etebase-server", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.etebase-server.settings": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for `etebase-server`. Refer to\n<https://github.com/etesync/server/blob/master/etebase-server.ini.example>\nand <https://github.com/etesync/server/wiki>\nfor details on supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  allowed_hosts = {\n    allowed_host2 = \"localhost\";\n  };\n  global = {\n    debug = true;\n    media_root = \"/path/to/media\";\n  };\n}"}, "loc": ["services", "etebase-server", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.etebase-server.settings.allowed_hosts.allowed_host1": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "The main host that is allowed access.\n", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "etebase-server", "settings", "allowed_hosts", "allowed_host1"], "readOnly": false, "type": "string"}, "services.etebase-server.settings.database.engine": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "\"django.db.backends.sqlite3\""}, "description": "The database engine to use.", "loc": ["services", "etebase-server", "settings", "database", "engine"], "readOnly": false, "type": "one of \"django.db.backends.sqlite3\", \"django.db.backends.postgresql\""}, "services.etebase-server.settings.database.name": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.etebase-server.dataDir}/db.sqlite3\""}, "description": "The database name.", "loc": ["services", "etebase-server", "settings", "database", "name"], "readOnly": false, "type": "string"}, "services.etebase-server.settings.global.debug": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to set django's DEBUG flag.\n", "loc": ["services", "etebase-server", "settings", "global", "debug"], "readOnly": false, "type": "boolean"}, "services.etebase-server.settings.global.media_root": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.etebase-server.dataDir}/media\""}, "description": "The media directory.", "loc": ["services", "etebase-server", "settings", "global", "media_root"], "readOnly": false, "type": "string"}, "services.etebase-server.settings.global.secret_file": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the secret\nused as django's SECRET_KEY.\n", "loc": ["services", "etebase-server", "settings", "global", "secret_file"], "readOnly": false, "type": "null or string"}, "services.etebase-server.settings.global.static_root": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.etebase-server.dataDir}/static\""}, "description": "The directory for static files.", "loc": ["services", "etebase-server", "settings", "global", "static_root"], "readOnly": false, "type": "string"}, "services.etebase-server.unixSocket": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the socket to bind to.", "example": {"_type": "literalExpression", "text": "\"/run/etebase-server/etebase-server.sock\""}, "loc": ["services", "etebase-server", "unixSocket"], "readOnly": false, "type": "null or string"}, "services.etebase-server.user": {"declarations": ["nixos/modules/services/misc/etebase-server.nix"], "default": {"_type": "literalExpression", "text": "\"etebase-server\""}, "description": "User under which Etebase server runs.", "loc": ["services", "etebase-server", "user"], "readOnly": false, "type": "string"}, "services.eternal-terminal.enable": {"declarations": ["nixos/modules/services/networking/eternal-terminal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Eternal Terminal server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "eternal-terminal", "enable"], "readOnly": false, "type": "boolean"}, "services.eternal-terminal.logSize": {"declarations": ["nixos/modules/services/networking/eternal-terminal.nix"], "default": {"_type": "literalExpression", "text": "20971520"}, "description": "The maximum log size.\n", "loc": ["services", "eternal-terminal", "logSize"], "readOnly": false, "type": "signed integer"}, "services.eternal-terminal.port": {"declarations": ["nixos/modules/services/networking/eternal-terminal.nix"], "default": {"_type": "literalExpression", "text": "2022"}, "description": "The port the server should listen on. Will use the server's default (2022) if not specified.\n\nMake sure to open this port in the firewall if necessary.\n", "loc": ["services", "eternal-terminal", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.eternal-terminal.silent": {"declarations": ["nixos/modules/services/networking/eternal-terminal.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, disables all logging.\n", "loc": ["services", "eternal-terminal", "silent"], "readOnly": false, "type": "boolean"}, "services.eternal-terminal.verbosity": {"declarations": ["nixos/modules/services/networking/eternal-terminal.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The verbosity level (0-9).\n", "loc": ["services", "eternal-terminal", "verbosity"], "readOnly": false, "type": "one of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9"}, "services.etesync-dav.apiUrl": {"declarations": ["nixos/modules/services/misc/etesync-dav.nix"], "default": {"_type": "literalExpression", "text": "\"https://api.etebase.com/partner/etesync/\""}, "description": "The url to the etesync API.", "loc": ["services", "etesync-dav", "apiUrl"], "readOnly": false, "type": "string"}, "services.etesync-dav.enable": {"declarations": ["nixos/modules/services/misc/etesync-dav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable etesync-dav, end-to-end encrypted sync for contacts, calendars and tasks.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "etesync-dav", "enable"], "readOnly": false, "type": "boolean"}, "services.etesync-dav.host": {"declarations": ["nixos/modules/services/misc/etesync-dav.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The server host address.", "loc": ["services", "etesync-dav", "host"], "readOnly": false, "type": "string"}, "services.etesync-dav.openFirewall": {"declarations": ["nixos/modules/services/misc/etesync-dav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the specified port.", "loc": ["services", "etesync-dav", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.etesync-dav.port": {"declarations": ["nixos/modules/services/misc/etesync-dav.nix"], "default": {"_type": "literalExpression", "text": "37358"}, "description": "The server host port.", "loc": ["services", "etesync-dav", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.etesync-dav.sslCertificate": {"declarations": ["nixos/modules/services/misc/etesync-dav.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to server SSL certificate. It will be copied into\netesync-dav's data directory.\n", "example": {"_type": "literalExpression", "text": "\"/var/etesync.crt\""}, "loc": ["services", "etesync-dav", "sslCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.etesync-dav.sslCertificateKey": {"declarations": ["nixos/modules/services/misc/etesync-dav.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to server SSL certificate key.  It will be copied into\netesync-dav's data directory.\n", "example": {"_type": "literalExpression", "text": "\"/var/etesync.key\""}, "loc": ["services", "etesync-dav", "sslCertificateKey"], "readOnly": false, "type": "null or absolute path"}, "services.evdevremapkeys.enable": {"declarations": ["nixos/modules/services/misc/evdevremapkeys.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable evdevremapkeys, a daemon to remap events on linux input devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "evdevremapkeys", "enable"], "readOnly": false, "type": "boolean"}, "services.evdevremapkeys.settings": {"declarations": ["nixos/modules/services/misc/evdevremapkeys.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "config.yaml for evdevremapkeys\n", "loc": ["services", "evdevremapkeys", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.evremap.enable": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable evremap, a keyboard input remapper for Linux/Wayland systems.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "evremap", "enable"], "readOnly": false, "type": "boolean"}, "services.evremap.settings": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for evremap.\n\nSee the [upstream documentation](https://github.com/wez/evremap/blob/master/README.md#configuration)\nfor how to configure evremap.\n", "loc": ["services", "evremap", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.evremap.settings.device_name": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "description": "The name of the device that should be remapped.\n\nYou can get a list of devices by running `evremap list-devices` with elevated permissions.\n", "example": {"_type": "literalExpression", "text": "\"AT Translated Set 2 keyboard\""}, "loc": ["services", "evremap", "settings", "device_name"], "readOnly": false, "type": "string"}, "services.evremap.settings.dual_role": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of dual-role remappings that output different key sequences based on whether the\ninput key is held or tapped.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    hold = [\n      \"KEY_LEFTCTRL\"\n    ];\n    input = \"KEY_CAPSLOCK\";\n    tap = [\n      \"KEY_ESC\"\n    ];\n  }\n]"}, "loc": ["services", "evremap", "settings", "dual_role"], "readOnly": false, "type": "list of (submodule)"}, "services.evremap.settings.dual_role.*.hold": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The key sequence that should be output when the input key is held.\n\nYou can get a list of keys by running `evremap list-keys`.\n", "loc": ["services", "evremap", "settings", "dual_role", "*", "hold"], "readOnly": false, "type": "list of key ID prefixed with BTN_ or KEY_"}, "services.evremap.settings.dual_role.*.input": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "description": "The key that should be remapped.\n\nYou can get a list of keys by running `evremap list-keys`.\n", "loc": ["services", "evremap", "settings", "dual_role", "*", "input"], "readOnly": false, "type": "key ID prefixed with BTN_ or KEY_"}, "services.evremap.settings.dual_role.*.tap": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The key sequence that should be output when the input key is tapped.\n\nYou can get a list of keys by running `evremap list-keys`.\n", "loc": ["services", "evremap", "settings", "dual_role", "*", "tap"], "readOnly": false, "type": "list of key ID prefixed with BTN_ or KEY_"}, "services.evremap.settings.phys": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The physical device name to listen on.\n\nThis attribute may be specified to disambiguate multiple devices with the same device name.\nThe physical device names of each device can be obtained by running `evremap list-devices` with elevated permissions.\n", "example": {"_type": "literalExpression", "text": "\"usb-0000:07:00.3-2.1.1/input0\""}, "loc": ["services", "evremap", "settings", "phys"], "readOnly": false, "type": "null or string"}, "services.evremap.settings.remap": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of remappings.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    input = [\n      \"KEY_LEFTALT\"\n      \"KEY_UP\"\n    ];\n    output = [\n      \"KEY_PAGEUP\"\n    ];\n  }\n]"}, "loc": ["services", "evremap", "settings", "remap"], "readOnly": false, "type": "list of (submodule)"}, "services.evremap.settings.remap.*.input": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The key sequence that should be remapped.\n\nYou can get a list of keys by running `evremap list-keys`.\n", "loc": ["services", "evremap", "settings", "remap", "*", "input"], "readOnly": false, "type": "list of key ID prefixed with BTN_ or KEY_"}, "services.evremap.settings.remap.*.output": {"declarations": ["nixos/modules/services/misc/evremap.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The key sequence that should be output when the input sequence is entered.\n\nYou can get a list of keys by running `evremap list-keys`.\n", "loc": ["services", "evremap", "settings", "remap", "*", "output"], "readOnly": false, "type": "list of key ID prefixed with BTN_ or KEY_"}, "services.exim.config": {"declarations": ["nixos/modules/services/mail/exim.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim Exim configuration.  This should not contain exim_user,\nexim_group, exim_path, or spool_directory.\n", "loc": ["services", "exim", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.exim.enable": {"declarations": ["nixos/modules/services/mail/exim.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Exim mail transfer agent.", "loc": ["services", "exim", "enable"], "readOnly": false, "type": "boolean"}, "services.exim.group": {"declarations": ["nixos/modules/services/mail/exim.nix"], "default": {"_type": "literalExpression", "text": "\"exim\""}, "description": "Group to use when no root privileges are required.\n", "loc": ["services", "exim", "group"], "readOnly": false, "type": "string"}, "services.exim.package": {"declarations": ["nixos/modules/services/mail/exim.nix"], "default": {"_type": "literalExpression", "text": "pkgs.exim"}, "description": "The exim package to use. This can be used to enable features such as LDAP or PAM support.\n", "loc": ["services", "exim", "package"], "readOnly": false, "type": "package"}, "services.exim.queueRunnerInterval": {"declarations": ["nixos/modules/services/mail/exim.nix"], "default": {"_type": "literalExpression", "text": "\"5m\""}, "description": "How often to spawn a new queue runner.\n", "loc": ["services", "exim", "queueRunnerInterval"], "readOnly": false, "type": "string"}, "services.exim.spoolDir": {"declarations": ["nixos/modules/services/mail/exim.nix"], "default": {"_type": "literalExpression", "text": "\"/var/spool/exim\""}, "description": "Location of the spool directory of exim.\n", "loc": ["services", "exim", "spoolDir"], "readOnly": false, "type": "absolute path"}, "services.exim.user": {"declarations": ["nixos/modules/services/mail/exim.nix"], "default": {"_type": "literalExpression", "text": "\"exim\""}, "description": "User to use when no root privileges are required.\nIn particular, this applies when receiving messages and when doing\nremote deliveries.  (Local deliveries run as various non-root users,\ntypically as the owner of a local mailbox.) Specifying this value\nas root is not supported.\n", "loc": ["services", "exim", "user"], "readOnly": false, "type": "string"}, "services.expressvpn.enable": {"declarations": ["nixos/modules/services/networking/expressvpn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the ExpressVPN daemon.\n", "loc": ["services", "expressvpn", "enable"], "readOnly": false, "type": "boolean"}, "services.factorio.admins": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of player names which will be admin.\n", "example": {"_type": "literalExpression", "text": "[\n  \"username\"\n]"}, "loc": ["services", "factorio", "admins"], "readOnly": false, "type": "list of string"}, "services.factorio.allowedPlayers": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "If non-empty, only these player names are allowed to connect. The game\nwill not be able to save any changes made in-game with the /whitelist\nconsole command, though they will still take effect until the server\nis restarted.\n\nIf empty, the whitelist defaults to open, but can be managed with the\nin-game /whitelist console command (see: /help whitelist), which will\ncause changes to be saved to the game's state directory (see also:\n`stateDirName`).\n", "example": {"_type": "literalExpression", "text": "[\n  \"Rseding91\"\n  \"Oxyd\"\n]"}, "loc": ["services", "factorio", "allowedPlayers"], "readOnly": false, "type": "list of string"}, "services.factorio.autosave-interval": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Autosave interval in minutes.\n", "example": {"_type": "literalExpression", "text": "10"}, "loc": ["services", "factorio", "autosave-interval"], "readOnly": false, "type": "null or signed integer"}, "services.factorio.bind": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "The address to which the service should bind.\n", "loc": ["services", "factorio", "bind"], "readOnly": false, "type": "string"}, "services.factorio.configFile": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "configFile"}, "description": "The server's configuration file.\n\nThe default file generated by this module contains lines essential to\nthe server's operation. Use its contents as a basis for any\ncustomizations.\n", "loc": ["services", "factorio", "configFile"], "readOnly": false, "type": "absolute path"}, "services.factorio.description": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Description of the game that will appear in the listing.\n", "loc": ["services", "factorio", "description"], "readOnly": false, "type": "null or string"}, "services.factorio.enable": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Factorio.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "factorio", "enable"], "readOnly": false, "type": "boolean"}, "services.factorio.extraArgs": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments.", "example": {"_type": "literalExpression", "text": "[\n  \"--rcon-bind=localhost:27015\"\n  \"--rcon-password=...\"\n]"}, "loc": ["services", "factorio", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.factorio.extraSettings": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra game configuration that will go into server-settings.json\n", "example": {"_type": "literalExpression", "text": "{\n  max_players = 64;\n}"}, "loc": ["services", "factorio", "extraSettings"], "readOnly": false, "type": "attribute set"}, "services.factorio.extraSettingsFile": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File, which is dynamically applied to server-settings.json before\nstartup.\n\nThis option should be used for credentials.\n\nFor example a settings file could contain:\n```json\n{\n  \"game-password\": \"hunter1\"\n}\n```\n", "loc": ["services", "factorio", "extraSettingsFile"], "readOnly": false, "type": "null or absolute path"}, "services.factorio.game-name": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "\"Factorio Game\""}, "description": "Name of the game as it will appear in the game listing.\n", "loc": ["services", "factorio", "game-name"], "readOnly": false, "type": "null or string"}, "services.factorio.game-password": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Game password.\n\nThis option is insecure. Use extraSettingsFile instead.\n", "loc": ["services", "factorio", "game-password"], "readOnly": false, "type": "null or string"}, "services.factorio.lan": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Game will be broadcast on LAN.\n", "loc": ["services", "factorio", "lan"], "readOnly": false, "type": "boolean"}, "services.factorio.loadLatestSave": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Load the latest savegame on startup. This overrides saveName, in that the latest\nsave will always be used even if a saved game of the given name exists. It still\ncontrols the 'canonical' name of the savegame.\n\nSet this to true to have the server automatically reload a recent autosave after\na crash or desync.\n", "loc": ["services", "factorio", "loadLatestSave"], "readOnly": false, "type": "boolean"}, "services.factorio.mods": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Mods the server should install and activate.\n\nThe derivations in this list must \"build\" the mod by simply copying\nthe .zip, named correctly, into the output directory. Eventually,\nthere will be a way to pull in the most up-to-date list of\nderivations via nixos-channel. Until then, this is for experts only.\n", "loc": ["services", "factorio", "mods"], "readOnly": false, "type": "list of package"}, "services.factorio.mods-dat": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mods settings can be changed by specifying a dat file, in the [mod\nsettings file\nformat](https://wiki.factorio.com/Mod_settings_file_format).\n", "loc": ["services", "factorio", "mods-dat"], "readOnly": false, "type": "null or absolute path"}, "services.factorio.nonBlockingSaving": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Highly experimental feature, enable only at your own risk of losing your saves.\nOn UNIX systems, server will fork itself to create an autosave.\nAutosaving on connected Windows clients will be disabled regardless of autosave_only_on_server option.\n", "loc": ["services", "factorio", "nonBlockingSaving"], "readOnly": false, "type": "boolean"}, "services.factorio.openFirewall": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically open the specified UDP port in the firewall.\n", "loc": ["services", "factorio", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.factorio.package": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "pkgs.factorio-headless"}, "description": "The factorio-headless package to use.", "example": {"_type": "literalExpression", "text": "factorio-headless-experimental"}, "loc": ["services", "factorio", "package"], "readOnly": false, "type": "package"}, "services.factorio.password": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Your factorio.com login credentials. Required for games with visibility public.\n\nThis option is insecure. Use extraSettingsFile instead.\n", "loc": ["services", "factorio", "password"], "readOnly": false, "type": "null or string"}, "services.factorio.port": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "34197"}, "description": "The port to which the service should bind.\n", "loc": ["services", "factorio", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.factorio.public": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Game will be published on the official Factorio matching server.\n", "loc": ["services", "factorio", "public"], "readOnly": false, "type": "boolean"}, "services.factorio.requireUserVerification": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "When set to true, the server will only allow clients that have a valid factorio.com account.\n", "loc": ["services", "factorio", "requireUserVerification"], "readOnly": false, "type": "boolean"}, "services.factorio.saveName": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "The name of the savegame that will be used by the server.\n\nWhen not present in /var/lib/${config.services.factorio.stateDirName}/saves,\na new map with default settings will be generated before starting the service.\n", "loc": ["services", "factorio", "saveName"], "readOnly": false, "type": "string"}, "services.factorio.stateDirName": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "\"factorio\""}, "description": "Name of the directory under /var/lib holding the server's data.\n\nThe configuration and map will be stored here.\n", "loc": ["services", "factorio", "stateDirName"], "readOnly": false, "type": "string"}, "services.factorio.token": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Authentication token. May be used instead of 'password' above.\n", "loc": ["services", "factorio", "token"], "readOnly": false, "type": "null or string"}, "services.factorio.username": {"declarations": ["nixos/modules/services/games/factorio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Your factorio.com login credentials. Required for games with visibility public.\n\nThis option is insecure. Use extraSettingsFile instead.\n", "loc": ["services", "factorio", "username"], "readOnly": false, "type": "null or string"}, "services.fail2ban.banaction": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "if config.networking.nftables.enable then \"nftables-multiport\" else \"iptables-multiport\""}, "description": "Default banning action (e.g. iptables, iptables-new, iptables-multiport,\niptables-ipset-proto6-allports, shorewall, etc). It is used to\ndefine action_* variables. Can be overridden globally or per\nsection within jail.local file\n", "loc": ["services", "fail2ban", "banaction"], "readOnly": false, "type": "string"}, "services.fail2ban.banaction-allports": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "if config.networking.nftables.enable then \"nftables-allports\" else \"iptables-allports\""}, "description": "Default banning action (e.g. iptables, iptables-new, iptables-multiport,\nshorewall, etc) for \"allports\" jails. It is used to define action_* variables. Can be overridden\nglobally or per section within jail.local file\n", "loc": ["services", "fail2ban", "banaction-allports"], "readOnly": false, "type": "string"}, "services.fail2ban.bantime": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "\"10m\""}, "description": "Number of seconds that a host is banned.", "example": {"_type": "literalExpression", "text": "\"1h\""}, "loc": ["services", "fail2ban", "bantime"], "readOnly": false, "type": "string"}, "services.fail2ban.bantime-increment.enable": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "\"bantime.increment\" allows to use database for searching of previously banned ip's to increase\na default ban time using special formula, default it is banTime * 1, 2, 4, 8, 16, 32 ...\n", "loc": ["services", "fail2ban", "bantime-increment", "enable"], "readOnly": false, "type": "boolean"}, "services.fail2ban.bantime-increment.factor": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"bantime.factor\" is a coefficient to calculate exponent growing of the formula or common multiplier,\ndefault value of factor is 1 and with default value of formula, the ban time grows by 1, 2, 4, 8, 16 ...\n", "example": {"_type": "literalExpression", "text": "\"4\""}, "loc": ["services", "fail2ban", "bantime-increment", "factor"], "readOnly": false, "type": "null or string"}, "services.fail2ban.bantime-increment.formula": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"bantime.formula\" used by default to calculate next value of ban time, default value below,\nthe same ban time growing will be reached by multipliers 1, 2, 4, 8, 16, 32 ...\n", "example": {"_type": "literalExpression", "text": "\"ban.Time * math.exp(float(ban.Count+1)*banFactor)/math.exp(1*banFactor)\""}, "loc": ["services", "fail2ban", "bantime-increment", "formula"], "readOnly": false, "type": "null or string"}, "services.fail2ban.bantime-increment.maxtime": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"bantime.maxtime\" is the max number of seconds using the ban time can reach (don't grows further)\n", "example": {"_type": "literalExpression", "text": "\"48h\""}, "loc": ["services", "fail2ban", "bantime-increment", "maxtime"], "readOnly": false, "type": "null or string"}, "services.fail2ban.bantime-increment.multipliers": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"bantime.multipliers\" used to calculate next value of ban time instead of formula, corresponding\npreviously ban count and given \"bantime.factor\" (for multipliers default is 1);\nfollowing example grows ban time by 1, 2, 4, 8, 16 ... and if last ban count greater as multipliers count,\nalways used last multiplier (64 in example), for factor '1' and original ban time 600 - 10.6 hours\n", "example": {"_type": "literalExpression", "text": "\"1 2 4 8 16 32 64\""}, "loc": ["services", "fail2ban", "bantime-increment", "multipliers"], "readOnly": false, "type": "null or string"}, "services.fail2ban.bantime-increment.overalljails": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"bantime.overalljails\" (if true) specifies the search of IP in the database will be executed\ncross over all jails, if false (default), only current jail of the ban IP will be searched.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fail2ban", "bantime-increment", "overalljails"], "readOnly": false, "type": "null or boolean"}, "services.fail2ban.bantime-increment.rndtime": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"bantime.rndtime\" is the max number of seconds using for mixing with random time\nto prevent \"clever\" botnets calculate exact time IP can be unbanned again\n", "example": {"_type": "literalExpression", "text": "\"8m\""}, "loc": ["services", "fail2ban", "bantime-increment", "rndtime"], "readOnly": false, "type": "null or string"}, "services.fail2ban.daemonSettings": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "{\n  Definition = {\n    logtarget = \"SYSLOG\";\n    socket = \"/run/fail2ban/fail2ban.sock\";\n    pidfile = \"/run/fail2ban/fail2ban.pid\";\n    dbfile = \"/var/lib/fail2ban/fail2ban.sqlite3\";\n  };\n}\n"}, "description": "The contents of Fail2ban's main configuration file.\nIt's generally not necessary to change it.\n", "loc": ["services", "fail2ban", "daemonSettings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.fail2ban.enable": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the fail2ban service.\n\nSee the documentation of [](#opt-services.fail2ban.jails)\nfor what jails are enabled by default.\n", "loc": ["services", "fail2ban", "enable"], "readOnly": false, "type": "boolean"}, "services.fail2ban.extraPackages": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages to be made available to the fail2ban service. The example contains\nthe packages needed by the `iptables-ipset-proto6` action.\n", "example": {"_type": "literalExpression", "text": "[ pkgs.ipset ]"}, "loc": ["services", "fail2ban", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.fail2ban.ignoreIP": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "\"ignoreIP\" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban will not ban a host which\nmatches an address in this list. Several addresses can be defined using space (and/or comma) separator.\n", "example": {"_type": "literalExpression", "text": "[\n  \"192.168.0.0/16\"\n  \"2001:DB8::42\"\n]"}, "loc": ["services", "fail2ban", "ignoreIP"], "readOnly": false, "type": "list of string"}, "services.fail2ban.jails": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The configuration of each Fail2ban \u201cjail\u201d.  A jail\nconsists of an action (such as blocking a port using\n{command}`iptables`) that is triggered when a\nfilter applied to a log file triggers more than a certain\nnumber of times in a certain time period.  Actions are\ndefined in {file}`/etc/fail2ban/action.d`,\nwhile filters are defined in\n{file}`/etc/fail2ban/filter.d`.\n\nNixOS comes with a default `sshd` jail;\nfor it to work well,\n[](#opt-services.openssh.settings.LogLevel) should be set to\n`\"VERBOSE\"` or higher so that fail2ban\ncan observe failed login attempts.\nThis module sets it to `\"VERBOSE\"` if\nnot set otherwise, so enabling fail2ban can make SSH logs\nmore verbose.\n", "example": {"_type": "literalExpression", "text": "{\n  apache-nohome-iptables = {\n    settings = {\n      # Block an IP address if it accesses a non-existent\n      # home directory more than 5 times in 10 minutes,\n      # since that indicates that it's scanning.\n      filter = \"apache-nohome\";\n      action = ''iptables-multiport[name=HTTP, port=\"http,https\"]'';\n      logpath = \"/var/log/httpd/error_log*\";\n      backend = \"auto\";\n      findtime = 600;\n      bantime = 600;\n      maxretry = 5;\n    };\n  };\n  dovecot = {\n    settings = {\n      # block IPs which failed to log-in\n      # aggressive mode add blocking for aborted connections\n      filter = \"dovecot[mode=aggressive]\";\n      maxretry = 3;\n    };\n  };\n};\n"}, "loc": ["services", "fail2ban", "jails"], "readOnly": false, "type": "attribute set of (strings concatenated with \"\\n\" or (submodule))"}, "services.fail2ban.maxretry": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Number of failures before a host gets banned.", "loc": ["services", "fail2ban", "maxretry"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.fail2ban.package": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fail2ban"}, "description": "The fail2ban package to use.", "example": {"_type": "literalExpression", "text": "fail2ban_0_11"}, "loc": ["services", "fail2ban", "package"], "readOnly": false, "type": "package"}, "services.fail2ban.packageFirewall": {"declarations": ["nixos/modules/services/security/fail2ban.nix"], "default": {"_type": "literalExpression", "text": "config.networking.firewall.package"}, "description": "The firewall package used by fail2ban service. Defaults to the package for your firewall (iptables or nftables).", "loc": ["services", "fail2ban", "packageFirewall"], "readOnly": false, "type": "package"}, "services.fakeroute.enable": {"declarations": ["nixos/modules/services/networking/fakeroute.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the fakeroute service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fakeroute", "enable"], "readOnly": false, "type": "boolean"}, "services.fakeroute.route": {"declarations": ["nixos/modules/services/networking/fakeroute.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Fake route that will appear after the real\none to any host running a traceroute.\n", "example": {"_type": "literalExpression", "text": "[\n  \"216.102.187.130\"\n  \"4.0.1.122\"\n  \"198.116.142.34\"\n  \"63.199.8.242\"\n]"}, "loc": ["services", "fakeroute", "route"], "readOnly": false, "type": "list of string"}, "services.fanout.bufferSize": {"declarations": ["nixos/modules/config/fanout.nix"], "default": {"_type": "literalExpression", "text": "16384"}, "description": "Size of /dev/fanout buffer in bytes", "loc": ["services", "fanout", "bufferSize"], "readOnly": false, "type": "signed integer"}, "services.fanout.enable": {"declarations": ["nixos/modules/config/fanout.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fanout.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fanout", "enable"], "readOnly": false, "type": "boolean"}, "services.fanout.fanoutDevices": {"declarations": ["nixos/modules/config/fanout.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Number of /dev/fanout devices", "loc": ["services", "fanout", "fanoutDevices"], "readOnly": false, "type": "signed integer"}, "services.fastnetmon-advanced.bgpPeers": {"declarations": ["nixos/modules/services/networking/fastnetmon-advanced.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "BGP Peers to declaratively load into FastNetMon Advanced", "loc": ["services", "fastnetmon-advanced", "bgpPeers"], "readOnly": false, "type": "attribute set of (YAML 1.1 value)"}, "services.fastnetmon-advanced.enable": {"declarations": ["nixos/modules/services/networking/fastnetmon-advanced.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the fastnetmon-advanced DDoS Protection daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fastnetmon-advanced", "enable"], "readOnly": false, "type": "boolean"}, "services.fastnetmon-advanced.enableAdvancedTrafficPersistence": {"declarations": ["nixos/modules/services/networking/fastnetmon-advanced.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Store historical flow data in clickhouse", "loc": ["services", "fastnetmon-advanced", "enableAdvancedTrafficPersistence"], "readOnly": false, "type": "boolean"}, "services.fastnetmon-advanced.hostgroups": {"declarations": ["nixos/modules/services/networking/fastnetmon-advanced.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Hostgroups to declaratively load into FastNetMon Advanced", "loc": ["services", "fastnetmon-advanced", "hostgroups"], "readOnly": false, "type": "attribute set of (YAML 1.1 value)"}, "services.fastnetmon-advanced.settings": {"declarations": ["nixos/modules/services/networking/fastnetmon-advanced.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options to declaratively load into FastNetMon Advanced.\n\nSee the [FastNetMon Advanced Configuration options reference](https://fastnetmon.com/docs-fnm-advanced/fastnetmon-advanced-configuration-options/) for more details.\n", "example": {"_type": "literalExpression", "text": "{\n  networks_list = [ \"192.0.2.0/24\" ];\n  gobgp = true;\n  gobgp_flow_spec_announces = true;\n}\n"}, "loc": ["services", "fastnetmon-advanced", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.fastnetmon-advanced.traffic_db.settings": {"declarations": ["nixos/modules/services/networking/fastnetmon-advanced.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Additional settings for /etc/fastnetmon/traffic_db.conf", "loc": ["services", "fastnetmon-advanced", "traffic_db", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.fcgiwrap.instances": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for fcgiwrap instances.", "loc": ["services", "fcgiwrap", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.fcgiwrap.instances.<name>.process.group": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Group as which this instance of fcgiwrap will be run.", "loc": ["services", "fcgiwrap", "instances", "<name>", "process", "group"], "readOnly": false, "type": "null or string"}, "services.fcgiwrap.instances.<name>.process.prefork": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Number of processes to prefork.", "loc": ["services", "fcgiwrap", "instances", "<name>", "process", "prefork"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.fcgiwrap.instances.<name>.process.user": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User as which this instance of fcgiwrap will be run.\nSet to `null` (the default) to use a dynamically allocated user.\n", "loc": ["services", "fcgiwrap", "instances", "<name>", "process", "user"], "readOnly": false, "type": "null or string"}, "services.fcgiwrap.instances.<name>.socket.address": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "\"/run/fcgiwrap-\u2039name\u203a.sock\""}, "description": "Socket address.\nIn case of a UNIX socket, this should be its filesystem path.\n", "example": {"_type": "literalExpression", "text": "\"1.2.3.4:5678\""}, "loc": ["services", "fcgiwrap", "instances", "<name>", "socket", "address"], "readOnly": false, "type": "string"}, "services.fcgiwrap.instances.<name>.socket.group": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Group to be set as owner of the UNIX socket.\n", "loc": ["services", "fcgiwrap", "instances", "<name>", "socket", "group"], "readOnly": false, "type": "null or string"}, "services.fcgiwrap.instances.<name>.socket.mode": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "if config.socket.type == \"unix\" then \"0600\" else null\n"}, "description": "Mode to be set on the UNIX socket.\nDefaults to private to the socket's owner.\n", "loc": ["services", "fcgiwrap", "instances", "<name>", "socket", "mode"], "readOnly": false, "type": "null or string"}, "services.fcgiwrap.instances.<name>.socket.type": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "\"unix\""}, "description": "Socket type: 'unix', 'tcp' or 'tcp6'.", "loc": ["services", "fcgiwrap", "instances", "<name>", "socket", "type"], "readOnly": false, "type": "one of \"unix\", \"tcp\", \"tcp6\""}, "services.fcgiwrap.instances.<name>.socket.user": {"declarations": ["nixos/modules/services/web-servers/fcgiwrap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User to be set as owner of the UNIX socket.\n", "loc": ["services", "fcgiwrap", "instances", "<name>", "socket", "user"], "readOnly": false, "type": "null or string"}, "services.fcron.allow": {"declarations": ["nixos/modules/services/scheduling/fcron.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"all\"\n]"}, "description": "Users allowed to use fcrontab and fcrondyn (one name per\nline, `all` for everyone).\n", "loc": ["services", "fcron", "allow"], "readOnly": false, "type": "list of string"}, "services.fcron.deny": {"declarations": ["nixos/modules/services/scheduling/fcron.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Users forbidden from using fcron.", "loc": ["services", "fcron", "deny"], "readOnly": false, "type": "list of string"}, "services.fcron.enable": {"declarations": ["nixos/modules/services/scheduling/fcron.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the {command}`fcron` daemon.", "loc": ["services", "fcron", "enable"], "readOnly": false, "type": "boolean"}, "services.fcron.maxSerialJobs": {"declarations": ["nixos/modules/services/scheduling/fcron.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Maximum number of serial jobs which can run simultaneously.", "loc": ["services", "fcron", "maxSerialJobs"], "readOnly": false, "type": "signed integer"}, "services.fcron.queuelen": {"declarations": ["nixos/modules/services/scheduling/fcron.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of jobs the serial queue and the lavg queue can contain.", "loc": ["services", "fcron", "queuelen"], "readOnly": false, "type": "null or signed integer"}, "services.fcron.systab": {"declarations": ["nixos/modules/services/scheduling/fcron.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The \"system\" crontab contents.", "loc": ["services", "fcron", "systab"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fedimintd": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more fedimintd instances.", "loc": ["services", "fedimintd"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.fedimintd.<name>.api_iroh.bind": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Address to bind on for Iroh endpoint for API connections", "loc": ["services", "fedimintd", "<name>", "api_iroh", "bind"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.api_iroh.openFirewall": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Opens UDP port in firewall for fedimintd's API Iroh endpoint", "loc": ["services", "fedimintd", "<name>", "api_iroh", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.api_iroh.port": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "8174"}, "description": "UDP Port to bind Iroh endpoint for API connections", "loc": ["services", "fedimintd", "<name>", "api_iroh", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fedimintd.<name>.api_ws.bind": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to bind on for API connections relied by the reverse proxy/tls terminator.", "loc": ["services", "fedimintd", "<name>", "api_ws", "bind"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.api_ws.openFirewall": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Opens TCP port in firewall for fedimintd's Websocket API", "loc": ["services", "fedimintd", "<name>", "api_ws", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.api_ws.port": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "8174"}, "description": "TCP Port to bind on for API connections relayed by the reverse proxy/tls terminator.", "loc": ["services", "fedimintd", "<name>", "api_ws", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fedimintd.<name>.api_ws.url": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Public URL of the API address of the reverse proxy/tls terminator. Usually starting with `wss://`.\n", "loc": ["services", "fedimintd", "<name>", "api_ws", "url"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.bitcoin.network": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"signet\""}, "description": "Bitcoin network to participate in.", "example": {"_type": "literalExpression", "text": "\"bitcoin\""}, "loc": ["services", "fedimintd", "<name>", "bitcoin", "network"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.bitcoin.rpc.kind": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"bitcoind\""}, "description": "Kind of a bitcoin node.", "example": {"_type": "literalExpression", "text": "\"electrum\""}, "loc": ["services", "fedimintd", "<name>", "bitcoin", "rpc", "kind"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.bitcoin.rpc.secretFile": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set the URL specified in `bitcoin.rpc.url` will get the content of this file added\nas an URL password, so `http://user@example.com` will turn into `http://user:SOMESECRET@example.com`.\n\nExample:\n\n`/etc/nix-bitcoin-secrets/bitcoin-rpcpassword-public` (for nix-bitcoin default)\n", "loc": ["services", "fedimintd", "<name>", "bitcoin", "rpc", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.fedimintd.<name>.bitcoin.rpc.url": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"http://127.0.0.1:38332\""}, "description": "Bitcoin node (bitcoind/electrum/esplora) address to connect to", "example": {"_type": "literalExpression", "text": "\"signet\""}, "loc": ["services", "fedimintd", "<name>", "bitcoin", "rpc", "url"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.consensus.finalityDelay": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Consensus peg-in finality delay.", "loc": ["services", "fedimintd", "<name>", "consensus", "finalityDelay"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.fedimintd.<name>.dataDir": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/fedimintd-\u2039name\u203a/\""}, "description": "Path to the data dir fedimintd will use to store its data.\nNote that due to using the DynamicUser feature of systemd, this value should not be changed\nand is set to be read only.\n", "loc": ["services", "fedimintd", "<name>", "dataDir"], "readOnly": true, "type": "absolute path"}, "services.fedimintd.<name>.enable": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fedimintd.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fedimintd", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.environment": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "{\n  RUST_BACKTRACE = \"1\";\n}"}, "description": "Extra Environment variables to pass to the fedimintd.", "example": {"_type": "literalExpression", "text": "{\n  RUST_BACKTRACE = \"1\";\n  RUST_LOG = \"info,fm=debug\";\n}"}, "loc": ["services", "fedimintd", "<name>", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.fedimintd.<name>.nginx.config": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Overrides to the nginx vhost section for api", "loc": ["services", "fedimintd", "<name>", "nginx", "config"], "readOnly": false, "type": "submodule"}, "services.fedimintd.<name>.nginx.config.acmeFallbackHost": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.acmeRoot": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.addSSL": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "addSSL"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.basicAuth": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.fedimintd.<name>.nginx.config.basicAuthFile": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.fedimintd.<name>.nginx.config.default": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "default"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.enableACME": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "enableACME"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.extraConfig": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fedimintd.<name>.nginx.config.forceSSL": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.globalRedirect": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.http2": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "http2"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.http3": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "http3"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.http3_hq": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.kTLS": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "kTLS"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.listen": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.fedimintd.<name>.nginx.config.listen.*.addr": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "description": "Listen address.", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.nginx.config.listen.*.extraParameters": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.fedimintd.<name>.nginx.config.listen.*.port": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fedimintd.<name>.nginx.config.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.listen.*.ssl": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.listenAddresses": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.fedimintd.<name>.nginx.config.locations": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.fedimintd.<name>.nginx.config.locations.<name>.alias": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.fedimintd.<name>.nginx.config.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.fedimintd.<name>.nginx.config.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.fedimintd.<name>.nginx.config.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fedimintd.<name>.nginx.config.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.fedimintd.<name>.nginx.config.locations.<name>.index": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.locations.<name>.priority": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.fedimintd.<name>.nginx.config.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.locations.<name>.return": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.fedimintd.<name>.nginx.config.locations.<name>.root": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.fedimintd.<name>.nginx.config.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.onlySSL": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.quic": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "quic"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.redirectCode": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.fedimintd.<name>.nginx.config.rejectSSL": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.reuseport": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "reuseport"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.config.root": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "root"], "readOnly": false, "type": "null or absolute path"}, "services.fedimintd.<name>.nginx.config.serverAliases": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.fedimintd.<name>.nginx.config.serverName": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "serverName"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.config.sslCertificate": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.fedimintd.<name>.nginx.config.sslCertificateKey": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.fedimintd.<name>.nginx.config.sslTrustedCertificate": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "config", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.fedimintd.<name>.nginx.config.useACMEHost": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "fedimintd", "<name>", "nginx", "config", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.nginx.enable": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure nginx for fedimintd\n", "loc": ["services", "fedimintd", "<name>", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.nginx.fqdn": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "description": "Public domain of the API address of the reverse proxy/tls terminator.", "example": {"_type": "literalExpression", "text": "\"api.myfedimint.com\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "fqdn"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.nginx.path_ui": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "Path to host the built-in UI on and forward to the daemon's api port", "example": {"_type": "literalExpression", "text": "\"/\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "path_ui"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.nginx.path_ws": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"/ws/\""}, "description": "Path to host the API on and forward to the daemon's api port", "example": {"_type": "literalExpression", "text": "\"/\""}, "loc": ["services", "fedimintd", "<name>", "nginx", "path_ws"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.p2p.bind": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Address to bind on for p2p connections from peers (both TCP and UDP)", "loc": ["services", "fedimintd", "<name>", "p2p", "bind"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.p2p.openFirewall": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Opens port in firewall for fedimintd's p2p port (both TCP and UDP)", "loc": ["services", "fedimintd", "<name>", "p2p", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.p2p.port": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "8173"}, "description": "Port to bind on for p2p connections from peers (both TCP and UDP)", "loc": ["services", "fedimintd", "<name>", "p2p", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fedimintd.<name>.p2p.url": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Public address for p2p connections from peers (if TCP is used)\n", "example": {"_type": "literalExpression", "text": "\"fedimint://p2p.myfedimint.com:8173\""}, "loc": ["services", "fedimintd", "<name>", "p2p", "url"], "readOnly": false, "type": "null or string"}, "services.fedimintd.<name>.package": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fedimint"}, "description": "The fedimint package to use.", "loc": ["services", "fedimintd", "<name>", "package"], "readOnly": false, "type": "package"}, "services.fedimintd.<name>.ui.bind": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to bind on for UI connections", "loc": ["services", "fedimintd", "<name>", "ui", "bind"], "readOnly": false, "type": "string"}, "services.fedimintd.<name>.ui.openFirewall": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Opens TCP port in firewall for built-in UI", "loc": ["services", "fedimintd", "<name>", "ui", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.fedimintd.<name>.ui.port": {"declarations": ["nixos/modules/services/networking/fedimintd.nix"], "default": {"_type": "literalExpression", "text": "8175"}, "description": "TCP Port to bind on for UI connections", "loc": ["services", "fedimintd", "<name>", "ui", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fediwall.enable": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fediwall, a social media wall for the fediverse.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fediwall", "enable"], "readOnly": false, "type": "boolean"}, "services.fediwall.hostName": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdnOrHostName"}, "description": "The hostname to serve fediwall on.", "example": {"_type": "literalExpression", "text": "\"fediwall.example.org\""}, "loc": ["services", "fediwall", "hostName"], "readOnly": false, "type": "string"}, "services.fediwall.nginx": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Allows customizing the nginx virtualHost settings", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [\n    \"fedi.${config.networking.domain}\"\n  ];\n  # Enable TLS and use let's encrypt for ACME\n  forceSSL = true;\n  enableACME = true;\n}\n"}, "loc": ["services", "fediwall", "nginx"], "readOnly": false, "type": "submodule"}, "services.fediwall.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "fediwall", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "fediwall", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "fediwall", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "fediwall", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.fediwall.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "fediwall", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.fediwall.nginx.default": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "fediwall", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "fediwall", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "fediwall", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fediwall.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "fediwall", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "fediwall", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "fediwall", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "fediwall", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "fediwall", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "fediwall", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "fediwall", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.fediwall.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "description": "Listen address.", "loc": ["services", "fediwall", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.fediwall.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "fediwall", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.fediwall.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "fediwall", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fediwall.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "fediwall", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "fediwall", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "fediwall", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.fediwall.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "fediwall", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.fediwall.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.fediwall.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.fediwall.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "fediwall", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.fediwall.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "fediwall", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fediwall.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "fediwall", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.fediwall.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "fediwall", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.fediwall.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "fediwall", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "fediwall", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.fediwall.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.fediwall.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "fediwall", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "fediwall", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "fediwall", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "fediwall", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.fediwall.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "fediwall", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "fediwall", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.fediwall.nginx.root": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "fediwall", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.fediwall.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "fediwall", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.fediwall.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "fediwall", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.fediwall.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "fediwall", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.fediwall.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "fediwall", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.fediwall.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "fediwall", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.fediwall.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "fediwall", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.fediwall.package": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fediwall"}, "description": "The fediwall package to use.", "loc": ["services", "fediwall", "package"], "readOnly": false, "type": "package"}, "services.fediwall.settings": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Fediwall configuration. See\nhttps://github.com/defnull/fediwall/blob/main/public/wall-config.json.example\nfor information on supported values.\n", "loc": ["services", "fediwall", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.fediwall.settings.hideBoosts": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Hide boosts", "loc": ["services", "fediwall", "settings", "hideBoosts"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.hideBots": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Hide posts from bot accounts", "loc": ["services", "fediwall", "settings", "hideBots"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.hideReplies": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Hide replies", "loc": ["services", "fediwall", "settings", "hideReplies"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.hideSensitive": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Hide sensitive (potentially NSFW) posts", "loc": ["services", "fediwall", "settings", "hideSensitive"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.loadFederated": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Load federated posts", "loc": ["services", "fediwall", "settings", "loadFederated"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.loadPublic": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Load public posts", "loc": ["services", "fediwall", "settings", "loadPublic"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.loadTrends": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Load trending posts", "loc": ["services", "fediwall", "settings", "loadTrends"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.playVideos": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Autoplay videos in posts", "loc": ["services", "fediwall", "settings", "playVideos"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.servers": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"mastodon.social\"\n]"}, "description": "Servers to load posts from", "loc": ["services", "fediwall", "settings", "servers"], "readOnly": false, "type": "list of string"}, "services.fediwall.settings.showMedia": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Show media in posts", "loc": ["services", "fediwall", "settings", "showMedia"], "readOnly": false, "type": "boolean"}, "services.fediwall.settings.tags": {"declarations": ["nixos/modules/services/web-apps/fediwall.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Tags to follow", "example": {"_type": "literalExpression", "text": "[ \"cats\" \"dogs\"]"}, "loc": ["services", "fediwall", "settings", "tags"], "readOnly": false, "type": "list of string"}, "services.felix.bundles": {"declarations": ["nixos/modules/services/misc/felix.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.felix_remoteshell ]"}, "description": "List of bundles that should be activated on startup", "loc": ["services", "felix", "bundles"], "readOnly": false, "type": "list of package"}, "services.felix.enable": {"declarations": ["nixos/modules/services/misc/felix.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Apache Felix OSGi service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "felix", "enable"], "readOnly": false, "type": "boolean"}, "services.felix.group": {"declarations": ["nixos/modules/services/misc/felix.nix"], "default": {"_type": "literalExpression", "text": "\"osgi\""}, "description": "Group account under which Apache Felix runs.", "loc": ["services", "felix", "group"], "readOnly": false, "type": "string"}, "services.felix.user": {"declarations": ["nixos/modules/services/misc/felix.nix"], "default": {"_type": "literalExpression", "text": "\"osgi\""}, "description": "User account under which Apache Felix runs.", "loc": ["services", "felix", "user"], "readOnly": false, "type": "string"}, "services.ferm.config": {"declarations": ["nixos/modules/services/networking/ferm.nix"], "default": {"_type": "literalMD", "text": "empty firewall, allows any traffic"}, "description": "Verbatim ferm.conf configuration.", "loc": ["services", "ferm", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.ferm.enable": {"declarations": ["nixos/modules/services/networking/ferm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Ferm Firewall.\n*Warning*: Enabling this service WILL disable the existing NixOS\nfirewall! Default firewall rules provided by packages are not\nconsidered at the moment.\n", "loc": ["services", "ferm", "enable"], "readOnly": false, "type": "boolean"}, "services.ferm.package": {"declarations": ["nixos/modules/services/networking/ferm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ferm"}, "description": "The ferm package to use.", "loc": ["services", "ferm", "package"], "readOnly": false, "type": "package"}, "services.ferretdb.enable": {"declarations": ["nixos/modules/services/databases/ferretdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FerretDB, an Open Source MongoDB alternative.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ferretdb", "enable"], "readOnly": false, "type": "boolean"}, "services.ferretdb.package": {"declarations": ["nixos/modules/services/databases/ferretdb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ferretdb"}, "description": "The ferretdb package to use.", "loc": ["services", "ferretdb", "package"], "readOnly": false, "type": "package"}, "services.ferretdb.settings": {"declarations": ["nixos/modules/services/databases/ferretdb.nix"], "description": "Additional configuration for FerretDB, see\n<https://docs.ferretdb.io/configuration/flags/>\nfor supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  FERRETDB_LOG_LEVEL = \"warn\";\n  FERRETDB_MODE = \"normal\";\n}"}, "loc": ["services", "ferretdb", "settings"], "readOnly": false, "type": "open submodule of attribute set of string"}, "services.ferretdb.settings.FERRETDB_HANDLER": {"declarations": ["nixos/modules/services/databases/ferretdb.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Backend handler", "loc": ["services", "ferretdb", "settings", "FERRETDB_HANDLER"], "readOnly": false, "type": "one of \"sqlite\", \"pg\""}, "services.ferretdb.settings.FERRETDB_POSTGRESQL_URL": {"declarations": ["nixos/modules/services/databases/ferretdb.nix"], "default": {"_type": "literalExpression", "text": "\"postgres://ferretdb@localhost/ferretdb?host=/run/postgresql\""}, "description": "PostgreSQL URL for 'pg' handler", "loc": ["services", "ferretdb", "settings", "FERRETDB_POSTGRESQL_URL"], "readOnly": false, "type": "string"}, "services.ferretdb.settings.FERRETDB_SQLITE_URL": {"declarations": ["nixos/modules/services/databases/ferretdb.nix"], "default": {"_type": "literalExpression", "text": "\"file:/var/lib/ferretdb/\""}, "description": "SQLite URI (directory) for 'sqlite' handler", "loc": ["services", "ferretdb", "settings", "FERRETDB_SQLITE_URL"], "readOnly": false, "type": "string"}, "services.ferretdb.settings.FERRETDB_TELEMETRY": {"declarations": ["nixos/modules/services/databases/ferretdb.nix"], "default": {"_type": "literalExpression", "text": "\"disable\""}, "description": "Enable or disable basic telemetry.\n\nSee <https://docs.ferretdb.io/telemetry/> for more information.\n", "loc": ["services", "ferretdb", "settings", "FERRETDB_TELEMETRY"], "readOnly": false, "type": "one of \"enable\", \"disable\""}, "services.fider.dataDir": {"declarations": ["nixos/modules/services/web-apps/fider.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/fider\""}, "description": "Default data folder for Fider.", "example": {"_type": "literalExpression", "text": "\"/mnt/fider\""}, "loc": ["services", "fider", "dataDir"], "readOnly": false, "type": "string"}, "services.fider.database.url": {"declarations": ["nixos/modules/services/web-apps/fider.nix"], "default": {"_type": "literalExpression", "text": "\"local\""}, "description": "URI to use for the main PostgreSQL database. If this needs to include\ncredentials that shouldn't be world-readable in the Nix store, set an\nenvironment file on the systemd service and override the\n`DATABASE_URL` entry. Pass the string\n`local` to setup a database on the local server.\n", "loc": ["services", "fider", "database", "url"], "readOnly": false, "type": "string"}, "services.fider.enable": {"declarations": ["nixos/modules/services/web-apps/fider.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Fider server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fider", "enable"], "readOnly": false, "type": "boolean"}, "services.fider.environment": {"declarations": ["nixos/modules/services/web-apps/fider.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to set for the service. Secrets should be\nspecified using {option}`environmentFiles`.\nRefer to <https://github.com/getfider/fider/blob/stable/.example.env>\nand <https://github.com/getfider/fider/blob/stable/app/pkg/env/env.go>\nfor available options.\n", "example": {"_type": "literalExpression", "text": "{\n  BASE_URL = \"https://fider.example.com\";\n  BLOB_STORAGE = \"fs\";\n  EMAIL = \"smtp\";\n  EMAIL_NOREPLY = \"fider@example.com\";\n  EMAIL_SMTP_HOST = \"mail.example.com\";\n  EMAIL_SMTP_PORT = \"587\";\n  EMAIL_SMTP_USERNAME = \"fider@example.com\";\n  PORT = \"31213\";\n}"}, "loc": ["services", "fider", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.fider.environmentFiles": {"declarations": ["nixos/modules/services/web-apps/fider.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to load environment variables from. Loaded variables override\nvalues set in {option}`environment`.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/fider.env\""}, "loc": ["services", "fider", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.fider.package": {"declarations": ["nixos/modules/services/web-apps/fider.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fider"}, "description": "The fider package to use.", "loc": ["services", "fider", "package"], "readOnly": false, "type": "package"}, "services.filebeat.enable": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable filebeat.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "filebeat", "enable"], "readOnly": false, "type": "boolean"}, "services.filebeat.inputs": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Inputs specify how Filebeat locates and processes input data.\n\nThis is like `services.filebeat.settings.filebeat.inputs`,\nbut structured as an attribute set. This has the benefit\nthat multiple NixOS modules can contribute settings to a\nsingle filebeat input.\n\nAn input type can be specified multiple times by choosing a\ndifferent `<name>` for each, but setting\n[](#opt-services.filebeat.inputs._name_.type)\nto the same value.\n\nSee <https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html>.\n", "example": {"_type": "literalExpression", "text": "{\n  journald.id = \"everything\";  # Only for filebeat7\n  log = {\n    enabled = true;\n    paths = [\n      \"/var/log/*.log\"\n    ];\n  };\n};\n"}, "loc": ["services", "filebeat", "inputs"], "readOnly": false, "type": "attribute set of (open submodule of (JSON value))"}, "services.filebeat.inputs.<name>.type": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The input type.\n\nLook for the value after `type:` on\nthe individual input pages linked from\n<https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html>.\n", "loc": ["services", "filebeat", "inputs", "<name>", "type"], "readOnly": false, "type": "string"}, "services.filebeat.modules": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Filebeat modules provide a quick way to get started\nprocessing common log formats. They contain default\nconfigurations, Elasticsearch ingest pipeline definitions,\nand Kibana dashboards to help you implement and deploy a log\nmonitoring solution.\n\nThis is like `services.filebeat.settings.filebeat.modules`,\nbut structured as an attribute set. This has the benefit\nthat multiple NixOS modules can contribute settings to a\nsingle filebeat module.\n\nA module can be specified multiple times by choosing a\ndifferent `<name>` for each, but setting\n[](#opt-services.filebeat.modules._name_.module)\nto the same value.\n\nSee <https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html>.\n", "example": {"_type": "literalExpression", "text": "{\n  nginx = {\n    access = {\n      enabled = true;\n      var.paths = [ \"/path/to/log/nginx/access.log*\" ];\n    };\n    error = {\n      enabled = true;\n      var.paths = [ \"/path/to/log/nginx/error.log*\" ];\n    };\n  };\n};\n"}, "loc": ["services", "filebeat", "modules"], "readOnly": false, "type": "attribute set of (open submodule of (JSON value))"}, "services.filebeat.modules.<name>.module": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The name of the module.\n\nLook for the value after `module:` on\nthe individual input pages linked from\n<https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html>.\n", "loc": ["services", "filebeat", "modules", "<name>", "module"], "readOnly": false, "type": "string"}, "services.filebeat.package": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "pkgs.filebeat"}, "description": "The filebeat package to use.", "example": {"_type": "literalExpression", "text": "filebeat7"}, "loc": ["services", "filebeat", "package"], "readOnly": false, "type": "package"}, "services.filebeat.settings": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for filebeat. See\n<https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.html>\nfor supported values.\n\nOptions containing secret data should be set to an attribute\nset containing the attribute `_secret` - a\nstring pointing to a file containing the value the option\nshould be set to. See the example to get a better picture of\nthis: in the resulting\n{file}`filebeat.yml` file, the\n`output.elasticsearch.password`\nkey will be set to the contents of the\n{file}`/var/keys/elasticsearch_password` file.\n", "example": {"_type": "literalExpression", "text": "{\n  settings = {\n    output.elasticsearch = {\n      hosts = [ \"myEShost:9200\" ];\n      username = \"filebeat_internal\";\n      password = { _secret = \"/var/keys/elasticsearch_password\"; };\n    };\n    logging.level = \"info\";\n  };\n};\n"}, "loc": ["services", "filebeat", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.filebeat.settings.output.elasticsearch.hosts": {"declarations": ["nixos/modules/services/logging/filebeat.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1:9200\"\n]"}, "description": "The list of Elasticsearch nodes to connect to.\n\nThe events are distributed to these nodes in round\nrobin order. If one node becomes unreachable, the\nevent is automatically sent to another node. Each\nElasticsearch node can be defined as a URL or\nIP:PORT. For example:\n`http://192.15.3.2`,\n`https://es.found.io:9230` or\n`192.24.3.2:9300`. If no port is\nspecified, `9200` is used.\n", "example": {"_type": "literalExpression", "text": "[\n  \"myEShost:9200\"\n]"}, "loc": ["services", "filebeat", "settings", "output", "elasticsearch", "hosts"], "readOnly": false, "type": "list of string"}, "services.filebrowser.enable": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FileBrowser.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "filebrowser", "enable"], "readOnly": false, "type": "boolean"}, "services.filebrowser.group": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "\"filebrowser\""}, "description": "Group under which FileBrowser runs.", "loc": ["services", "filebrowser", "group"], "readOnly": false, "type": "string"}, "services.filebrowser.openFirewall": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening firewall ports for FileBrowser.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "filebrowser", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.filebrowser.package": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "pkgs.filebrowser"}, "description": "The filebrowser package to use.", "loc": ["services", "filebrowser", "package"], "readOnly": false, "type": "package"}, "services.filebrowser.settings": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for FileBrowser.\nRefer to <https://filebrowser.org/cli/filebrowser#options> for all supported values.\n", "loc": ["services", "filebrowser", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.filebrowser.settings.address": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The address to listen on.\n", "loc": ["services", "filebrowser", "settings", "address"], "readOnly": false, "type": "string"}, "services.filebrowser.settings.cache-dir": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "\"/var/cache/filebrowser\""}, "description": "The directory where FileBrowser stores its cache.\n", "loc": ["services", "filebrowser", "settings", "cache-dir"], "readOnly": true, "type": "absolute path"}, "services.filebrowser.settings.database": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/filebrowser/database.db\""}, "description": "The path to FileBrowser's Bolt database.\n", "loc": ["services", "filebrowser", "settings", "database"], "readOnly": false, "type": "absolute path"}, "services.filebrowser.settings.port": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port to listen on.\n", "loc": ["services", "filebrowser", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.filebrowser.settings.root": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/filebrowser/data\""}, "description": "The directory where FileBrowser stores files.\n", "loc": ["services", "filebrowser", "settings", "root"], "readOnly": false, "type": "absolute path"}, "services.filebrowser.user": {"declarations": ["nixos/modules/services/web-apps/filebrowser.nix"], "default": {"_type": "literalExpression", "text": "\"filebrowser\""}, "description": "User account under which FileBrowser runs.", "loc": ["services", "filebrowser", "user"], "readOnly": false, "type": "string"}, "services.firebird.baseDir": {"declarations": ["nixos/modules/services/databases/firebird.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/firebird\""}, "description": "Location containing data/ and system/ directories.\ndata/ stores the databases, system/ stores the password database security2.fdb.\n", "loc": ["services", "firebird", "baseDir"], "readOnly": false, "type": "string"}, "services.firebird.enable": {"declarations": ["nixos/modules/services/databases/firebird.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Firebird super server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firebird", "enable"], "readOnly": false, "type": "boolean"}, "services.firebird.package": {"declarations": ["nixos/modules/services/databases/firebird.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firebird"}, "description": "The firebird package to use. For SuperServer use override: `pkgs.firebird_3.override { superServer = true; };`\n", "example": {"_type": "literalExpression", "text": "firebird_3"}, "loc": ["services", "firebird", "package"], "readOnly": false, "type": "package"}, "services.firebird.port": {"declarations": ["nixos/modules/services/databases/firebird.nix"], "default": {"_type": "literalExpression", "text": "3050"}, "description": "Port Firebird uses.\n", "loc": ["services", "firebird", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firebird.user": {"declarations": ["nixos/modules/services/databases/firebird.nix"], "default": {"_type": "literalExpression", "text": "\"firebird\""}, "description": "User account under which firebird runs.\n", "loc": ["services", "firebird", "user"], "readOnly": false, "type": "string"}, "services.firefly-iii-data-importer.dataDir": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/firefly-iii-data-importer\""}, "description": "The place where firefly-iii data importer stores its state.\n", "loc": ["services", "firefly-iii-data-importer", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.firefly-iii-data-importer.enable": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Firefly III Data Importer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firefly-iii-data-importer", "enable"], "readOnly": false, "type": "boolean"}, "services.firefly-iii-data-importer.enableNginx": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nginx or not. If enabled, an nginx virtual host will\nbe created for access to firefly-iii data importer. If not enabled, then you may use\n`${config.services.firefly-iii-data-importer.package}` as your document root in\nwhichever webserver you wish to setup.\n", "loc": ["services", "firefly-iii-data-importer", "enableNginx"], "readOnly": false, "type": "boolean"}, "services.firefly-iii-data-importer.group": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "\"If `services.firefly-iii-data-importer.enableNginx` is true then `nginx` else firefly-iii-data-importer\""}, "description": "Group under which firefly-iii-data-importer runs. It is best to set this to the group\nof whatever webserver is being used as the frontend.\n", "loc": ["services", "firefly-iii-data-importer", "group"], "readOnly": false, "type": "string"}, "services.firefly-iii-data-importer.package": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firefly-iii-data-importer"}, "description": "The firefly-iii-data-importer package served by php-fpm and the webserver of choice.\nThis option can be used to point the webserver to the correct root. It\nmay also be used to set the package to a different version, say a\ndevelopment version.\n", "loc": ["services", "firefly-iii-data-importer", "package"], "readOnly": false, "type": "package"}, "services.firefly-iii-data-importer.poolConfig": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"pm\" = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.start_servers\" = 2;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.max_requests\" = 500;\n}\n"}, "description": "Options for the Firefly III Data Importer PHP pool. See the documentation on <literal>php-fpm.conf</literal>\nfor details on configuration directives.\n", "loc": ["services", "firefly-iii-data-importer", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.firefly-iii-data-importer.settings": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for firefly-iii data importer configuration. Refer to\n<https://github.com/firefly-iii/data-importer/blob/main/.env.example> for\ndetails on supported values. All <option>_FILE values supported by\nupstream are supported here.\n\nAPP_URL will be the same as `services.firefly-iii-data-importer.virtualHost` if the\nformer is unset in `services.firefly-iii-data-importer.settings`.\n", "example": {"_type": "literalExpression", "text": "{\n  APP_ENV = \"local\";\n  LOG_CHANNEL = \"syslog\";\n  FIREFLY_III_ACCESS_TOKEN= = \"/var/secrets/firefly-iii-access-token.txt\";\n}\n"}, "loc": ["services", "firefly-iii-data-importer", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean)"}, "services.firefly-iii-data-importer.user": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "\"firefly-iii-data-importer\""}, "description": "User account under which firefly-iii-data-importer runs.", "loc": ["services", "firefly-iii-data-importer", "user"], "readOnly": false, "type": "string"}, "services.firefly-iii-data-importer.virtualHost": {"declarations": ["nixos/modules/services/web-apps/firefly-iii-data-importer.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The hostname at which you wish firefly-iii-data-importer to be served. If you have\nenabled nginx using `services.firefly-iii-data-importer.enableNginx` then this will\nbe used.\n", "loc": ["services", "firefly-iii-data-importer", "virtualHost"], "readOnly": false, "type": "string"}, "services.firefly-iii.dataDir": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/firefly-iii\""}, "description": "The place where firefly-iii stores its state.\n", "loc": ["services", "firefly-iii", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.firefly-iii.enable": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Firefly III: A free and open source personal finance manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firefly-iii", "enable"], "readOnly": false, "type": "boolean"}, "services.firefly-iii.enableNginx": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nginx or not. If enabled, an nginx virtual host will\nbe created for access to firefly-iii. If not enabled, then you may use\n`${config.services.firefly-iii.package}` as your document root in\nwhichever webserver you wish to setup.\n", "loc": ["services", "firefly-iii", "enableNginx"], "readOnly": false, "type": "boolean"}, "services.firefly-iii.group": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "\"If `services.firefly-iii.enableNginx` is true then `nginx` else firefly-iii\""}, "description": "Group under which firefly-iii runs. It is best to set this to the group\nof whatever webserver is being used as the frontend.\n", "loc": ["services", "firefly-iii", "group"], "readOnly": false, "type": "string"}, "services.firefly-iii.package": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firefly-iii"}, "description": "The firefly-iii package to use.", "loc": ["services", "firefly-iii", "package"], "readOnly": false, "type": "package"}, "services.firefly-iii.poolConfig": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "''\n  {\n    \"pm\" = \"dynamic\";\n    \"pm.max_children\" = 32;\n    \"pm.start_servers\" = 2;\n    \"pm.min_spare_servers\" = 2;\n    \"pm.max_spare_servers\" = 4;\n    \"pm.max_requests\" = 500;\n  }\n''"}, "description": "Options for the Firefly III PHP pool. See the documentation on <literal>php-fpm.conf</literal>\nfor details on configuration directives.\n", "loc": ["services", "firefly-iii", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.firefly-iii.settings": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for firefly-iii configuration. Refer to\n<https://github.com/firefly-iii/firefly-iii/blob/main/.env.example> for\ndetails on supported values. All <option>_FILE values supported by\nupstream are supported here.\n\nAPP_URL will be the same as `services.firefly-iii.virtualHost` if the\nformer is unset in `services.firefly-iii.settings`.\n", "example": {"_type": "literalExpression", "text": "{\n  APP_ENV = \"production\";\n  APP_KEY_FILE = \"/var/secrets/firefly-iii-app-key.txt\";\n  SITE_OWNER = \"mail@example.com\";\n  DB_CONNECTION = \"mysql\";\n  DB_HOST = \"db\";\n  DB_PORT = 3306;\n  DB_DATABASE = \"firefly\";\n  DB_USERNAME = \"firefly\";\n  DB_PASSWORD_FILE = \"/var/secrets/firefly-iii-mysql-password.txt\";\n}\n"}, "loc": ["services", "firefly-iii", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean)"}, "services.firefly-iii.settings.APP_ENV": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "\"local\""}, "description": "The app environment. It is recommended to keep this at \"local\".\nPossible values are \"local\", \"production\" and \"testing\"\n", "example": {"_type": "literalExpression", "text": "\"production\""}, "loc": ["services", "firefly-iii", "settings", "APP_ENV"], "readOnly": false, "type": "one of \"local\", \"production\", \"testing\""}, "services.firefly-iii.settings.APP_KEY_FILE": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "description": "The path to your appkey. The file should contain a 32 character\nrandom app key. This may be set using `echo \"base64:$(head -c 32\n/dev/urandom | base64)\" > /path/to/key-file`.\n", "loc": ["services", "firefly-iii", "settings", "APP_KEY_FILE"], "readOnly": false, "type": "absolute path"}, "services.firefly-iii.settings.APP_URL": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "''\n  http(s)://''${config.services.firefly-iii.virtualHost}\n''"}, "description": "The APP_URL used by firefly-iii internally. Please make sure this\nURL matches the external URL of your Firefly III installation. It\nis used to validate specific requests and to generate URLs in\nemails.\n", "loc": ["services", "firefly-iii", "settings", "APP_URL"], "readOnly": false, "type": "string"}, "services.firefly-iii.settings.DB_CONNECTION": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "The type of database you wish to use. Can be one of \"sqlite\",\n\"mysql\" or \"pgsql\".\n", "example": {"_type": "literalExpression", "text": "\"pgsql\""}, "loc": ["services", "firefly-iii", "settings", "DB_CONNECTION"], "readOnly": false, "type": "one of \"sqlite\", \"pgsql\", \"mysql\""}, "services.firefly-iii.settings.DB_HOST": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "''\n  \"localhost\" if DB_CONNECTION is \"sqlite\" or \"mysql\", \"/run/postgresql\" if \"pgsql\".\n''"}, "description": "The machine which hosts your database. This is left at the\ndefault value for \"mysql\" because we use the \"DB_SOCKET\" option\nto connect to a unix socket instead. \"pgsql\" requires that the\nunix socket location be specified here instead of at \"DB_SOCKET\".\nThis option does not affect \"sqlite\".\n", "loc": ["services", "firefly-iii", "settings", "DB_HOST"], "readOnly": false, "type": "string"}, "services.firefly-iii.settings.DB_PORT": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "''\n  `null` if DB_CONNECTION is \"sqlite\", `3306` if \"mysql\", `5432` if \"pgsql\"\n''"}, "description": "The port your database is listening at. sqlite does not require\nthis value to be filled.\n", "loc": ["services", "firefly-iii", "settings", "DB_PORT"], "readOnly": false, "type": "null or signed integer"}, "services.firefly-iii.user": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "\"firefly-iii\""}, "description": "User account under which firefly-iii runs.", "loc": ["services", "firefly-iii", "user"], "readOnly": false, "type": "string"}, "services.firefly-iii.virtualHost": {"declarations": ["nixos/modules/services/web-apps/firefly-iii.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The hostname at which you wish firefly-iii to be served. If you have\nenabled nginx using `services.firefly-iii.enableNginx` then this will\nbe used.\n", "loc": ["services", "firefly-iii", "virtualHost"], "readOnly": false, "type": "string"}, "services.firefox-syncserver.database.createLocally": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to create database and user on the local machine if they do not exist.\nThis includes enabling unix domain socket authentication for the configured user.\n", "loc": ["services", "firefox-syncserver", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.firefox-syncserver.database.host": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host name. `localhost` is treated specially and inserts\nsystemd dependencies, other hostnames or IP addresses of the local machine do not.\n", "loc": ["services", "firefox-syncserver", "database", "host"], "readOnly": false, "type": "string"}, "services.firefox-syncserver.database.name": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "\"firefox_syncserver\""}, "description": "Database to use for storage. Will be created automatically if it does not exist\nand `config.services.firefox-syncserver.database.createLocally` is set.\n", "loc": ["services", "firefox-syncserver", "database", "name"], "readOnly": false, "type": "string matching the pattern [a-z_][a-z0-9_]*"}, "services.firefox-syncserver.database.user": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "\"firefox-syncserver\""}, "description": "Username for database connections.\n", "loc": ["services", "firefox-syncserver", "database", "user"], "readOnly": false, "type": "string"}, "services.firefox-syncserver.enable": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Firefox Sync storage service.\n\nOut of the box this will not be very useful unless you also configure at least\none service and one nodes by inserting them into the mysql database manually, e.g.\nby running\n\n```\n  INSERT INTO `services` (`id`, `service`, `pattern`) VALUES ('1', 'sync-1.5', '{node}/1.5/{uid}');\n  INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`,\n      `capacity`, `downed`, `backoff`)\n    VALUES ('1', '1', 'https://mydomain.tld', '1', '0', '10', '0', '0');\n```\n\n{option}`services.firefox-syncserver.singleNode.enable` does this automatically when enabled\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firefox-syncserver", "enable"], "readOnly": false, "type": "boolean"}, "services.firefox-syncserver.logLevel": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "\"error\""}, "description": "Log level to run with. This can be a simple log level like `error`\nor `trace`, or a more complicated logging expression.\n", "loc": ["services", "firefox-syncserver", "logLevel"], "readOnly": false, "type": "string"}, "services.firefox-syncserver.package": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "pkgs.syncstorage-rs"}, "description": "The syncstorage-rs package to use.", "loc": ["services", "firefox-syncserver", "package"], "readOnly": false, "type": "package"}, "services.firefox-syncserver.secrets": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "description": "A file containing the various secrets. Should be in the format expected by systemd's\n`EnvironmentFile` directory. Two secrets are currently available:\n`SYNC_MASTER_SECRET` and\n`SYNC_TOKENSERVER__FXA_METRICS_HASH_SECRET`.\n", "loc": ["services", "firefox-syncserver", "secrets"], "readOnly": false, "type": "absolute path"}, "services.firefox-syncserver.settings": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for the sync server. These take priority over values computed\nfrom NixOS options.\n\nSee the example config in\n<https://github.com/mozilla-services/syncstorage-rs/blob/master/config/local.example.toml>\nand the doc comments on the `Settings` structs in\n<https://github.com/mozilla-services/syncstorage-rs/blob/master/syncstorage-settings/src/lib.rs>\nand\n<https://github.com/mozilla-services/syncstorage-rs/blob/master/tokenserver-settings/src/lib.rs>\nfor available options.\n", "loc": ["services", "firefox-syncserver", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.firefox-syncserver.settings.port": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "Port to bind to.\n", "loc": ["services", "firefox-syncserver", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firefox-syncserver.settings.tokenserver.enabled": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the token service as well.\n", "loc": ["services", "firefox-syncserver", "settings", "tokenserver", "enabled"], "readOnly": false, "type": "boolean"}, "services.firefox-syncserver.singleNode.capacity": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "How many sync accounts are allowed on this server. Setting this value\nequal to or less than the number of currently active accounts will\neffectively deny service to accounts not yet registered here.\n", "loc": ["services", "firefox-syncserver", "singleNode", "capacity"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.firefox-syncserver.singleNode.enable": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable auto-configuration for a simple single-node setup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firefox-syncserver", "singleNode", "enable"], "readOnly": false, "type": "boolean"}, "services.firefox-syncserver.singleNode.enableNginx": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nginx virtualhost definitions.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firefox-syncserver", "singleNode", "enableNginx"], "readOnly": false, "type": "boolean"}, "services.firefox-syncserver.singleNode.enableTLS": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic TLS setup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firefox-syncserver", "singleNode", "enableTLS"], "readOnly": false, "type": "boolean"}, "services.firefox-syncserver.singleNode.hostname": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "description": "Host name to use for this service.\n", "loc": ["services", "firefox-syncserver", "singleNode", "hostname"], "readOnly": false, "type": "string"}, "services.firefox-syncserver.singleNode.url": {"declarations": ["nixos/modules/services/networking/firefox-syncserver.nix"], "default": {"_type": "literalExpression", "text": "${if cfg.singleNode.enableTLS then \"https\" else \"http\"}://${config.services.firefox-syncserver.singleNode.hostname}\n"}, "description": "URL of the host. If you are not using the automatic webserver proxy setup you will have\nto change this setting or your sync server may not be functional.\n", "loc": ["services", "firefox-syncserver", "singleNode", "url"], "readOnly": false, "type": "string"}, "services.fireqos.config": {"declarations": ["nixos/modules/services/networking/fireqos.nix"], "description": "The FireQOS configuration.\n", "example": {"_type": "literalExpression", "text": "''\n  interface wlp3s0 world-in input rate 10mbit ethernet\n    class web commit 50kbit\n      match tcp ports 80,443\n  \n  interface wlp3s0 world-out input rate 10mbit ethernet\n    class web commit 50kbit\n      match tcp ports 80,443\n''"}, "loc": ["services", "fireqos", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fireqos.enable": {"declarations": ["nixos/modules/services/networking/fireqos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FireQOS.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fireqos", "enable"], "readOnly": false, "type": "boolean"}, "services.firewalld.enable": {"declarations": ["nixos/modules/services/networking/firewalld"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FirewallD.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firewalld", "enable"], "readOnly": false, "type": "boolean"}, "services.firewalld.extraArgs": {"declarations": ["nixos/modules/services/networking/firewalld"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to pass to FirewallD.", "example": {"_type": "literalExpression", "text": "[\n  \"--debug\"\n]"}, "loc": ["services", "firewalld", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.firewalld.package": {"declarations": ["nixos/modules/services/networking/firewalld"], "default": {"_type": "literalExpression", "text": "pkgs.firewalld"}, "description": "The firewalld package to use.", "loc": ["services", "firewalld", "package"], "readOnly": false, "type": "package"}, "services.firewalld.packages": {"declarations": ["nixos/modules/services/networking/firewalld"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Packages providing firewalld zones and other files.\nFiles found in `/lib/firewalld` will be included.\n", "loc": ["services", "firewalld", "packages"], "readOnly": false, "type": "list of package"}, "services.firewalld.services": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "firewalld service configuration files. See {manpage}`firewalld.service(5)`.\n", "loc": ["services", "firewalld", "services"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firewalld.services.<name>.description": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Description for the service.", "loc": ["services", "firewalld", "services", "<name>", "description"], "readOnly": false, "type": "null or non-empty string"}, "services.firewalld.services.<name>.destination": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Destinations for the service.", "loc": ["services", "firewalld", "services", "<name>", "destination"], "readOnly": false, "type": "submodule"}, "services.firewalld.services.<name>.destination.ipv4": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IPv4 destination.", "loc": ["services", "firewalld", "services", "<name>", "destination", "ipv4"], "readOnly": false, "type": "null or string matching the pattern ([0-9]{1,3}\\.){3}[0-9]{1,3}(/[0-9]{1,2})?"}, "services.firewalld.services.<name>.destination.ipv6": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IPv6 destination.", "loc": ["services", "firewalld", "services", "<name>", "destination", "ipv6"], "readOnly": false, "type": "null or string matching the pattern [0-9A-Fa-f:]{3,39}(/[0-9]{1,3})?"}, "services.firewalld.services.<name>.helpers": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Helpers for the service.", "loc": ["services", "firewalld", "services", "<name>", "helpers"], "readOnly": false, "type": "list of non-empty string"}, "services.firewalld.services.<name>.includes": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Services to include for the service.", "loc": ["services", "firewalld", "services", "<name>", "includes"], "readOnly": false, "type": "list of non-empty string"}, "services.firewalld.services.<name>.ports": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Ports of the service.", "loc": ["services", "firewalld", "services", "<name>", "ports"], "readOnly": false, "type": "list of (submodule)"}, "services.firewalld.services.<name>.ports.*.port": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "description": "", "loc": ["services", "firewalld", "services", "<name>", "ports", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive) or (submodule)"}, "services.firewalld.services.<name>.ports.*.protocol": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "description": "", "loc": ["services", "firewalld", "services", "<name>", "ports", "*", "protocol"], "readOnly": false, "type": "one of \"tcp\", \"udp\", \"sctp\", \"dccp\""}, "services.firewalld.services.<name>.protocols": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Protocols for the service.", "loc": ["services", "firewalld", "services", "<name>", "protocols"], "readOnly": false, "type": "list of non-empty string"}, "services.firewalld.services.<name>.short": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Short description for the service.", "loc": ["services", "firewalld", "services", "<name>", "short"], "readOnly": false, "type": "null or non-empty string"}, "services.firewalld.services.<name>.sourcePorts": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Source ports for the service.", "loc": ["services", "firewalld", "services", "<name>", "sourcePorts"], "readOnly": false, "type": "list of (submodule)"}, "services.firewalld.services.<name>.sourcePorts.*.port": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "description": "", "loc": ["services", "firewalld", "services", "<name>", "sourcePorts", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive) or (submodule)"}, "services.firewalld.services.<name>.sourcePorts.*.protocol": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "description": "", "loc": ["services", "firewalld", "services", "<name>", "sourcePorts", "*", "protocol"], "readOnly": false, "type": "one of \"tcp\", \"udp\", \"sctp\", \"dccp\""}, "services.firewalld.services.<name>.version": {"declarations": ["nixos/modules/services/networking/firewalld/service.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Version of the service.", "loc": ["services", "firewalld", "services", "<name>", "version"], "readOnly": false, "type": "null or non-empty string"}, "services.firewalld.settings": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FirewallD config file.\nSee {manpage}`firewalld.conf(5)`.\n", "loc": ["services", "firewalld", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or non-empty string)"}, "services.firewalld.settings.CleanupModulesOnExit": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to unload all firewall-related kernel modules when firewalld stops.", "loc": ["services", "firewalld", "settings", "CleanupModulesOnExit"], "readOnly": false, "type": "boolean"}, "services.firewalld.settings.CleanupOnExit": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to clean up firewall rules when firewalld stops.", "loc": ["services", "firewalld", "settings", "CleanupOnExit"], "readOnly": false, "type": "boolean"}, "services.firewalld.settings.DefaultZone": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "\"public\""}, "description": "Default zone for connections.", "loc": ["services", "firewalld", "settings", "DefaultZone"], "readOnly": false, "type": "non-empty string"}, "services.firewalld.settings.FirewallBackend": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "\"nftables\""}, "description": "The firewall backend implementation.\nThis applies to all firewalld primitives.\nThe only exception is direct and passthrough rules which always use the traditional iptables, ip6tables, and ebtables backends.\n\n::: {.caution}\nThe iptables backend is deprecated.\nIt will be removed in a future release.\n:::\n", "loc": ["services", "firewalld", "settings", "FirewallBackend"], "readOnly": false, "type": "one of \"nftables\", \"iptables\""}, "services.firewalld.settings.FlushAllOnReload": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to flush all runtime rules on a reload.", "loc": ["services", "firewalld", "settings", "FlushAllOnReload"], "readOnly": false, "type": "boolean"}, "services.firewalld.settings.IPv6_rpfilter": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "\"strict\""}, "description": "Performs reverse path filtering (RPF) on IPv6 packets as per RFC 3704.\n\nPossible values:\n\n`\"strict\"`\n: Performs \"strict\" filtering as per RFC 3704.\n  This check verifies that the in ingress interface is the same interface that would be used to send a packet reply to the source.\n  That is, `ingress == egress`.\n\n`\"loose\"`\n: Performs \"loose\" filtering as per RFC 3704.\n  This check only verifies that there is a route back to the source through any interface; even if it's not the same one on which the packet arrived.\n\n`\"strict-forward\"`\n: This is almost identical to \"strict\", but does not perform RPF for packets targeted to the host (INPUT).\n\n`\"loose-forward\"`\n: This is almost identical to \"loose\", but does not perform RPF for packets targeted to the host (INPUT).\n\n`\"no\"`\n: RPF is completely disabled.\n\nThe rp_filter for IPv4 is controlled using sysctl.\n", "loc": ["services", "firewalld", "settings", "IPv6_rpfilter"], "readOnly": false, "type": "one of \"strict\", \"loose\", \"strict-forward\", \"loose-forward\", \"no\""}, "services.firewalld.settings.IndividualCalls": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use individual -restore calls to apply changes to the firewall.\nThe use of individual calls increases the time that is needed to apply changes and to start the daemon, but is good for debugging as error messages are more specific.\n", "loc": ["services", "firewalld", "settings", "IndividualCalls"], "readOnly": false, "type": "boolean"}, "services.firewalld.settings.LogDenied": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "\"off\""}, "description": "Add logging rules right before reject and drop rules in the INPUT, FORWARD and OUTPUT chains for the default rules and also final reject and drop rules in zones for the configured link-layer packet type.\n", "loc": ["services", "firewalld", "settings", "LogDenied"], "readOnly": false, "type": "one of \"all\", \"unicast\", \"broadcast\", \"multicast\", \"off\""}, "services.firewalld.settings.NftablesCounters": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a counter to every nftables rule.", "loc": ["services", "firewalld", "settings", "NftablesCounters"], "readOnly": false, "type": "boolean"}, "services.firewalld.settings.NftablesFlowtable": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "\"off\""}, "description": "This may improve forwarded traffic throughput by enabling nftables flowtable.\nIt is a software fastpath and avoids calling nftables rule evaluation for data packets.\nIts value is a space separate list of interfaces.\n", "loc": ["services", "firewalld", "settings", "NftablesFlowtable"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.firewalld.settings.NftablesTableOwner": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, the generated nftables rule set will be owned exclusively by firewalld.\nThis prevents other entities from mistakenly (or maliciously) modifying firewalld's rule set.\nIf you intend to modify firewalld's rules, set this to `false`.\n", "loc": ["services", "firewalld", "settings", "NftablesTableOwner"], "readOnly": false, "type": "boolean"}, "services.firewalld.settings.RFC3964_IPv4": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to filter IPv6 traffic with 6to4 destination addresses that correspond to IPv4 addresses that should not be routed over the public internet.\n", "loc": ["services", "firewalld", "settings", "RFC3964_IPv4"], "readOnly": false, "type": "boolean"}, "services.firewalld.settings.ReloadPolicy": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "\"INPUT:DROP,FORWARD:DROP,OUTPUT:DROP\""}, "description": "The policy during reload.", "loc": ["services", "firewalld", "settings", "ReloadPolicy"], "readOnly": false, "type": "one of \"DROP\", \"REJECT\", \"ACCEPT\" or strings concatenated with \",\""}, "services.firewalld.settings.StrictForwardPorts": {"declarations": ["nixos/modules/services/networking/firewalld/settings.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, the generated destination NAT (DNAT) rules will NOT accept traffic that was DNAT'd by other entities, e.g. docker.\nFirewalld will be strict and not allow published container ports until they're explicitly allowed via firewalld.\nIf set to `false`, then docker (and podman) integrates seamlessly with firewalld.\nPublished container ports are implicitly allowed.\n", "loc": ["services", "firewalld", "settings", "StrictForwardPorts"], "readOnly": false, "type": "boolean"}, "services.firewalld.zones": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "firewalld zone configuration files.\nSee {manpage}`firewalld.zone(5)`.\n", "example": {"_type": "literalExpression", "text": "{\n  dmz = {\n    forward = true;\n    services = [\n      \"ssh\"\n    ];\n  };\n  external = {\n    forward = true;\n    masquerade = true;\n    services = [\n      \"ssh\"\n    ];\n  };\n  home = {\n    forward = true;\n    services = [\n      \"ssh\"\n      \"mdns\"\n      \"samba-client\"\n      \"dhcpv6-client\"\n    ];\n  };\n  internal = {\n    forward = true;\n    services = [\n      \"ssh\"\n      \"mdns\"\n      \"samba-client\"\n      \"dhcpv6-client\"\n    ];\n  };\n  public = {\n    forward = true;\n    services = [\n      \"ssh\"\n      \"dhcpv6-client\"\n    ];\n  };\n  work = {\n    forward = true;\n    services = [\n      \"ssh\"\n      \"dhcpv6-client\"\n    ];\n  };\n}"}, "loc": ["services", "firewalld", "zones"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firewalld.zones.<name>.description": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Description for the zone.", "loc": ["services", "firewalld", "zones", "<name>", "description"], "readOnly": false, "type": "null or non-empty string"}, "services.firewalld.zones.<name>.egressPriority": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Priority for outbound traffic.\nLower values have higher priority.\n", "loc": ["services", "firewalld", "zones", "<name>", "egressPriority"], "readOnly": false, "type": "null or 16 bit signed integer; between -32768 and 32767 (both inclusive)"}, "services.firewalld.zones.<name>.forward": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable intra-zone forwarding.\nWhen enabled, packets will be forwarded between interfaces or sources within a zone, even if the zone's target is not set to ACCEPT.\n", "loc": ["services", "firewalld", "zones", "<name>", "forward"], "readOnly": false, "type": "boolean"}, "services.firewalld.zones.<name>.forwardPorts": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Ports to forward in the zone.", "loc": ["services", "firewalld", "zones", "<name>", "forwardPorts"], "readOnly": false, "type": "list of (submodule)"}, "services.firewalld.zones.<name>.forwardPorts.*.port": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "", "loc": ["services", "firewalld", "zones", "<name>", "forwardPorts", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive) or (submodule)"}, "services.firewalld.zones.<name>.forwardPorts.*.protocol": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "", "loc": ["services", "firewalld", "zones", "<name>", "forwardPorts", "*", "protocol"], "readOnly": false, "type": "one of \"tcp\", \"udp\", \"sctp\", \"dccp\""}, "services.firewalld.zones.<name>.forwardPorts.*.to-addr": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Destination IP address.", "loc": ["services", "firewalld", "zones", "<name>", "forwardPorts", "*", "to-addr"], "readOnly": false, "type": "null or non-empty string"}, "services.firewalld.zones.<name>.forwardPorts.*.to-port": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "", "loc": ["services", "firewalld", "zones", "<name>", "forwardPorts", "*", "to-port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or (submodule)"}, "services.firewalld.zones.<name>.icmpBlockInversion": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to invert the icmp block handling.\nOnly enabled ICMP types are accepted and all others are rejected in the zone.\n", "loc": ["services", "firewalld", "zones", "<name>", "icmpBlockInversion"], "readOnly": false, "type": "boolean"}, "services.firewalld.zones.<name>.icmpBlocks": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "ICMP types to block in the zone.", "loc": ["services", "firewalld", "zones", "<name>", "icmpBlocks"], "readOnly": false, "type": "list of non-empty string"}, "services.firewalld.zones.<name>.ingressPriority": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Priority for inbound traffic.\nLower values have higher priority.\n", "loc": ["services", "firewalld", "zones", "<name>", "ingressPriority"], "readOnly": false, "type": "null or 16 bit signed integer; between -32768 and 32767 (both inclusive)"}, "services.firewalld.zones.<name>.interfaces": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Interfaces to bind.", "loc": ["services", "firewalld", "zones", "<name>", "interfaces"], "readOnly": false, "type": "list of non-empty string"}, "services.firewalld.zones.<name>.masquerade": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable masquerading in the zone.", "loc": ["services", "firewalld", "zones", "<name>", "masquerade"], "readOnly": false, "type": "boolean"}, "services.firewalld.zones.<name>.ports": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Ports to allow in the zone.", "loc": ["services", "firewalld", "zones", "<name>", "ports"], "readOnly": false, "type": "list of (submodule)"}, "services.firewalld.zones.<name>.ports.*.port": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "", "loc": ["services", "firewalld", "zones", "<name>", "ports", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive) or (submodule)"}, "services.firewalld.zones.<name>.ports.*.protocol": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "", "loc": ["services", "firewalld", "zones", "<name>", "ports", "*", "protocol"], "readOnly": false, "type": "one of \"tcp\", \"udp\", \"sctp\", \"dccp\""}, "services.firewalld.zones.<name>.protocols": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Protocols to allow in the zone.", "loc": ["services", "firewalld", "zones", "<name>", "protocols"], "readOnly": false, "type": "list of non-empty string"}, "services.firewalld.zones.<name>.rules": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Rich rules for the zone.", "loc": ["services", "firewalld", "zones", "<name>", "rules"], "readOnly": false, "type": "list of (XML value)"}, "services.firewalld.zones.<name>.services": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Services to allow in the zone.", "loc": ["services", "firewalld", "zones", "<name>", "services"], "readOnly": false, "type": "list of non-empty string"}, "services.firewalld.zones.<name>.short": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Short description for the zone.", "loc": ["services", "firewalld", "zones", "<name>", "short"], "readOnly": false, "type": "null or non-empty string"}, "services.firewalld.zones.<name>.sourcePorts": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Source ports to allow in the zone.", "loc": ["services", "firewalld", "zones", "<name>", "sourcePorts"], "readOnly": false, "type": "list of (submodule)"}, "services.firewalld.zones.<name>.sourcePorts.*.port": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "", "loc": ["services", "firewalld", "zones", "<name>", "sourcePorts", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive) or (submodule)"}, "services.firewalld.zones.<name>.sourcePorts.*.protocol": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "", "loc": ["services", "firewalld", "zones", "<name>", "sourcePorts", "*", "protocol"], "readOnly": false, "type": "one of \"tcp\", \"udp\", \"sctp\", \"dccp\""}, "services.firewalld.zones.<name>.sources": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Source addresses, address ranges, MAC addresses or ipsets to bind.", "loc": ["services", "firewalld", "zones", "<name>", "sources"], "readOnly": false, "type": "list of attribute-tagged union with choices: address, ipset, mac"}, "services.firewalld.zones.<name>.sources.*.address": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "An IP address or a network IP address with a mask for IPv4 or IPv6.\nFor IPv4, the mask can be a network mask or a plain number.\nFor IPv6 the mask is a plain number.\nThe use of host names is not supported.\n", "loc": ["services", "firewalld", "zones", "<name>", "sources", "*", "address"], "readOnly": false, "type": "non-empty string"}, "services.firewalld.zones.<name>.sources.*.ipset": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "An ipset.", "loc": ["services", "firewalld", "zones", "<name>", "sources", "*", "ipset"], "readOnly": false, "type": "non-empty string"}, "services.firewalld.zones.<name>.sources.*.mac": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "description": "A MAC address.", "loc": ["services", "firewalld", "zones", "<name>", "sources", "*", "mac"], "readOnly": false, "type": "string matching the pattern ([[:xdigit:]]{2}:){5}[[:xdigit:]]{2}"}, "services.firewalld.zones.<name>.target": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "\"%%REJECT%%\""}, "description": "Action for packets that doesn't match any rules.", "loc": ["services", "firewalld", "zones", "<name>", "target"], "readOnly": false, "type": "one of \"ACCEPT\", \"%%REJECT%%\", \"DROP\""}, "services.firewalld.zones.<name>.version": {"declarations": ["nixos/modules/services/networking/firewalld/zone.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Version of the zone.", "loc": ["services", "firewalld", "zones", "<name>", "version"], "readOnly": false, "type": "null or non-empty string"}, "services.firezone.gateway.apiUrl": {"declarations": ["nixos/modules/services/networking/firezone/gateway.nix"], "description": "The URL of your firezone server's API. This should be the same\nas your server's setting for {option}`services.firezone.server.settings.api.externalUrl`,\nbut with `wss://` instead of `https://`.\n", "example": {"_type": "literalExpression", "text": "\"wss://firezone.example.com/api/\""}, "loc": ["services", "firezone", "gateway", "apiUrl"], "readOnly": false, "type": "string matching the pattern ^wss://.+/$"}, "services.firezone.gateway.enable": {"declarations": ["nixos/modules/services/networking/firezone/gateway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the firezone gateway.\n\nYou have to manually masquerade and forward traffic from the\ntun-firezone interface to your resource! Refer to the\n[upstream setup script](https://github.com/firezone/firezone/blob/8c7c0a9e8e33ae790aeb75fdb5a15432c2870b79/scripts/gateway-systemd-install.sh#L154-L168)\nfor a list of iptable commands.\n\nSee the firezone nixos test in this repository for an nftables based example.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "gateway", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.gateway.enableTelemetry": {"declarations": ["nixos/modules/services/networking/firezone/gateway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable telemetry.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "gateway", "enableTelemetry"], "readOnly": false, "type": "boolean"}, "services.firezone.gateway.logLevel": {"declarations": ["nixos/modules/services/networking/firezone/gateway.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "The log level for the firezone application. See\n[RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging)\nfor the format.\n", "loc": ["services", "firezone", "gateway", "logLevel"], "readOnly": false, "type": "string"}, "services.firezone.gateway.name": {"declarations": ["nixos/modules/services/networking/firezone/gateway.nix"], "description": "The name of this gateway as shown in firezone", "loc": ["services", "firezone", "gateway", "name"], "readOnly": false, "type": "string"}, "services.firezone.gateway.package": {"declarations": ["nixos/modules/services/networking/firezone/gateway.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firezone-gateway"}, "description": "The firezone-gateway package to use.", "loc": ["services", "firezone", "gateway", "package"], "readOnly": false, "type": "package"}, "services.firezone.gateway.tokenFile": {"declarations": ["nixos/modules/services/networking/firezone/gateway.nix"], "description": "A file containing the firezone gateway token. Do not use a nix-store path here\nas it will make the token publicly readable!\n\nThis file will be passed via systemd credentials, it should only be accessible\nby the root user.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/firezone-gateway-token\""}, "loc": ["services", "firezone", "gateway", "tokenFile"], "readOnly": false, "type": "absolute path"}, "services.firezone.gui-client.allowedUsers": {"declarations": ["nixos/modules/services/networking/firezone/gui-client.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "All listed users will become part of the `firezone-client` group so\nthey can control the tunnel service. This is a convenience option.\n", "loc": ["services", "firezone", "gui-client", "allowedUsers"], "readOnly": false, "type": "list of string"}, "services.firezone.gui-client.enable": {"declarations": ["nixos/modules/services/networking/firezone/gui-client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the firezone gui client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "gui-client", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.gui-client.logLevel": {"declarations": ["nixos/modules/services/networking/firezone/gui-client.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "The log level for the firezone application. See\n[RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging)\nfor the format.\n", "loc": ["services", "firezone", "gui-client", "logLevel"], "readOnly": false, "type": "string"}, "services.firezone.gui-client.name": {"declarations": ["nixos/modules/services/networking/firezone/gui-client.nix"], "description": "The name of this client as shown in firezone", "loc": ["services", "firezone", "gui-client", "name"], "readOnly": false, "type": "string"}, "services.firezone.gui-client.package": {"declarations": ["nixos/modules/services/networking/firezone/gui-client.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firezone-gui-client"}, "description": "The firezone-gui-client package to use.", "loc": ["services", "firezone", "gui-client", "package"], "readOnly": false, "type": "package"}, "services.firezone.headless-client.apiUrl": {"declarations": ["nixos/modules/services/networking/firezone/headless-client.nix"], "description": "The URL of your firezone server's API. This should be the same\nas your server's setting for {option}`services.firezone.server.settings.api.externalUrl`,\nbut with `wss://` instead of `https://`.\n", "example": {"_type": "literalExpression", "text": "\"wss://firezone.example.com/api/\""}, "loc": ["services", "firezone", "headless-client", "apiUrl"], "readOnly": false, "type": "string matching the pattern ^wss://.+/$"}, "services.firezone.headless-client.enable": {"declarations": ["nixos/modules/services/networking/firezone/headless-client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the firezone headless client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "headless-client", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.headless-client.enableTelemetry": {"declarations": ["nixos/modules/services/networking/firezone/headless-client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable telemetry.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "headless-client", "enableTelemetry"], "readOnly": false, "type": "boolean"}, "services.firezone.headless-client.logLevel": {"declarations": ["nixos/modules/services/networking/firezone/headless-client.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "The log level for the firezone application. See\n[RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging)\nfor the format.\n", "loc": ["services", "firezone", "headless-client", "logLevel"], "readOnly": false, "type": "string"}, "services.firezone.headless-client.name": {"declarations": ["nixos/modules/services/networking/firezone/headless-client.nix"], "description": "The name of this client as shown in firezone", "loc": ["services", "firezone", "headless-client", "name"], "readOnly": false, "type": "string"}, "services.firezone.headless-client.package": {"declarations": ["nixos/modules/services/networking/firezone/headless-client.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firezone-headless-client"}, "description": "The firezone-headless-client package to use.", "loc": ["services", "firezone", "headless-client", "package"], "readOnly": false, "type": "package"}, "services.firezone.headless-client.tokenFile": {"declarations": ["nixos/modules/services/networking/firezone/headless-client.nix"], "description": "A file containing the firezone client token. Do not use a nix-store path here\nas it will make the token publicly readable!\n\nThis file will be passed via systemd credentials, it should only be accessible\nby the root user.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/firezone-client-token\""}, "loc": ["services", "firezone", "headless-client", "tokenFile"], "readOnly": false, "type": "absolute path"}, "services.firezone.relay.apiUrl": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "description": "The URL of your firezone server's API. This should be the same\nas your server's setting for {option}`services.firezone.server.settings.api.externalUrl`,\nbut with `wss://` instead of `https://`.\n", "example": {"_type": "literalExpression", "text": "\"wss://firezone.example.com/api/\""}, "loc": ["services", "firezone", "relay", "apiUrl"], "readOnly": false, "type": "string matching the pattern ^wss://.+/$"}, "services.firezone.relay.enable": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the firezone relay server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "relay", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.relay.enableTelemetry": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable telemetry.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "relay", "enableTelemetry"], "readOnly": false, "type": "boolean"}, "services.firezone.relay.highestPort": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "65535"}, "description": "The highest port to use in TURN allocation", "loc": ["services", "firezone", "relay", "highestPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.relay.logLevel": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "The log level for the firezone application. See\n[RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging)\nfor the format.\n", "loc": ["services", "firezone", "relay", "logLevel"], "readOnly": false, "type": "string"}, "services.firezone.relay.lowestPort": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "49152"}, "description": "The lowest port to use in TURN allocation", "loc": ["services", "firezone", "relay", "lowestPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.relay.name": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "description": "The name of this gateway as shown in firezone", "example": {"_type": "literalExpression", "text": "\"My relay\""}, "loc": ["services", "firezone", "relay", "name"], "readOnly": false, "type": "string"}, "services.firezone.relay.openFirewall": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Opens up the main STUN port and the TURN allocation range.", "loc": ["services", "firezone", "relay", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.firezone.relay.package": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firezone-relay"}, "description": "The firezone-relay package to use.", "loc": ["services", "firezone", "relay", "package"], "readOnly": false, "type": "package"}, "services.firezone.relay.port": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "3478"}, "description": "The port to listen on for STUN messages", "loc": ["services", "firezone", "relay", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.relay.publicIpv4": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The public ipv4 address of this relay", "loc": ["services", "firezone", "relay", "publicIpv4"], "readOnly": false, "type": "null or string"}, "services.firezone.relay.publicIpv6": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The public ipv6 address of this relay", "loc": ["services", "firezone", "relay", "publicIpv6"], "readOnly": false, "type": "null or string"}, "services.firezone.relay.tokenFile": {"declarations": ["nixos/modules/services/networking/firezone/relay.nix"], "description": "A file containing the firezone relay token. Do not use a nix-store path here\nas it will make the token publicly readable!\n\nThis file will be passed via systemd credentials, it should only be accessible\nby the root user.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/firezone-relay-token\""}, "loc": ["services", "firezone", "relay", "tokenFile"], "readOnly": false, "type": "absolute path"}, "services.firezone.server.api.address": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The address to listen on", "loc": ["services", "firezone", "server", "api", "address"], "readOnly": false, "type": "string"}, "services.firezone.server.api.enable": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Firezone api server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "server", "api", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.server.api.externalUrl": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The external URL under which you will serve the api. You need to\nsetup a reverse proxy for TLS termination, either with\n{option}`services.firezone.server.nginx.enable` or manually.\n", "example": {"_type": "literalExpression", "text": "\"https://firezone.example.com/api/\""}, "loc": ["services", "firezone", "server", "api", "externalUrl"], "readOnly": false, "type": "string matching the pattern ^https://.+/$"}, "services.firezone.server.api.package": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firezone-server-api"}, "description": "The firezone-server-api package to use.", "loc": ["services", "firezone", "server", "api", "package"], "readOnly": false, "type": "package"}, "services.firezone.server.api.port": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "8081"}, "description": "The port under which the api will be served locally", "loc": ["services", "firezone", "server", "api", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.server.api.settings": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables for this component of the Firezone server. For a\nlist of available variables, please refer to the [upstream definitions](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/config/definitions.ex).\nSome variables like `OUTBOUND_EMAIL_ADAPTER_OPTS` require json values\nfor which you can use `VAR = builtins.toJSON { /* ... */ }`.\n\nThis component will automatically inherit all variables defined via\n{option}`services.firezone.server.settings` and\n{option}`services.firezone.server.settingsSecret`, but which can be\noverwritten by this option.\n", "loc": ["services", "firezone", "server", "api", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or floating point number or signed integer or string or absolute path or package)"}, "services.firezone.server.api.trustedProxies": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of trusted proxies", "loc": ["services", "firezone", "server", "api", "trustedProxies"], "readOnly": false, "type": "list of string"}, "services.firezone.server.clusterHosts": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"api@localhost.localdomain\"\n  \"web@localhost.localdomain\"\n  \"domain@localhost.localdomain\"\n]"}, "description": "A list of components and their hosts that are part of this cluster. For\na single-machine setup, the default value will be sufficient. This\nvalue will automatically set `ERLANG_CLUSTER_ADAPTER_CONFIG`.\n\nThe format is `<COMPONENT_NAME>@<HOSTNAME>`.\n", "loc": ["services", "firezone", "server", "clusterHosts"], "readOnly": false, "type": "list of string"}, "services.firezone.server.domain.enable": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Firezone domain server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "server", "domain", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.server.domain.package": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firezone-server-domain"}, "description": "The firezone-server-domain package to use.", "loc": ["services", "firezone", "server", "domain", "package"], "readOnly": false, "type": "package"}, "services.firezone.server.domain.settings": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables for this component of the Firezone server. For a\nlist of available variables, please refer to the [upstream definitions](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/config/definitions.ex).\nSome variables like `OUTBOUND_EMAIL_ADAPTER_OPTS` require json values\nfor which you can use `VAR = builtins.toJSON { /* ... */ }`.\n\nThis component will automatically inherit all variables defined via\n{option}`services.firezone.server.settings` and\n{option}`services.firezone.server.settingsSecret`, but which can be\noverwritten by this option.\n", "loc": ["services", "firezone", "server", "domain", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or floating point number or signed integer or string or absolute path or package)"}, "services.firezone.server.enable": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable all Firezone components.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "server", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.server.enableLocalDB": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a local postgresql database for Firezone.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "server", "enableLocalDB"], "readOnly": false, "type": "boolean"}, "services.firezone.server.nginx.enable": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nginx virtualhost definition.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "server", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.server.openClusterFirewall": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Opens up the erlang distribution port of all enabled components to\nallow reaching the server cluster from the internet. You only need to\nset this if you are actually distributing your cluster across multiple\nmachines.\n", "loc": ["services", "firezone", "server", "openClusterFirewall"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All accounts to provision. The attribute name specified here will\nbecome the account slug. By using `\"{file:/path/to/file}\"` as a\nstring value anywhere in these settings, the provisioning script will\nreplace that value with the content of the given file at runtime.\n\nPlease refer to the [Firezone source code](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/accounts/account.ex)\nfor all available properties.\n", "example": {"_type": "literalExpression", "text": "{\n  main = {\n    features = {\n      rest_api = false;\n    };\n    metadata = {\n      stripe = {\n        billing_email = \"org@myorg.example.com\";\n      };\n    };\n    name = \"My Account / Organization\";\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts"], "readOnly": false, "type": "attribute set of (open submodule of (JSON value))"}, "services.firezone.server.provision.accounts.<name>.actors": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All actors (users) to provision. The attribute name will only\nbe used to track the actor and does not have any significance\nfor Firezone.\n", "example": {"_type": "literalExpression", "text": "{\n  admin = {\n    email = \"admin@myorg.example.com\";\n    name = \"Admin\";\n    type = \"account_admin_user\";\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "actors"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firezone.server.provision.accounts.<name>.actors.<name>.email": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The email address used to authenticate as this account", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "actors", "<name>", "email"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.actors.<name>.name": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The name of this actor", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "actors", "<name>", "name"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.actors.<name>.type": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The account type", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "actors", "<name>", "type"], "readOnly": false, "type": "one of \"account_admin_user\", \"account_user\", \"service_account\", \"api_client\""}, "services.firezone.server.provision.accounts.<name>.auth": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All authentication providers to provision. The attribute name\nwill only be used to track the provider and does not have any\nsignificance for Firezone.\n", "example": {"_type": "literalExpression", "text": "{\n  myoidcprovider = {\n    adapter = \"openid_connect\";\n    adapter_config = {\n      clientSecretFile = \"/run/secrets/oidc-client-secret\";\n      client_id = \"clientid\";\n      discovery_document_uri = \"https://auth.example.com/.well-known/openid-configuration\";\n      response_type = \"code\";\n      scope = \"openid email name\";\n    };\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "auth"], "readOnly": false, "type": "attribute set of (open submodule of (JSON value))"}, "services.firezone.server.provision.accounts.<name>.auth.<name>.adapter": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The auth adapter type", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "auth", "<name>", "adapter"], "readOnly": false, "type": "one of \"email\", \"openid_connect\", \"userpass\", \"token\", \"google_workspace\", \"microsoft_entra\", \"okta\", \"jumpcloud\""}, "services.firezone.server.provision.accounts.<name>.auth.<name>.adapter_config.clientSecretFile": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a the client secret for an openid_connect adapter.\nYou only need to set this if this is an openid_connect provider.\n", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "auth", "<name>", "adapter_config", "clientSecretFile"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.provision.accounts.<name>.auth.<name>.name": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The name of this authentication provider", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "auth", "<name>", "name"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.features.idp_sync": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `idp_sync` feature for this account.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "features", "idp_sync"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.features.internet_resource": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `internet_resource` feature for this account.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "features", "internet_resource"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.features.multi_site_resources": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `multi_site_resources` feature for this account.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "features", "multi_site_resources"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.features.policy_conditions": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `policy_conditions` feature for this account.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "features", "policy_conditions"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.features.rest_api": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `rest_api` feature for this account.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "features", "rest_api"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.features.self_hosted_relays": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `self_hosted_relays` feature for this account.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "features", "self_hosted_relays"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.features.traffic_filters": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the `traffic_filters` feature for this account.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "features", "traffic_filters"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.gatewayGroups": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All gateway groups (sites) to provision. The attribute name\nwill only be used to track the gateway group and does not have any\nsignificance for Firezone.\n", "example": {"_type": "literalExpression", "text": "{\n  my-gateways = {\n    name = \"My Gateways\";\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "gatewayGroups"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firezone.server.provision.accounts.<name>.gatewayGroups.<name>.name": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The name of this gateway group", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "gatewayGroups", "<name>", "name"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.groups": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All groups to provision. The attribute name will only be used\nto track the group and does not have any significance for\nFirezone.\n\nA group named `everyone` will automatically be managed by Firezone.\n", "example": {"_type": "literalExpression", "text": "{\n  users = {\n    name = \"Users\";\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "groups"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firezone.server.provision.accounts.<name>.groups.<name>.forceMembers": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Ensure that only the given members are part of this group at every server start.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "groups", "<name>", "forceMembers"], "readOnly": false, "type": "boolean"}, "services.firezone.server.provision.accounts.<name>.groups.<name>.members": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The members of this group", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "groups", "<name>", "members"], "readOnly": false, "type": "list of string"}, "services.firezone.server.provision.accounts.<name>.groups.<name>.name": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The name of this group", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "groups", "<name>", "name"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.name": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The account name", "example": {"_type": "literalExpression", "text": "\"My Organization\""}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "name"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.policies": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All policies to provision. The attribute name will only be used to\ntrack the policy and does not have any significance for Firezone.\n", "example": {"_type": "literalExpression", "text": "{\n  access_vaultwarden = {\n    group = \"everyone\";\n    name = \"Allow anyone to access vaultwarden\";\n    resource = \"vaultwarden\";\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "policies"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firezone.server.provision.accounts.<name>.policies.<name>.description": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The description of this policy", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "policies", "<name>", "description"], "readOnly": false, "type": "null or string"}, "services.firezone.server.provision.accounts.<name>.policies.<name>.group": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The group which should be allowed access to the given resource.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "policies", "<name>", "group"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.policies.<name>.resource": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The resource to which access should be allowed.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "policies", "<name>", "resource"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.relayGroups": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All relay groups to provision. The attribute name\nwill only be used to track the relay group and does not have any\nsignificance for Firezone.\n", "example": {"_type": "literalExpression", "text": "{\n  my-relays = {\n    name = \"My Relays\";\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "relayGroups"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firezone.server.provision.accounts.<name>.relayGroups.<name>.name": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The name of this relay group", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "relayGroups", "<name>", "name"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.resources": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All resources to provision. The attribute name will only be used to\ntrack the resource and does not have any significance for Firezone.\n", "example": {"_type": "literalExpression", "text": "{\n  vaultwarden = {\n    address = \"vault.example.com\";\n    address_description = \"https://vault.example.com\";\n    filters = [\n      {\n        protocol = \"icmp\";\n      }\n      {\n        ports = [\n          80\n          443\n        ];\n        protocol = \"tcp\";\n      }\n    ];\n    gatewayGroups = [\n      \"my-site\"\n    ];\n    name = \"Vaultwarden\";\n    type = \"dns\";\n  };\n}"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.address": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The address of this resource. Depending on the resource type, this should be an ip, ip with cidr mask or a domain.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "address"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.addressDescription": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An optional description for resource address, usually a full link to the resource including a schema.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "addressDescription"], "readOnly": false, "type": "null or string"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.filters": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of filter to restrict traffic. If no filters are given, all traffic is allowed.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "filters"], "readOnly": false, "type": "list of (submodule)"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.filters.*.ports": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Either a single port or port range to allow. Both bounds are inclusive.", "example": {"_type": "literalExpression", "text": "[\n  443\n  {\n    from = 8080;\n    to = 8100;\n  }\n]"}, "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "filters", "*", "ports"], "readOnly": false, "type": "list of ((submodule) or 16 bit unsigned integer; between 0 and 65535 (both inclusive) convertible to it)"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.filters.*.ports.*.from": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The start of the port range, inclusive.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "filters", "*", "ports", "*", "from"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.filters.*.ports.*.to": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The end of the port range, inclusive.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "filters", "*", "ports", "*", "to"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.filters.*.protocol": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The protocol to allow", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "filters", "*", "protocol"], "readOnly": false, "type": "one of \"icmp\", \"tcp\", \"udp\""}, "services.firezone.server.provision.accounts.<name>.resources.<name>.gatewayGroups": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "A list of gateway groups (sites) which can reach the resource and may be used to connect to it.", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "gatewayGroups"], "readOnly": false, "type": "non-empty (list of string)"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.name": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The name of this resource", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "name"], "readOnly": false, "type": "string"}, "services.firezone.server.provision.accounts.<name>.resources.<name>.type": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The resource type", "loc": ["services", "firezone", "server", "provision", "accounts", "<name>", "resources", "<name>", "type"], "readOnly": false, "type": "one of \"dns\", \"cidr\", \"ip\""}, "services.firezone.server.provision.enable": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable provisioning of the Firezone domain server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "server", "provision", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.server.settings": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables for the Firezone server. For a list of available\nvariables, please refer to the [upstream definitions](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/config/definitions.ex).\nSome variables like `OUTBOUND_EMAIL_ADAPTER_OPTS` require json values\nfor which you can use `VAR = builtins.toJSON { /* ... */ }`.\n\nEach component has an additional `settings` option which allows you to\noverride specific variables passed to that component.\n", "loc": ["services", "firezone", "server", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or floating point number or signed integer or string or absolute path or package)"}, "services.firezone.server.settingsSecret": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This is a convenience option which allows you to set secret values for\nenvironment variables by specifying a file which will contain the value\nat runtime. Before starting the server, the content of each file will\nbe loaded into the respective environment variable.\n\nOtherwise, this option is equivalent to\n{option}`services.firezone.server.settings`. Refer to the settings\noption for more information regarding the actual variables and how\nfiltering rules are applied for each component.\n", "loc": ["services", "firezone", "server", "settingsSecret"], "readOnly": false, "type": "open submodule of attribute set of absolute path"}, "services.firezone.server.settingsSecret.COOKIE_ENCRYPTION_SALT": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a unique base64 encoded secret for the\n`COOKIE_ENCRYPTION_SALT`. All Firezone components in your cluster must\nuse the same value.\n\nIf this is `null`, a shared value will automatically be generated\non startup and used for all components on this machine. You do\nnot need to set this except when you spread your cluster over\nmultiple hosts.\n", "loc": ["services", "firezone", "server", "settingsSecret", "COOKIE_ENCRYPTION_SALT"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.settingsSecret.COOKIE_SIGNING_SALT": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a unique base64 encoded secret for the\n`COOKIE_SIGNING_SALT`. All Firezone components in your cluster must\nuse the same value.\n\nIf this is `null`, a shared value will automatically be generated\non startup and used for all components on this machine. You do\nnot need to set this except when you spread your cluster over\nmultiple hosts.\n", "loc": ["services", "firezone", "server", "settingsSecret", "COOKIE_SIGNING_SALT"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.settingsSecret.LIVE_VIEW_SIGNING_SALT": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a unique base64 encoded secret for the\n`LIVE_VIEW_SIGNING_SALT`. All Firezone components in your cluster must\nuse the same value.\n\nIf this is `null`, a shared value will automatically be generated\non startup and used for all components on this machine. You do\nnot need to set this except when you spread your cluster over\nmultiple hosts.\n", "loc": ["services", "firezone", "server", "settingsSecret", "LIVE_VIEW_SIGNING_SALT"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.settingsSecret.RELEASE_COOKIE": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a unique secret identifier for the Erlang\ncluster. All Firezone components in your cluster must use the\nsame value.\n\nIf this is `null`, a shared value will automatically be generated\non startup and used for all components on this machine. You do\nnot need to set this except when you spread your cluster over\nmultiple hosts.\n", "loc": ["services", "firezone", "server", "settingsSecret", "RELEASE_COOKIE"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.settingsSecret.SECRET_KEY_BASE": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a unique base64 encoded secret for the\n`SECRET_KEY_BASE`. All Firezone components in your cluster must\nuse the same value.\n\nIf this is `null`, a shared value will automatically be generated\non startup and used for all components on this machine. You do\nnot need to set this except when you spread your cluster over\nmultiple hosts.\n", "loc": ["services", "firezone", "server", "settingsSecret", "SECRET_KEY_BASE"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.settingsSecret.TOKENS_KEY_BASE": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a unique base64 encoded secret for the\n`TOKENS_KEY_BASE`. All Firezone components in your cluster must\nuse the same value.\n\nIf this is `null`, a shared value will automatically be generated\non startup and used for all components on this machine. You do\nnot need to set this except when you spread your cluster over\nmultiple hosts.\n", "loc": ["services", "firezone", "server", "settingsSecret", "TOKENS_KEY_BASE"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.settingsSecret.TOKENS_SALT": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing a unique base64 encoded secret for the\n`TOKENS_SALT`. All Firezone components in your cluster must\nuse the same value.\n\nIf this is `null`, a shared value will automatically be generated\non startup and used for all components on this machine. You do\nnot need to set this except when you spread your cluster over\nmultiple hosts.\n", "loc": ["services", "firezone", "server", "settingsSecret", "TOKENS_SALT"], "readOnly": false, "type": "null or absolute path"}, "services.firezone.server.smtp.configureManually": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Outbound email configuration is mandatory for Firezone and supports\nmany different delivery adapters. Yet, most users will only need an\nSMTP relay to send emails, so this configuration enforced by default.\n\nIf you want to utilize an alternative way to send emails (e.g. via a\nsupportd API-based service), enable this option and define\n`OUTBOUND_EMAIL_FROM`, `OUTBOUND_EMAIL_ADAPTER` and\n`OUTBOUND_EMAIL_ADAPTER_OPTS` manually via\n{option}`services.firezone.server.settings` and/or\n{option}`services.firezone.server.settingsSecret`.\n\nThe Firezone documentation holds [a list of supported Swoosh adapters](https://github.com/firezone/firezone/blob/main/website/src/app/docs/reference/env-vars/readme.mdx#outbound-emails).\n", "loc": ["services", "firezone", "server", "smtp", "configureManually"], "readOnly": false, "type": "boolean"}, "services.firezone.server.smtp.from": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "Outbound SMTP FROM address", "example": {"_type": "literalExpression", "text": "\"firezone@example.com\""}, "loc": ["services", "firezone", "server", "smtp", "from"], "readOnly": false, "type": "string"}, "services.firezone.server.smtp.host": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "Outbound SMTP host", "example": {"_type": "literalExpression", "text": "\"mail.example.com\""}, "loc": ["services", "firezone", "server", "smtp", "host"], "readOnly": false, "type": "string"}, "services.firezone.server.smtp.implicitTls": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use implicit TLS instead of STARTTLS (usually port 465)", "loc": ["services", "firezone", "server", "smtp", "implicitTls"], "readOnly": false, "type": "boolean"}, "services.firezone.server.smtp.passwordFile": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "File containing the password for the given username. Beware that a file in the nix store will be world readable.", "example": {"_type": "literalExpression", "text": "\"/run/secrets/smtp-password\""}, "loc": ["services", "firezone", "server", "smtp", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.firezone.server.smtp.port": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "Outbound SMTP port", "example": {"_type": "literalExpression", "text": "465"}, "loc": ["services", "firezone", "server", "smtp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.server.smtp.username": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "Username to authenticate against the SMTP relay", "example": {"_type": "literalExpression", "text": "\"firezone@example.com\""}, "loc": ["services", "firezone", "server", "smtp", "username"], "readOnly": false, "type": "string"}, "services.firezone.server.web.address": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The address to listen on", "loc": ["services", "firezone", "server", "web", "address"], "readOnly": false, "type": "string"}, "services.firezone.server.web.enable": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Firezone web server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "firezone", "server", "web", "enable"], "readOnly": false, "type": "boolean"}, "services.firezone.server.web.externalUrl": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "description": "The external URL under which you will serve the web interface. You\nneed to setup a reverse proxy for TLS termination, either with\n{option}`services.firezone.server.nginx.enable` or manually.\n", "example": {"_type": "literalExpression", "text": "\"https://firezone.example.com/\""}, "loc": ["services", "firezone", "server", "web", "externalUrl"], "readOnly": false, "type": "string matching the pattern ^https://.+/$"}, "services.firezone.server.web.package": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.firezone-server-web"}, "description": "The firezone-server-web package to use.", "loc": ["services", "firezone", "server", "web", "package"], "readOnly": false, "type": "package"}, "services.firezone.server.web.port": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port under which the web interface will be served locally", "loc": ["services", "firezone", "server", "web", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.firezone.server.web.settings": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables for this component of the Firezone server. For a\nlist of available variables, please refer to the [upstream definitions](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/config/definitions.ex).\nSome variables like `OUTBOUND_EMAIL_ADAPTER_OPTS` require json values\nfor which you can use `VAR = builtins.toJSON { /* ... */ }`.\n\nThis component will automatically inherit all variables defined via\n{option}`services.firezone.server.settings` and\n{option}`services.firezone.server.settingsSecret`, but which can be\noverwritten by this option.\n", "loc": ["services", "firezone", "server", "web", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or floating point number or signed integer or string or absolute path or package)"}, "services.firezone.server.web.trustedProxies": {"declarations": ["nixos/modules/services/networking/firezone/server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of trusted proxies", "loc": ["services", "firezone", "server", "web", "trustedProxies"], "readOnly": false, "type": "list of string"}, "services.flannel.backend": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "{\n  Type = \"vxlan\";\n}"}, "description": "Type of backend to use and specific configurations for that backend.", "loc": ["services", "flannel", "backend"], "readOnly": false, "type": "attribute set"}, "services.flannel.enable": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable flannel.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flannel", "enable"], "readOnly": false, "type": "boolean"}, "services.flannel.etcd.caFile": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Etcd certificate authority file", "loc": ["services", "flannel", "etcd", "caFile"], "readOnly": false, "type": "null or absolute path"}, "services.flannel.etcd.certFile": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Etcd cert file", "loc": ["services", "flannel", "etcd", "certFile"], "readOnly": false, "type": "null or absolute path"}, "services.flannel.etcd.endpoints": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"http://127.0.0.1:2379\"\n]"}, "description": "Etcd endpoints", "loc": ["services", "flannel", "etcd", "endpoints"], "readOnly": false, "type": "list of string"}, "services.flannel.etcd.keyFile": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Etcd key file", "loc": ["services", "flannel", "etcd", "keyFile"], "readOnly": false, "type": "null or absolute path"}, "services.flannel.etcd.prefix": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "\"/coreos.com/network\""}, "description": "Etcd key prefix", "loc": ["services", "flannel", "etcd", "prefix"], "readOnly": false, "type": "string"}, "services.flannel.extraNetworkConfig": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to be added to the net-conf.json/etcd-backed network configuration.", "example": {"_type": "literalExpression", "text": "{\n  EnableIPv6 = true;\n}"}, "loc": ["services", "flannel", "extraNetworkConfig"], "readOnly": false, "type": "JSON value"}, "services.flannel.iface": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Interface to use (IP or name) for inter-host communication.\nDefaults to the interface for the default route on the machine.\n", "loc": ["services", "flannel", "iface"], "readOnly": false, "type": "null or string"}, "services.flannel.kubeconfig": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to kubeconfig to use for storing flannel config using the\nKubernetes API\n", "loc": ["services", "flannel", "kubeconfig"], "readOnly": false, "type": "null or absolute path"}, "services.flannel.network": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "description": "IPv4 network in CIDR format to use for the entire flannel network", "loc": ["services", "flannel", "network"], "readOnly": false, "type": "string"}, "services.flannel.nodeName": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdnOrHostName"}, "description": "Needed when running with Kubernetes as backend as this cannot be auto-detected\";\n", "example": {"_type": "literalExpression", "text": "\"node1.example.com\""}, "loc": ["services", "flannel", "nodeName"], "readOnly": false, "type": "null or string"}, "services.flannel.package": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flannel"}, "description": "The flannel package to use.", "loc": ["services", "flannel", "package"], "readOnly": false, "type": "package"}, "services.flannel.publicIp": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IP accessible by other nodes for inter-host communication.\nDefaults to the IP of the interface being used for communication.\n", "loc": ["services", "flannel", "publicIp"], "readOnly": false, "type": "null or string"}, "services.flannel.storageBackend": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "\"etcd\""}, "description": "Determines where flannel stores its configuration at runtime", "loc": ["services", "flannel", "storageBackend"], "readOnly": false, "type": "one of \"etcd\", \"kubernetes\""}, "services.flannel.subnetLen": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "24"}, "description": "The size of the subnet allocated to each host. Defaults to 24 (i.e. /24)\nunless the Network was configured to be smaller than a /24 in which case\nit is one less than the network.\n", "loc": ["services", "flannel", "subnetLen"], "readOnly": false, "type": "signed integer"}, "services.flannel.subnetMax": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The end of IP range which the subnet allocation should start with.\nDefaults to the last subnet of Network.\n", "loc": ["services", "flannel", "subnetMax"], "readOnly": false, "type": "null or string"}, "services.flannel.subnetMin": {"declarations": ["nixos/modules/services/networking/flannel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The beginning of IP range which the subnet allocation should start with.\nDefaults to the first subnet of Network.\n", "loc": ["services", "flannel", "subnetMin"], "readOnly": false, "type": "null or string"}, "services.flap-alerted.enable": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FlapAlerted.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flap-alerted", "enable"], "readOnly": false, "type": "boolean"}, "services.flap-alerted.environmentFiles": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to load environment variables from.\nThis is useful to avoid putting secrets into the nix store.\nSee <https://github.com/Kioubit/FlapAlerted> for a list of options.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/run/secrets/flap-alerted.env\"\n]"}, "loc": ["services", "flap-alerted", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.flap-alerted.extraArgs": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments to pass to FlapAlerted.\nSee <https://github.com/Kioubit/FlapAlerted> for a list of options.\n", "loc": ["services", "flap-alerted", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.flap-alerted.package": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flap-alerted"}, "description": "The flap-alerted package to use.", "loc": ["services", "flap-alerted", "package"], "readOnly": false, "type": "package"}, "services.flap-alerted.settings": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration of FlapAlerted.\nSee <https://github.com/Kioubit/FlapAlerted> for a list of options.\n", "loc": ["services", "flap-alerted", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string or signed integer or boolean)"}, "services.flap-alerted.settings.asn": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "description": "Your ASN number", "loc": ["services", "flap-alerted", "settings", "asn"], "readOnly": false, "type": "32 bit unsigned integer; between 0 and 4294967295 (both inclusive)"}, "services.flap-alerted.settings.bgpListenAddress": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "default": {"_type": "literalExpression", "text": "\":1790\""}, "description": "Address to listen on for incoming BGP connections", "loc": ["services", "flap-alerted", "settings", "bgpListenAddress"], "readOnly": false, "type": "string"}, "services.flap-alerted.settings.debug": {"declarations": ["nixos/modules/services/monitoring/flap-alerted.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable debug mode (produces a lot of output)", "loc": ["services", "flap-alerted", "settings", "debug"], "readOnly": false, "type": "boolean"}, "services.flaresolverr.enable": {"declarations": ["nixos/modules/services/misc/flaresolverr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FlareSolverr, a proxy server to bypass Cloudflare protection.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flaresolverr", "enable"], "readOnly": false, "type": "boolean"}, "services.flaresolverr.openFirewall": {"declarations": ["nixos/modules/services/misc/flaresolverr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the port in the firewall for FlareSolverr.", "loc": ["services", "flaresolverr", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.flaresolverr.package": {"declarations": ["nixos/modules/services/misc/flaresolverr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flaresolverr"}, "description": "The flaresolverr package to use.", "loc": ["services", "flaresolverr", "package"], "readOnly": false, "type": "package"}, "services.flaresolverr.port": {"declarations": ["nixos/modules/services/misc/flaresolverr.nix"], "default": {"_type": "literalExpression", "text": "8191"}, "description": "The port on which FlareSolverr will listen for incoming HTTP traffic.", "loc": ["services", "flaresolverr", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.flarum.adminEmail": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"admin@example.com\""}, "description": "Email for first web application administrator", "loc": ["services", "flarum", "adminEmail"], "readOnly": false, "type": "string"}, "services.flarum.adminUser": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"flarum\""}, "description": "Username for first web application administrator", "loc": ["services", "flarum", "adminUser"], "readOnly": false, "type": "string"}, "services.flarum.baseUrl": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost\""}, "description": "Change `domain` instead.", "example": {"_type": "literalExpression", "text": "\"https://forum.example.com\""}, "loc": ["services", "flarum", "baseUrl"], "readOnly": false, "type": "string"}, "services.flarum.createDatabaseLocally": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create the database and database user locally, and run installation.\n\nWARNING: Due to <https://github.com/flarum/framework/issues/4018>, this option is set\nto false by default. The 'flarum install' command may delete existing database tables.\nOnly set this to true if you are certain you are working with a fresh, empty database.\n", "loc": ["services", "flarum", "createDatabaseLocally"], "readOnly": false, "type": "boolean"}, "services.flarum.database": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "{\n  database = \"flarum\";\n  driver = \"mysql\";\n  host = \"localhost\";\n  password = \"\";\n  port = 3306;\n  prefix = \"\";\n  strict = false;\n  username = \"flarum\";\n}"}, "description": "MySQL database parameters", "loc": ["services", "flarum", "database"], "readOnly": false, "type": "attribute set of (string or boolean or signed integer)"}, "services.flarum.domain": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Domain to serve on.", "example": {"_type": "literalExpression", "text": "\"forum.example.com\""}, "loc": ["services", "flarum", "domain"], "readOnly": false, "type": "string"}, "services.flarum.enable": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Flarum discussion platform.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flarum", "enable"], "readOnly": false, "type": "boolean"}, "services.flarum.forumTitle": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"A Flarum Forum on NixOS\""}, "description": "Title of the forum.", "loc": ["services", "flarum", "forumTitle"], "readOnly": false, "type": "string"}, "services.flarum.group": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"flarum\""}, "description": "System group to run Flarum", "loc": ["services", "flarum", "group"], "readOnly": false, "type": "string"}, "services.flarum.initialAdminPassword": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"flarum\""}, "description": "Initial password for the adminUser", "loc": ["services", "flarum", "initialAdminPassword"], "readOnly": false, "type": "string"}, "services.flarum.package": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flarum"}, "description": "The flarum package to use.", "loc": ["services", "flarum", "package"], "readOnly": false, "type": "package"}, "services.flarum.stateDir": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/flarum\""}, "description": "Home directory for writable storage", "loc": ["services", "flarum", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.flarum.user": {"declarations": ["nixos/modules/services/web-apps/flarum.nix"], "default": {"_type": "literalExpression", "text": "\"flarum\""}, "description": "System user to run Flarum", "loc": ["services", "flarum", "user"], "readOnly": false, "type": "string"}, "services.flatpak.enable": {"declarations": ["nixos/modules/services/desktops/flatpak.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable flatpak.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flatpak", "enable"], "readOnly": false, "type": "boolean"}, "services.flatpak.package": {"declarations": ["nixos/modules/services/desktops/flatpak.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flatpak"}, "description": "The flatpak package to use.", "loc": ["services", "flatpak", "package"], "readOnly": false, "type": "package"}, "services.flexget.config": {"declarations": ["nixos/modules/services/torrent/flexget.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The YAML configuration for FlexGet.", "loc": ["services", "flexget", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.flexget.enable": {"declarations": ["nixos/modules/services/torrent/flexget.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FlexGet daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flexget", "enable"], "readOnly": false, "type": "boolean"}, "services.flexget.homeDir": {"declarations": ["nixos/modules/services/torrent/flexget.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/deluge\""}, "description": "Where files live.", "example": {"_type": "literalExpression", "text": "\"/home/flexget\""}, "loc": ["services", "flexget", "homeDir"], "readOnly": false, "type": "absolute path"}, "services.flexget.interval": {"declarations": ["nixos/modules/services/torrent/flexget.nix"], "default": {"_type": "literalExpression", "text": "\"10m\""}, "description": "When to perform a {command}`flexget` run. See {command}`man 7 systemd.time` for the format.", "example": {"_type": "literalExpression", "text": "\"1h\""}, "loc": ["services", "flexget", "interval"], "readOnly": false, "type": "string"}, "services.flexget.package": {"declarations": ["nixos/modules/services/torrent/flexget.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flexget"}, "description": "The flexget package to use.", "loc": ["services", "flexget", "package"], "readOnly": false, "type": "package"}, "services.flexget.systemScheduler": {"declarations": ["nixos/modules/services/torrent/flexget.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "When true, execute the runs via the flexget-runner.timer. If false, you have to specify the settings yourself in the YML file.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "flexget", "systemScheduler"], "readOnly": false, "type": "boolean"}, "services.flexget.user": {"declarations": ["nixos/modules/services/torrent/flexget.nix"], "default": {"_type": "literalExpression", "text": "\"deluge\""}, "description": "The user under which to run flexget.", "example": {"_type": "literalExpression", "text": "\"some_user\""}, "loc": ["services", "flexget", "user"], "readOnly": false, "type": "string"}, "services.flood.enable": {"declarations": ["nixos/modules/services/torrent/flood.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable flood.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flood", "enable"], "readOnly": false, "type": "boolean"}, "services.flood.extraArgs": {"declarations": ["nixos/modules/services/torrent/flood.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments passed to `flood`.", "example": {"_type": "literalExpression", "text": "[\n  \"--baseuri=/\"\n]"}, "loc": ["services", "flood", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.flood.host": {"declarations": ["nixos/modules/services/torrent/flood.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Host to bind webserver.", "example": {"_type": "literalExpression", "text": "\"::\""}, "loc": ["services", "flood", "host"], "readOnly": false, "type": "string"}, "services.flood.openFirewall": {"declarations": ["nixos/modules/services/torrent/flood.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the port in {option}`services.flood.port`.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "flood", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.flood.package": {"declarations": ["nixos/modules/services/torrent/flood.nix"], "default": {"_type": "literalExpression", "text": "pkgs.flood"}, "description": "The flood package to use.", "loc": ["services", "flood", "package"], "readOnly": false, "type": "package"}, "services.flood.port": {"declarations": ["nixos/modules/services/torrent/flood.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port to bind webserver.", "example": {"_type": "literalExpression", "text": "3001"}, "loc": ["services", "flood", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fluent-bit.configurationFile": {"declarations": ["nixos/modules/services/monitoring/fluent-bit.nix"], "default": {"_type": "literalExpression", "text": "yamlFormat.generate \"fluent-bit.yaml\" cfg.settings"}, "description": "Fluent Bit configuration. See\n<https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/yaml>\nfor supported values.\n\n{option}`configurationFile` takes precedence over {option}`settings`.\n\nNote: Restricted evaluation blocks access to paths outside the Nix store.\nThis means detecting content changes for mutable paths (i.e. not input or content-addressed) can't be done.\nAs a result, `nixos-rebuild` won't reload/restart the systemd unit when mutable path contents change.\n`systemctl restart fluent-bit.service` must be used instead.\n", "example": {"_type": "literalExpression", "text": "\"/etc/fluent-bit/fluent-bit.yaml\""}, "loc": ["services", "fluent-bit", "configurationFile"], "readOnly": false, "type": "absolute path"}, "services.fluent-bit.enable": {"declarations": ["nixos/modules/services/monitoring/fluent-bit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Fluent Bit.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fluent-bit", "enable"], "readOnly": false, "type": "boolean"}, "services.fluent-bit.graceLimit": {"declarations": ["nixos/modules/services/monitoring/fluent-bit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The grace time limit. Sets the systemd unit's `TimeoutStopSec`.\n\nThe `service.grace` option in the Fluent Bit configuration should be \u2264 this option.\n", "example": {"_type": "literalExpression", "text": "30"}, "loc": ["services", "fluent-bit", "graceLimit"], "readOnly": false, "type": "null or positive integer, meaning >0, or string"}, "services.fluent-bit.package": {"declarations": ["nixos/modules/services/monitoring/fluent-bit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fluent-bit"}, "description": "The fluent-bit package to use.", "loc": ["services", "fluent-bit", "package"], "readOnly": false, "type": "package"}, "services.fluent-bit.settings": {"declarations": ["nixos/modules/services/monitoring/fluent-bit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See {option}`configurationFile`.\n\n{option}`configurationFile` takes precedence over {option}`settings`.\n", "example": {"_type": "literalExpression", "text": "{\n  pipeline = {\n    inputs = [\n      {\n        name = \"systemd\";\n        systemd_filter = \"_SYSTEMD_UNIT=fluent-bit.service\";\n      }\n    ];\n    outputs = [\n      {\n        file = \"fluent-bit.out\";\n        name = \"file\";\n        path = \"/var/log/fluent-bit\";\n      }\n    ];\n  };\n  service = {\n    grace = 30;\n  };\n}"}, "loc": ["services", "fluent-bit", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.fluentd.config": {"declarations": ["nixos/modules/services/logging/fluentd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Fluentd config.", "loc": ["services", "fluentd", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fluentd.enable": {"declarations": ["nixos/modules/services/logging/fluentd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fluentd, a data/log collector.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fluentd", "enable"], "readOnly": false, "type": "boolean"}, "services.fluentd.package": {"declarations": ["nixos/modules/services/logging/fluentd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fluentd"}, "description": "The fluentd package to use.", "loc": ["services", "fluentd", "package"], "readOnly": false, "type": "package"}, "services.fluentd.plugins": {"declarations": ["nixos/modules/services/logging/fluentd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of plugin paths to pass into fluentd. It will make plugins defined in ruby files\nthere available in your config.\n", "loc": ["services", "fluentd", "plugins"], "readOnly": false, "type": "list of absolute path"}, "services.fluidd.enable": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Fluidd, a Klipper web interface for managing your 3d printer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fluidd", "enable"], "readOnly": false, "type": "boolean"}, "services.fluidd.hostName": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Hostname to serve fluidd on", "loc": ["services", "fluidd", "hostName"], "readOnly": false, "type": "string"}, "services.fluidd.nginx": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration for the nginx virtual host of fluidd.", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [ \"fluidd.${config.networking.domain}\" ];\n}\n"}, "loc": ["services", "fluidd", "nginx"], "readOnly": false, "type": "submodule"}, "services.fluidd.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "fluidd", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "fluidd", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "fluidd", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "fluidd", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.fluidd.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "fluidd", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.fluidd.nginx.default": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "fluidd", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "fluidd", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "fluidd", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fluidd.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "fluidd", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "fluidd", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "fluidd", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "fluidd", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "fluidd", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "fluidd", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "fluidd", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.fluidd.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "description": "Listen address.", "loc": ["services", "fluidd", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.fluidd.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "fluidd", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.fluidd.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "fluidd", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.fluidd.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "fluidd", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "fluidd", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "fluidd", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.fluidd.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "fluidd", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.fluidd.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.fluidd.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.fluidd.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "fluidd", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.fluidd.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "fluidd", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fluidd.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "fluidd", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.fluidd.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "fluidd", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.fluidd.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "fluidd", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "fluidd", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.fluidd.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.fluidd.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "fluidd", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "fluidd", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "fluidd", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "fluidd", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.fluidd.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "fluidd", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "fluidd", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.fluidd.nginx.root": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "fluidd", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.fluidd.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "fluidd", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.fluidd.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "fluidd", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.fluidd.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "fluidd", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.fluidd.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "fluidd", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.fluidd.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "fluidd", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.fluidd.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "fluidd", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.fluidd.package": {"declarations": ["nixos/modules/services/web-apps/fluidd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fluidd"}, "description": "The fluidd package to use.", "loc": ["services", "fluidd", "package"], "readOnly": false, "type": "package"}, "services.foldingathome.daemonNiceLevel": {"declarations": ["nixos/modules/services/computing/foldingathome/client.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Daemon process priority for FAHClient.\n0 is the default Unix process priority, 19 is the lowest.\n", "loc": ["services", "foldingathome", "daemonNiceLevel"], "readOnly": false, "type": "integer between -20 and 19 (both inclusive)"}, "services.foldingathome.enable": {"declarations": ["nixos/modules/services/computing/foldingathome/client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Folding@home client.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "foldingathome", "enable"], "readOnly": false, "type": "boolean"}, "services.foldingathome.extraArgs": {"declarations": ["nixos/modules/services/computing/foldingathome/client.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra startup options for the FAHClient. Run\n`fah-client --help` to find all the available options.\n", "loc": ["services", "foldingathome", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.foldingathome.package": {"declarations": ["nixos/modules/services/computing/foldingathome/client.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fahclient"}, "description": "The fahclient package to use.", "loc": ["services", "foldingathome", "package"], "readOnly": false, "type": "package"}, "services.foldingathome.team": {"declarations": ["nixos/modules/services/computing/foldingathome/client.nix"], "default": {"_type": "literalExpression", "text": "236565"}, "description": "The team ID associated with the reported computation results. This\nwill be used in the ranking statistics.\n\nBy default, use the NixOS folding@home team ID is being used.\n", "loc": ["services", "foldingathome", "team"], "readOnly": false, "type": "signed integer"}, "services.foldingathome.user": {"declarations": ["nixos/modules/services/computing/foldingathome/client.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The user associated with the reported computation results. This will\nbe used in the ranking statistics.\n", "loc": ["services", "foldingathome", "user"], "readOnly": false, "type": "null or string"}, "services.forgejo.customDir": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.forgejo.stateDir}/custom\""}, "description": "Base directory for custom templates and other options.\n\nIf {option}`services.forgejo.useWizard` is disabled (default), this directory will also\nhold secrets and the resulting {file}`app.ini` config at runtime.\n", "loc": ["services", "forgejo", "customDir"], "readOnly": false, "type": "string"}, "services.forgejo.database.createDatabase": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to create a local database automatically.", "loc": ["services", "forgejo", "database", "createDatabase"], "readOnly": false, "type": "boolean"}, "services.forgejo.database.host": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Database host address.", "loc": ["services", "forgejo", "database", "host"], "readOnly": false, "type": "string"}, "services.forgejo.database.name": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"forgejo\""}, "description": "Database name.", "loc": ["services", "forgejo", "database", "name"], "readOnly": false, "type": "string"}, "services.forgejo.database.passwordFile": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`services.forgejo.database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/forgejo-dbpassword\""}, "loc": ["services", "forgejo", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.forgejo.database.path": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.forgejo.stateDir}/data/forgejo.db\""}, "description": "Path to the sqlite3 database file.", "loc": ["services", "forgejo", "database", "path"], "readOnly": false, "type": "string"}, "services.forgejo.database.port": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "if config.services.forgejo.database.type != \"postgresql\"\nthen 3306\nelse 5432\n"}, "description": "Database host port.", "loc": ["services", "forgejo", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.forgejo.database.socket": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the unix socket file to use for authentication.", "example": {"_type": "literalExpression", "text": "\"/run/mysqld/mysqld.sock\""}, "loc": ["services", "forgejo", "database", "socket"], "readOnly": false, "type": "null or absolute path"}, "services.forgejo.database.type": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite3\""}, "description": "Database engine to use.", "example": {"_type": "literalExpression", "text": "\"mysql\""}, "loc": ["services", "forgejo", "database", "type"], "readOnly": false, "type": "one of \"sqlite3\", \"mysql\", \"postgres\""}, "services.forgejo.database.user": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"forgejo\""}, "description": "Database user.", "loc": ["services", "forgejo", "database", "user"], "readOnly": false, "type": "string"}, "services.forgejo.dump.age": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"4w\""}, "description": "Age of backup used to decide what files to delete when cleaning.\nIf a file or directory is older than the current time minus the age field, it is deleted.\n\nThe format is described in\n{manpage}`tmpfiles.d(5)`.\n", "example": {"_type": "literalExpression", "text": "\"5d\""}, "loc": ["services", "forgejo", "dump", "age"], "readOnly": false, "type": "string"}, "services.forgejo.dump.backupDir": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.forgejo.stateDir}/dump\""}, "description": "Path to the directory where the dump archives will be stored.", "loc": ["services", "forgejo", "dump", "backupDir"], "readOnly": false, "type": "string"}, "services.forgejo.dump.enable": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable periodic dumps via the [built-in {command}`dump` command](https://forgejo.org/docs/latest/admin/command-line/#dump).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "forgejo", "dump", "enable"], "readOnly": false, "type": "boolean"}, "services.forgejo.dump.file": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Filename to be used for the dump. If `null` a default name is chosen by forgejo.", "example": {"_type": "literalExpression", "text": "\"forgejo-dump\""}, "loc": ["services", "forgejo", "dump", "file"], "readOnly": false, "type": "null or string"}, "services.forgejo.dump.interval": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"04:31\""}, "description": "Run a Forgejo dump at this interval. Runs by default at 04:31 every day.\n\nThe format is described in\n{manpage}`systemd.time(7)`.\n", "example": {"_type": "literalExpression", "text": "\"hourly\""}, "loc": ["services", "forgejo", "dump", "interval"], "readOnly": false, "type": "string"}, "services.forgejo.dump.type": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"zip\""}, "description": "Archive format used to store the dump file.", "loc": ["services", "forgejo", "dump", "type"], "readOnly": false, "type": "one of \"zip\", \"tar\", \"tar.sz\", \"tar.gz\", \"tar.xz\", \"tar.bz2\", \"tar.br\", \"tar.lz4\", \"tar.zst\""}, "services.forgejo.enable": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Forgejo, a software forge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "forgejo", "enable"], "readOnly": false, "type": "boolean"}, "services.forgejo.group": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"forgejo\""}, "description": "Group under which Forgejo runs.", "loc": ["services", "forgejo", "group"], "readOnly": false, "type": "string"}, "services.forgejo.lfs.contentDir": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.forgejo.stateDir}/data/lfs\""}, "description": "Where to store LFS files.", "loc": ["services", "forgejo", "lfs", "contentDir"], "readOnly": false, "type": "string"}, "services.forgejo.lfs.enable": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables git-lfs support.", "loc": ["services", "forgejo", "lfs", "enable"], "readOnly": false, "type": "boolean"}, "services.forgejo.package": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.forgejo-lts"}, "description": "The forgejo-lts package to use.", "loc": ["services", "forgejo", "package"], "readOnly": false, "type": "package"}, "services.forgejo.repositoryRoot": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.forgejo.stateDir}/repositories\""}, "description": "Path to the git repositories.", "loc": ["services", "forgejo", "repositoryRoot"], "readOnly": false, "type": "string"}, "services.forgejo.secrets": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This is a small wrapper over systemd's `LoadCredential`.\n\nIt takes the same sections and keys as {option}`services.forgejo.settings`,\nbut the value of each key is a path instead of a string or bool.\n\nThe path is then loaded as credential, exported as environment variable\nand then feed through\n<https://codeberg.org/forgejo/forgejo/src/branch/forgejo/contrib/environment-to-ini/environment-to-ini.go>.\n\nIt does the required environment variable escaping for you.\n\n::: {.note}\nKeys specified here take priority over the ones in {option}`services.forgejo.settings`!\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  metrics = {\n    TOKEN = \"/run/keys/forgejo-metrics-token\";\n  };\n  camo = {\n    HMAC_KEY = \"/run/keys/forgejo-camo-hmac\";\n  };\n  service = {\n    HCAPTCHA_SECRET = \"/run/keys/forgejo-hcaptcha-secret\";\n    HCAPTCHA_SITEKEY = \"/run/keys/forgejo-hcaptcha-sitekey\";\n  };\n}\n"}, "loc": ["services", "forgejo", "secrets"], "readOnly": false, "type": "open submodule of attribute set of attribute set of absolute path"}, "services.forgejo.settings": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Free-form settings written directly to the `app.ini` configfile file.\nRefer to <https://forgejo.org/docs/latest/admin/config-cheat-sheet/> for supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  DEFAULT = {\n    RUN_MODE = \"dev\";\n  };\n  \"cron.sync_external_users\" = {\n    RUN_AT_START = true;\n    SCHEDULE = \"@every 24h\";\n    UPDATE_EXISTING = true;\n  };\n  mailer = {\n    ENABLED = true;\n    PROTOCOL = \"sendmail\";\n    FROM = \"do-not-reply@example.org\";\n    SENDMAIL_PATH = \"${pkgs.system-sendmail}/bin/sendmail\";\n  };\n  other = {\n    SHOW_FOOTER_VERSION = false;\n  };\n}\n"}, "loc": ["services", "forgejo", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.forgejo.settings.log.LEVEL": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"Info\""}, "description": "General log level.", "loc": ["services", "forgejo", "settings", "log", "LEVEL"], "readOnly": false, "type": "one of \"Trace\", \"Debug\", \"Info\", \"Warn\", \"Error\", \"Critical\""}, "services.forgejo.settings.log.ROOT_PATH": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.forgejo.stateDir}/log\""}, "description": "Root path for log files.", "loc": ["services", "forgejo", "settings", "log", "ROOT_PATH"], "readOnly": false, "type": "string"}, "services.forgejo.settings.server.DISABLE_SSH": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable external SSH feature.", "loc": ["services", "forgejo", "settings", "server", "DISABLE_SSH"], "readOnly": false, "type": "boolean"}, "services.forgejo.settings.server.DOMAIN": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Domain name of your server.", "loc": ["services", "forgejo", "settings", "server", "DOMAIN"], "readOnly": false, "type": "string"}, "services.forgejo.settings.server.HTTP_ADDR": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "if lib.hasSuffix \"+unix\" cfg.settings.server.PROTOCOL then \"/run/forgejo/forgejo.sock\" else \"0.0.0.0\""}, "description": "Listen address. Must be a path when using a unix socket.", "loc": ["services", "forgejo", "settings", "server", "HTTP_ADDR"], "readOnly": false, "type": "string or absolute path"}, "services.forgejo.settings.server.HTTP_PORT": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Listen port. Ignored when using a unix socket.", "loc": ["services", "forgejo", "settings", "server", "HTTP_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.forgejo.settings.server.PROTOCOL": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"http\""}, "description": "Listen protocol. `+unix` means \"over unix\", not \"in addition to.\"", "loc": ["services", "forgejo", "settings", "server", "PROTOCOL"], "readOnly": false, "type": "one of \"http\", \"https\", \"fcgi\", \"http+unix\", \"fcgi+unix\""}, "services.forgejo.settings.server.ROOT_URL": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"http://${config.services.forgejo.settings.server.DOMAIN}:${toString config.services.forgejo.settings.server.HTTP_PORT}/\""}, "description": "Full public URL of Forgejo server.", "loc": ["services", "forgejo", "settings", "server", "ROOT_URL"], "readOnly": false, "type": "string"}, "services.forgejo.settings.server.SSH_PORT": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "22"}, "description": "SSH port displayed in clone URL.\nThe option is required to configure a service when the external visible port\ndiffers from the local listening port i.e. if port forwarding is used.\n", "example": {"_type": "literalExpression", "text": "2222"}, "loc": ["services", "forgejo", "settings", "server", "SSH_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.forgejo.settings.server.STATIC_ROOT_PATH": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "config.services.forgejo.package.data"}, "description": "Upper level of template and static files path.", "example": {"_type": "literalExpression", "text": "\"/var/lib/forgejo/data\""}, "loc": ["services", "forgejo", "settings", "server", "STATIC_ROOT_PATH"], "readOnly": false, "type": "string or absolute path"}, "services.forgejo.settings.session.COOKIE_SECURE": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Marks session cookies as \"secure\" as a hint for browsers to only send\nthem via HTTPS. This option is recommend, if Forgejo is being served over HTTPS.\n", "loc": ["services", "forgejo", "settings", "session", "COOKIE_SECURE"], "readOnly": false, "type": "boolean"}, "services.forgejo.stateDir": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/forgejo\""}, "description": "Forgejo data directory.", "loc": ["services", "forgejo", "stateDir"], "readOnly": false, "type": "string"}, "services.forgejo.useWizard": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use the built-in installation wizard instead of\ndeclaratively managing the {file}`app.ini` config file in nix.\n", "loc": ["services", "forgejo", "useWizard"], "readOnly": false, "type": "boolean"}, "services.forgejo.user": {"declarations": ["nixos/modules/services/misc/forgejo.nix"], "default": {"_type": "literalExpression", "text": "\"forgejo\""}, "description": "User account under which Forgejo runs.", "loc": ["services", "forgejo", "user"], "readOnly": false, "type": "string"}, "services.foundationdb.backupProcesses": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Number of backup_agent processes to run for snapshots.", "loc": ["services", "foundationdb", "backupProcesses"], "readOnly": false, "type": "signed integer"}, "services.foundationdb.class": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Process class", "loc": ["services", "foundationdb", "class"], "readOnly": false, "type": "null or one of \"storage\", \"transaction\", \"stateless\""}, "services.foundationdb.dataDir": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/foundationdb\""}, "description": "Data directory. All cluster data will be put under here.", "loc": ["services", "foundationdb", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.foundationdb.enable": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FoundationDB Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "foundationdb", "enable"], "readOnly": false, "type": "boolean"}, "services.foundationdb.extraReadWritePaths": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "An extra set of filesystem paths that FoundationDB can read to\nand write from. By default, FoundationDB runs under a heavily\nnamespaced systemd environment without write access to most of\nthe filesystem outside of its data and log directories. By\nadding paths to this list, the set of writeable paths will be\nexpanded. This is useful for allowing e.g. backups to local files,\nwhich must be performed on behalf of the foundationdb service.\n", "loc": ["services", "foundationdb", "extraReadWritePaths"], "readOnly": false, "type": "list of absolute path"}, "services.foundationdb.group": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"foundationdb\""}, "description": "Group account under which FoundationDB runs.", "loc": ["services", "foundationdb", "group"], "readOnly": false, "type": "string"}, "services.foundationdb.listenAddress": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"public\""}, "description": "Publicly visible IP address of the process. Port is determined by process ID", "loc": ["services", "foundationdb", "listenAddress"], "readOnly": false, "type": "string"}, "services.foundationdb.listenPortStart": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "4500"}, "description": "Starting port number for database listening sockets. Every FDB process binds to a\nsubsequent port, to this number reflects the start of the overall range. e.g. having\n8 server processes will use all ports between 4500 and 4507.\n", "loc": ["services", "foundationdb", "listenPortStart"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.foundationdb.locality": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "{\n  dataHall = null;\n  datacenterId = null;\n  machineId = null;\n  zoneId = null;\n}"}, "description": "FoundationDB locality settings.\n", "loc": ["services", "foundationdb", "locality"], "readOnly": false, "type": "submodule"}, "services.foundationdb.locality.dataHall": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Data hall identifier key. All processes physically located in a\ndata hall should share the id. If you are depending on data\nhall based replication this must be set on all processes.\n", "loc": ["services", "foundationdb", "locality", "dataHall"], "readOnly": false, "type": "null or string"}, "services.foundationdb.locality.datacenterId": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Data center identifier key. All processes physically located in a\ndata center should share the id. If you are depending on data\ncenter based replication this must be set on all processes.\n", "loc": ["services", "foundationdb", "locality", "datacenterId"], "readOnly": false, "type": "null or string"}, "services.foundationdb.locality.machineId": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Machine identifier key. All processes on a machine should share a\nunique id. By default, processes on a machine determine a unique id to share.\nThis does not generally need to be set.\n", "loc": ["services", "foundationdb", "locality", "machineId"], "readOnly": false, "type": "null or string"}, "services.foundationdb.locality.zoneId": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Zone identifier key. Processes that share a zone id are\nconsidered non-unique for the purposes of data replication.\nIf unset, defaults to machine id.\n", "loc": ["services", "foundationdb", "locality", "zoneId"], "readOnly": false, "type": "null or string"}, "services.foundationdb.logDir": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/foundationdb\""}, "description": "Log directory.", "loc": ["services", "foundationdb", "logDir"], "readOnly": false, "type": "absolute path"}, "services.foundationdb.logSize": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"10MiB\""}, "description": "Roll over to a new log file after the current log file\nreaches the specified size.\n", "loc": ["services", "foundationdb", "logSize"], "readOnly": false, "type": "string"}, "services.foundationdb.maxLogSize": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"100MiB\""}, "description": "Delete the oldest log file when the total size of all log\nfiles exceeds the specified size. If set to 0, old log files\nwill not be deleted.\n", "loc": ["services", "foundationdb", "maxLogSize"], "readOnly": false, "type": "string"}, "services.foundationdb.memory": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"8GiB\""}, "description": "Maximum memory used by the process. The default value is\n`8GiB`. When specified without a unit,\n`MiB` is assumed. This parameter does not\nchange the memory allocation of the program. Rather, it sets\na hard limit beyond which the process will kill itself and\nbe restarted. The default value of `8GiB`\nis double the intended memory usage in the default\nconfiguration (providing an emergency buffer to deal with\nmemory leaks or similar problems). It is not recommended to\ndecrease the value of this parameter below its default\nvalue. It may be increased if you wish to allocate a very\nlarge amount of storage engine memory or cache. In\nparticular, when the `storageMemory`\nparameter is increased, the `memory`\nparameter should be increased by an equal amount.\n", "loc": ["services", "foundationdb", "memory"], "readOnly": false, "type": "string"}, "services.foundationdb.openFirewall": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the firewall ports corresponding to FoundationDB processes and coordinators\nusing {option}`config.networking.firewall.*`.\n", "loc": ["services", "foundationdb", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.foundationdb.package": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "description": "The FoundationDB package to use for this server. This must be specified by the user\nin order to ensure migrations and upgrades are controlled appropriately.\n", "loc": ["services", "foundationdb", "package"], "readOnly": false, "type": "package"}, "services.foundationdb.pidfile": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"/run/foundationdb.pid\""}, "description": "Path to pidfile for fdbmonitor.", "loc": ["services", "foundationdb", "pidfile"], "readOnly": false, "type": "absolute path"}, "services.foundationdb.publicAddress": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Publicly visible IP address of the process. Port is determined by process ID", "loc": ["services", "foundationdb", "publicAddress"], "readOnly": false, "type": "string"}, "services.foundationdb.restartDelay": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Number of seconds to wait before restarting servers.", "loc": ["services", "foundationdb", "restartDelay"], "readOnly": false, "type": "signed integer"}, "services.foundationdb.serverProcesses": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Number of fdbserver processes to run.", "loc": ["services", "foundationdb", "serverProcesses"], "readOnly": false, "type": "signed integer"}, "services.foundationdb.storageMemory": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"1GiB\""}, "description": "Maximum memory used for data storage. The default value is\n`1GiB`. When specified without a unit,\n`MB` is assumed. Clusters using the memory\nstorage engine will be restricted to using this amount of\nmemory per process for purposes of data storage. Memory\noverhead associated with storing the data is counted against\nthis total. If you increase the\n`storageMemory`, you should also increase\nthe `memory` parameter by the same amount.\n", "loc": ["services", "foundationdb", "storageMemory"], "readOnly": false, "type": "string"}, "services.foundationdb.tls": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "FoundationDB Transport Security Layer (TLS) settings.\n", "loc": ["services", "foundationdb", "tls"], "readOnly": false, "type": "null or (submodule)"}, "services.foundationdb.tls.allowedPeers": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"Check.Valid=1,Check.Unexpired=1\""}, "description": "\"Peer verification string\". This may be used to adjust which TLS\nclient certificates a server will accept, as a form of user\nauthorization; for example, it may only accept TLS clients who\noffer a certificate abiding by some locality or organization name.\n\nFor more information, please see the FoundationDB documentation.\n", "loc": ["services", "foundationdb", "tls", "allowedPeers"], "readOnly": false, "type": "string"}, "services.foundationdb.tls.certificate": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "description": "Path to the TLS certificate file. This certificate will\nbe offered to, and may be verified by, clients.\n", "loc": ["services", "foundationdb", "tls", "certificate"], "readOnly": false, "type": "string"}, "services.foundationdb.tls.key": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "description": "Private key file for the certificate.", "loc": ["services", "foundationdb", "tls", "key"], "readOnly": false, "type": "string"}, "services.foundationdb.traceFormat": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"xml\""}, "description": "Trace logging format.", "loc": ["services", "foundationdb", "traceFormat"], "readOnly": false, "type": "one of \"xml\", \"json\""}, "services.foundationdb.user": {"declarations": ["nixos/modules/services/databases/foundationdb.nix"], "default": {"_type": "literalExpression", "text": "\"foundationdb\""}, "description": "User account under which FoundationDB runs.", "loc": ["services", "foundationdb", "user"], "readOnly": false, "type": "string"}, "services.fprintd.enable": {"declarations": ["nixos/modules/services/security/fprintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fprintd daemon and PAM module for fingerprint readers handling.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fprintd", "enable"], "readOnly": false, "type": "boolean"}, "services.fprintd.package": {"declarations": ["nixos/modules/services/security/fprintd.nix"], "default": {"_type": "literalExpression", "text": "if config.services.fprintd.tod.enable then pkgs.fprintd-tod else pkgs.fprintd"}, "description": "fprintd package to use.\n", "loc": ["services", "fprintd", "package"], "readOnly": false, "type": "package"}, "services.fprintd.tod.driver": {"declarations": ["nixos/modules/services/security/fprintd.nix"], "description": "Touch OEM Drivers (TOD) package to use.\n", "example": {"_type": "literalExpression", "text": "pkgs.libfprint-2-tod1-goodix"}, "loc": ["services", "fprintd", "tod", "driver"], "readOnly": false, "type": "package"}, "services.fprintd.tod.enable": {"declarations": ["nixos/modules/services/security/fprintd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Touch OEM Drivers library support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fprintd", "tod", "enable"], "readOnly": false, "type": "boolean"}, "services.fractalart.enable": {"declarations": ["nixos/modules/services/x11/fractalart.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable FractalArt for generating colorful wallpapers on login", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fractalart", "enable"], "readOnly": false, "type": "boolean"}, "services.fractalart.height": {"declarations": ["nixos/modules/services/x11/fractalart.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Screen height", "example": {"_type": "literalExpression", "text": "1080"}, "loc": ["services", "fractalart", "height"], "readOnly": false, "type": "null or signed integer"}, "services.fractalart.width": {"declarations": ["nixos/modules/services/x11/fractalart.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Screen width", "example": {"_type": "literalExpression", "text": "1920"}, "loc": ["services", "fractalart", "width"], "readOnly": false, "type": "null or signed integer"}, "services.freeciv.enable": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable freeciv.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeciv", "enable"], "readOnly": false, "type": "boolean"}, "services.freeciv.openFirewall": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening the firewall for the port listening for clients.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeciv", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.freeciv.settings": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Parameters of freeciv-server.\n", "loc": ["services", "freeciv", "settings"], "readOnly": false, "type": "open submodule of (freeciv-server params)"}, "services.freeciv.settings.Announce": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "\"none\""}, "description": "Announce game in LAN using given protocol.", "loc": ["services", "freeciv", "settings", "Announce"], "readOnly": false, "type": "one of \"IPv4\", \"IPv6\", \"none\""}, "services.freeciv.settings.Database": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "''\n  [fcdb]\n    backend=\"sqlite\"\n    database=\"/var/lib/freeciv/auth.sqlite\"\n''"}, "description": "Enable database connection with given configuration.", "loc": ["services", "freeciv", "settings", "Database"], "readOnly": false, "type": "null or string"}, "services.freeciv.settings.Guests": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable guests to login if auth is enabled.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeciv", "settings", "Guests"], "readOnly": false, "type": "boolean"}, "services.freeciv.settings.Newusers": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable new users to login if auth is enabled.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeciv", "settings", "Newusers"], "readOnly": false, "type": "boolean"}, "services.freeciv.settings.auth": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable server authentication.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeciv", "settings", "auth"], "readOnly": false, "type": "boolean"}, "services.freeciv.settings.debug": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Set debug log level.", "loc": ["services", "freeciv", "settings", "debug"], "readOnly": false, "type": "integer between 0 and 3 (both inclusive)"}, "services.freeciv.settings.exit-on-end": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable exit instead of restarting when a game ends.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeciv", "settings", "exit-on-end"], "readOnly": false, "type": "boolean"}, "services.freeciv.settings.port": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "5556"}, "description": "Listen for clients on given port", "loc": ["services", "freeciv", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.freeciv.settings.quitidle": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Quit if no players for given time in seconds.", "loc": ["services", "freeciv", "settings", "quitidle"], "readOnly": false, "type": "null or signed integer"}, "services.freeciv.settings.read": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "''\n  /fcdb lua sqlite_createdb()\n''"}, "description": "Startup script.", "loc": ["services", "freeciv", "settings", "read"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.freeciv.settings.saves": {"declarations": ["nixos/modules/services/games/freeciv.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/freeciv/saves/\""}, "description": "Save games to given directory,\na sub-directory named after the starting date of the service\nwill me inserted to preserve older saves.\n", "loc": ["services", "freeciv", "settings", "saves"], "readOnly": false, "type": "null or string"}, "services.freefall.devices": {"declarations": ["nixos/modules/services/hardware/freefall.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/dev/sda\"\n]"}, "description": "Device paths to all internal spinning hard drives.\n", "loc": ["services", "freefall", "devices"], "readOnly": false, "type": "list of string"}, "services.freefall.enable": {"declarations": ["nixos/modules/services/hardware/freefall.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to protect HP/Dell laptop hard drives (not SSDs) in free fall.\n", "loc": ["services", "freefall", "enable"], "readOnly": false, "type": "boolean"}, "services.freefall.package": {"declarations": ["nixos/modules/services/hardware/freefall.nix"], "default": {"_type": "literalExpression", "text": "pkgs.freefall"}, "description": "The freefall package to use.", "loc": ["services", "freefall", "package"], "readOnly": false, "type": "package"}, "services.freenet.enable": {"declarations": ["nixos/modules/services/networking/freenet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Freenet daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freenet", "enable"], "readOnly": false, "type": "boolean"}, "services.freenet.nice": {"declarations": ["nixos/modules/services/networking/freenet.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Set the nice level for the Freenet daemon", "loc": ["services", "freenet", "nice"], "readOnly": false, "type": "integer between -20 and 19 (both inclusive)"}, "services.freeradius.configDir": {"declarations": ["nixos/modules/services/networking/freeradius.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/raddb\""}, "description": "The path of the freeradius server configuration directory.\n", "loc": ["services", "freeradius", "configDir"], "readOnly": false, "type": "absolute path"}, "services.freeradius.debug": {"declarations": ["nixos/modules/services/networking/freeradius.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logging for freeradius (-xx\noption). This should not be left on, since it includes\nsensitive data such as passwords in the logs.\n", "loc": ["services", "freeradius", "debug"], "readOnly": false, "type": "boolean"}, "services.freeradius.enable": {"declarations": ["nixos/modules/services/networking/freeradius.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the freeradius server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeradius", "enable"], "readOnly": false, "type": "boolean"}, "services.freeradius.package": {"declarations": ["nixos/modules/services/networking/freeradius.nix"], "default": {"_type": "literalExpression", "text": "pkgs.freeradius"}, "description": "The freeradius package to use.", "loc": ["services", "freeradius", "package"], "readOnly": false, "type": "package"}, "services.freeswitch.configDir": {"declarations": ["nixos/modules/services/misc/freeswitch.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Override file in FreeSWITCH config template directory.\nEach top-level attribute denotes a file path in the configuration directory, its value is the file path.\nSee [FreeSWITCH documentation](https://freeswitch.org/confluence/display/FREESWITCH/Default+Configuration) for more info.\nAlso check available templates in [FreeSWITCH repository](https://github.com/signalwire/freeswitch/tree/master/conf).\n", "example": {"_type": "literalExpression", "text": "{\n  \"freeswitch.xml\" = ./freeswitch.xml;\n  \"dialplan/default.xml\" = pkgs.writeText \"dialplan-default.xml\" ''\n    [xml lines]\n  '';\n}\n"}, "loc": ["services", "freeswitch", "configDir"], "readOnly": false, "type": "attribute set of absolute path"}, "services.freeswitch.configTemplate": {"declarations": ["nixos/modules/services/misc/freeswitch.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.freeswitch.package}/share/freeswitch/conf/vanilla\""}, "description": "Configuration template to use.\nSee available templates in [FreeSWITCH repository](https://github.com/signalwire/freeswitch/tree/master/conf).\nYou can also set your own configuration directory.\n", "example": {"_type": "literalExpression", "text": "\"${config.services.freeswitch.package}/share/freeswitch/conf/minimal\""}, "loc": ["services", "freeswitch", "configTemplate"], "readOnly": false, "type": "absolute path"}, "services.freeswitch.enable": {"declarations": ["nixos/modules/services/misc/freeswitch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FreeSWITCH.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freeswitch", "enable"], "readOnly": false, "type": "boolean"}, "services.freeswitch.enableReload": {"declarations": ["nixos/modules/services/misc/freeswitch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Issue the `reloadxml` command to FreeSWITCH when configuration directory changes (instead of restart).\nSee [FreeSWITCH documentation](https://freeswitch.org/confluence/display/FREESWITCH/Reloading) for more info.\nThe configuration directory is exposed at {file}`/etc/freeswitch`.\nSee also `systemd.services.*.restartIfChanged`.\n", "loc": ["services", "freeswitch", "enableReload"], "readOnly": false, "type": "boolean"}, "services.freeswitch.package": {"declarations": ["nixos/modules/services/misc/freeswitch.nix"], "default": {"_type": "literalExpression", "text": "pkgs.freeswitch"}, "description": "The freeswitch package to use.", "loc": ["services", "freeswitch", "package"], "readOnly": false, "type": "package"}, "services.freshrss.api.enable": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable API access for mobile apps and third-party clients (Google Reader API and Fever API). Users must set individual API passwords in their profile settings.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freshrss", "api", "enable"], "readOnly": false, "type": "boolean"}, "services.freshrss.authType": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"form\""}, "description": "Authentication type for FreshRSS.", "loc": ["services", "freshrss", "authType"], "readOnly": false, "type": "one of \"form\", \"http_auth\", \"none\""}, "services.freshrss.baseUrl": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "description": "Default URL for FreshRSS.", "example": {"_type": "literalExpression", "text": "\"https://freshrss.example.com\""}, "loc": ["services", "freshrss", "baseUrl"], "readOnly": false, "type": "string"}, "services.freshrss.dataDir": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/freshrss\""}, "description": "Default data folder for FreshRSS.", "example": {"_type": "literalExpression", "text": "\"/mnt/freshrss\""}, "loc": ["services", "freshrss", "dataDir"], "readOnly": false, "type": "string"}, "services.freshrss.database.host": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host for FreshRSS.", "loc": ["services", "freshrss", "database", "host"], "readOnly": false, "type": "null or string"}, "services.freshrss.database.name": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"freshrss\""}, "description": "Database name for FreshRSS.", "loc": ["services", "freshrss", "database", "name"], "readOnly": false, "type": "null or string"}, "services.freshrss.database.passFile": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database password file for FreshRSS.", "example": {"_type": "literalExpression", "text": "\"/run/secrets/freshrss\""}, "loc": ["services", "freshrss", "database", "passFile"], "readOnly": false, "type": "null or absolute path"}, "services.freshrss.database.port": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database port for FreshRSS.", "example": {"_type": "literalExpression", "text": "3306"}, "loc": ["services", "freshrss", "database", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.freshrss.database.tableprefix": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database table prefix for FreshRSS.", "example": {"_type": "literalExpression", "text": "\"freshrss\""}, "loc": ["services", "freshrss", "database", "tableprefix"], "readOnly": false, "type": "null or string"}, "services.freshrss.database.type": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Database type.", "example": {"_type": "literalExpression", "text": "\"pgsql\""}, "loc": ["services", "freshrss", "database", "type"], "readOnly": false, "type": "one of \"sqlite\", \"pgsql\", \"mysql\""}, "services.freshrss.database.user": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"freshrss\""}, "description": "Database user for FreshRSS.", "loc": ["services", "freshrss", "database", "user"], "readOnly": false, "type": "null or string"}, "services.freshrss.defaultUser": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Default username for FreshRSS.", "example": {"_type": "literalExpression", "text": "\"eva\""}, "loc": ["services", "freshrss", "defaultUser"], "readOnly": false, "type": "string"}, "services.freshrss.enable": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable FreshRSS RSS aggregator and reader with php-fpm backend.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "freshrss", "enable"], "readOnly": false, "type": "boolean"}, "services.freshrss.extensions": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "[]"}, "description": "Additional extensions to be used.", "example": {"_type": "literalExpression", "text": "with freshrss-extensions; [\n  youtube\n] ++ [\n  (freshrss-extensions.buildFreshRssExtension {\n    FreshRssExtUniqueId = \"ReadingTime\";\n    pname = \"reading-time\";\n    version = \"1.5\";\n    src = pkgs.fetchFromGitLab {\n      domain = \"framagit.org\";\n      owner = \"Lapineige\";\n      repo = \"FreshRSS_Extension-ReadingTime\";\n      rev = \"fb6e9e944ef6c5299fa56ffddbe04c41e5a34ebf\";\n     hash = \"sha256-C5cRfaphx4Qz2xg2z+v5qRji8WVSIpvzMbethTdSqsk=\";\n   };\n  })\n]\n"}, "loc": ["services", "freshrss", "extensions"], "readOnly": false, "type": "list of package"}, "services.freshrss.language": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"en\""}, "description": "Default language for FreshRSS.", "example": {"_type": "literalExpression", "text": "\"de\""}, "loc": ["services", "freshrss", "language"], "readOnly": false, "type": "string"}, "services.freshrss.package": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "pkgs.freshrss"}, "description": "The freshrss package to use.", "loc": ["services", "freshrss", "package"], "readOnly": false, "type": "package"}, "services.freshrss.passwordFile": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for the defaultUser for FreshRSS.", "example": {"_type": "literalExpression", "text": "\"/run/secrets/freshrss\""}, "loc": ["services", "freshrss", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.freshrss.pool": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"freshrss\""}, "description": "Name of the php-fpm pool to use and setup. If not specified, a pool will be created\nwith default values.\n", "loc": ["services", "freshrss", "pool"], "readOnly": false, "type": "null or string"}, "services.freshrss.user": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"freshrss\""}, "description": "User under which FreshRSS runs.", "loc": ["services", "freshrss", "user"], "readOnly": false, "type": "string"}, "services.freshrss.virtualHost": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"freshrss\""}, "description": "Name of the caddy/nginx virtualhost to use and setup.\n", "loc": ["services", "freshrss", "virtualHost"], "readOnly": false, "type": "string"}, "services.freshrss.webserver": {"declarations": ["nixos/modules/services/web-apps/freshrss.nix"], "default": {"_type": "literalExpression", "text": "\"nginx\""}, "description": "Whether to use nginx or caddy for virtual host management.\n\nFurther nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.\nSee [](#opt-services.nginx.virtualHosts) for further information.\n\nFurther caddy configuration can be done by adapting `services.caddy.virtualHosts.<name>`.\nSee [](#opt-services.caddy.virtualHosts) for further information.\n", "loc": ["services", "freshrss", "webserver"], "readOnly": false, "type": "one of \"nginx\", \"caddy\""}, "services.froide-govplan.dataDir": {"declarations": ["nixos/modules/services/web-apps/froide-govplan.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/froide-govplan\""}, "description": "Directory to store the Froide-Govplan server data.", "loc": ["services", "froide-govplan", "dataDir"], "readOnly": false, "type": "string"}, "services.froide-govplan.enable": {"declarations": ["nixos/modules/services/web-apps/froide-govplan.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gouvernment planer web app Govplan.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "froide-govplan", "enable"], "readOnly": false, "type": "boolean"}, "services.froide-govplan.hostName": {"declarations": ["nixos/modules/services/web-apps/froide-govplan.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "FQDN for the froide-govplan instance.", "loc": ["services", "froide-govplan", "hostName"], "readOnly": false, "type": "string"}, "services.froide-govplan.package": {"declarations": ["nixos/modules/services/web-apps/froide-govplan.nix"], "default": {"_type": "literalExpression", "text": "pkgs.froide-govplan"}, "description": "The froide-govplan package to use.", "loc": ["services", "froide-govplan", "package"], "readOnly": false, "type": "package"}, "services.froide-govplan.secretKeyFile": {"declarations": ["nixos/modules/services/web-apps/froide-govplan.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the secret key.\n", "loc": ["services", "froide-govplan", "secretKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.froide-govplan.settings": {"declarations": ["nixos/modules/services/web-apps/froide-govplan.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration options to set in `extra_settings.py`.\n", "loc": ["services", "froide-govplan", "settings"], "readOnly": false, "type": "open submodule of attribute set of (Python value)"}, "services.froide-govplan.settings.ALLOWED_HOSTS": {"declarations": ["nixos/modules/services/web-apps/froide-govplan.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "A list of valid fully-qualified domain names (FQDNs) and/or IP\naddresses that can be used to reach the Froide-Govplan service.\n", "loc": ["services", "froide-govplan", "settings", "ALLOWED_HOSTS"], "readOnly": false, "type": "list of string"}, "services.frp.instances": {"declarations": ["nixos/modules/services/networking/frp.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Frp instances.\n", "loc": ["services", "frp", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.frp.instances.<name>.enable": {"declarations": ["nixos/modules/services/networking/frp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable frp.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "frp", "instances", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.frp.instances.<name>.environmentFiles": {"declarations": ["nixos/modules/services/networking/frp.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of paths files that follows systemd environmentfile structure.\nCan be used to pass secrets to settings attribute.\n\nExample content of a file: SECRET_TOKEN=1234\n", "loc": ["services", "frp", "instances", "<name>", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.frp.instances.<name>.role": {"declarations": ["nixos/modules/services/networking/frp.nix"], "description": "The frp consists of `client` and `server`. The server is usually\ndeployed on the machine with a public IP address, and\nthe client is usually deployed on the machine\nwhere the Intranet service to be penetrated resides.\n", "loc": ["services", "frp", "instances", "<name>", "role"], "readOnly": false, "type": "one of \"server\", \"client\""}, "services.frp.instances.<name>.settings": {"declarations": ["nixos/modules/services/networking/frp.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Frp configuration, for configuration options\nsee the example of [client](https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml)\nor [server](https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml) on github.\n", "example": {"_type": "literalExpression", "text": "{\n  proxies = [\n    {\n      localIP = \"127.0.0.1\";\n      localPort = 22;\n      name = \"ssh\";\n      remotePort = 6000;\n      type = \"tcp\";\n    }\n  ];\n  serverAddr = \"x.x.x.x\";\n  serverPort = 7000;\n}"}, "loc": ["services", "frp", "instances", "<name>", "settings"], "readOnly": false, "type": "TOML value"}, "services.frp.package": {"declarations": ["nixos/modules/services/networking/frp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.frp"}, "description": "The frp package to use.", "loc": ["services", "frp", "package"], "readOnly": false, "type": "package"}, "services.fstrim.enable": {"declarations": ["nixos/modules/services/misc/fstrim.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable periodic SSD TRIM of mounted partitions in background.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fstrim", "enable"], "readOnly": false, "type": "boolean"}, "services.fstrim.interval": {"declarations": ["nixos/modules/services/misc/fstrim.nix"], "default": {"_type": "literalExpression", "text": "\"weekly\""}, "description": "How often we run fstrim. For most desktop and server systems\na sufficient trimming frequency is once a week.\n\nThe format is described in\n{manpage}`systemd.time(7)`.\n", "loc": ["services", "fstrim", "interval"], "readOnly": false, "type": "string"}, "services.fusionInventory.enable": {"declarations": ["nixos/modules/services/monitoring/fusion-inventory.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Fusion Inventory Agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "fusionInventory", "enable"], "readOnly": false, "type": "boolean"}, "services.fusionInventory.extraConfig": {"declarations": ["nixos/modules/services/monitoring/fusion-inventory.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configuration that is injected verbatim into the configuration file.\n", "loc": ["services", "fusionInventory", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.fusionInventory.servers": {"declarations": ["nixos/modules/services/monitoring/fusion-inventory.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The urls of the OCS/GLPI servers to connect to.\n", "loc": ["services", "fusionInventory", "servers"], "readOnly": false, "type": "list of string"}, "services.fwupd.daemonSettings": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configurations for the fwupd daemon.\n", "loc": ["services", "fwupd", "daemonSettings"], "readOnly": false, "type": "open submodule of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non-empty list of them)"}, "services.fwupd.daemonSettings.DisabledDevices": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of device GUIDs to be disabled.\n", "example": {"_type": "literalExpression", "text": "[\n  \"2082b5e0-7a64-478a-b1b2-e3404fab6dad\"\n]"}, "loc": ["services", "fwupd", "daemonSettings", "DisabledDevices"], "readOnly": false, "type": "list of string"}, "services.fwupd.daemonSettings.DisabledPlugins": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of plugins to be disabled.\n", "example": {"_type": "literalExpression", "text": "[\n  \"udev\"\n]"}, "loc": ["services", "fwupd", "daemonSettings", "DisabledPlugins"], "readOnly": false, "type": "list of string"}, "services.fwupd.daemonSettings.EspLocation": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "config.boot.loader.efi.efiSysMountPoint"}, "description": "The EFI system partition (ESP) path used if UDisks is not available\nor if this partition is not mounted at /boot/efi, /boot, or /efi\n", "loc": ["services", "fwupd", "daemonSettings", "EspLocation"], "readOnly": false, "type": "absolute path"}, "services.fwupd.enable": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable fwupd, a DBus service that allows\napplications to update firmware.\n", "loc": ["services", "fwupd", "enable"], "readOnly": false, "type": "boolean"}, "services.fwupd.extraRemotes": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Enables extra remotes in fwupd. See `/etc/fwupd/remotes.d`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"lvfs-testing\"\n]"}, "loc": ["services", "fwupd", "extraRemotes"], "readOnly": false, "type": "list of string"}, "services.fwupd.extraTrustedKeys": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Installing a public key allows firmware signed with a matching private key to be recognized as trusted, which may require less authentication to install than for untrusted files. By default trusted firmware can be upgraded (but not downgraded) without the user or administrator password. Only very few keys are installed by default.\n", "example": {"_type": "literalExpression", "text": "[ /etc/nixos/fwupd/myfirmware.pem ]"}, "loc": ["services", "fwupd", "extraTrustedKeys"], "readOnly": false, "type": "list of absolute path"}, "services.fwupd.package": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.fwupd"}, "description": "The fwupd package to use.", "loc": ["services", "fwupd", "package"], "readOnly": false, "type": "package"}, "services.fwupd.uefiCapsuleSettings": {"declarations": ["nixos/modules/services/hardware/fwupd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "UEFI capsule configurations for the fwupd daemon.\n", "loc": ["services", "fwupd", "uefiCapsuleSettings"], "readOnly": false, "type": "open submodule of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non-empty list of them)"}, "services.g3proxy.enable": {"declarations": ["nixos/modules/services/networking/g3proxy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable g3proxy, a generic purpose forward proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "g3proxy", "enable"], "readOnly": false, "type": "boolean"}, "services.g3proxy.package": {"declarations": ["nixos/modules/services/networking/g3proxy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.g3proxy"}, "description": "The g3proxy package to use.", "loc": ["services", "g3proxy", "package"], "readOnly": false, "type": "package"}, "services.g3proxy.settings": {"declarations": ["nixos/modules/services/networking/g3proxy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings of g3proxy.\n", "example": {"_type": "literalExpression", "text": "{\n  server = [{\n    name = \"test\";\n    escaper = \"default\";\n    type = \"socks_proxy\";\n    listen = {\n      address = \"[::]:10086\";\n    };\n  }];\n}\n"}, "loc": ["services", "g3proxy", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.g810-led.earlySetup": {"declarations": ["nixos/modules/services/hardware/g810-led.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable g810-led in early stage initrd.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "g810-led", "earlySetup"], "readOnly": false, "type": "boolean"}, "services.g810-led.enable": {"declarations": ["nixos/modules/services/hardware/g810-led.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable g810-led, a Linux LED controller for some Logitech G Keyboards.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "g810-led", "enable"], "readOnly": false, "type": "boolean"}, "services.g810-led.package": {"declarations": ["nixos/modules/services/hardware/g810-led.nix"], "default": {"_type": "literalExpression", "text": "pkgs.g810-led"}, "description": "The g810-led package to use.", "loc": ["services", "g810-led", "package"], "readOnly": false, "type": "package"}, "services.g810-led.profile": {"declarations": ["nixos/modules/services/hardware/g810-led.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Keyboard profile to apply at boot time.\n\nThe upstream repository provides [example configurations](https://github.com/MatMoul/g810-led/tree/master/sample_profiles).\n", "example": {"_type": "literalExpression", "text": "''\n  # G810-LED Profile (turn all keys on)\n  \n  # Set all keys on\n  a ffffff\n  \n  # Commit changes\n  c\n''"}, "loc": ["services", "g810-led", "profile"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.galene.certFile": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the server's certificate. The file is copied at runtime to\nGalene's data directory where it needs to reside.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/your/cert.pem\""}, "loc": ["services", "galene", "certFile"], "readOnly": false, "type": "null or absolute path"}, "services.galene.dataDir": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.galene.stateDir}/data\""}, "description": "Data directory.", "example": {"_type": "literalExpression", "text": "\"/var/lib/galene/data\""}, "loc": ["services", "galene", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.galene.enable": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Galene Service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "galene", "enable"], "readOnly": false, "type": "boolean"}, "services.galene.group": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"galene\""}, "description": "Group under which galene runs.", "loc": ["services", "galene", "group"], "readOnly": false, "type": "string"}, "services.galene.groupsDir": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.galene.stateDir}/groups\""}, "description": "Web server directory.", "example": {"_type": "literalExpression", "text": "\"/var/lib/galene/groups\""}, "loc": ["services", "galene", "groupsDir"], "readOnly": false, "type": "absolute path"}, "services.galene.httpAddress": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "HTTP listen address for galene.", "loc": ["services", "galene", "httpAddress"], "readOnly": false, "type": "string"}, "services.galene.httpPort": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "8443"}, "description": "HTTP listen port.", "loc": ["services", "galene", "httpPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.galene.insecure": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether Galene should listen in http or in https. If left as the default\nvalue (false), Galene needs to be fed a private key and a certificate.\n", "loc": ["services", "galene", "insecure"], "readOnly": false, "type": "boolean"}, "services.galene.keyFile": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the server's private key. The file is copied at runtime to\nGalene's data directory where it needs to reside.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/your/key.pem\""}, "loc": ["services", "galene", "keyFile"], "readOnly": false, "type": "null or absolute path"}, "services.galene.package": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "pkgs.galene"}, "description": "The galene package to use.", "loc": ["services", "galene", "package"], "readOnly": false, "type": "package"}, "services.galene.recordingsDir": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.galene.stateDir}/recordings\""}, "description": "Recordings directory.", "example": {"_type": "literalExpression", "text": "\"/var/lib/galene/recordings\""}, "loc": ["services", "galene", "recordingsDir"], "readOnly": false, "type": "absolute path"}, "services.galene.stateDir": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/galene\""}, "description": "The directory where Galene stores its internal state. If left as the default\nvalue this directory will automatically be created before the Galene server\nstarts, otherwise the sysadmin is responsible for ensuring the directory\nexists with appropriate ownership and permissions.\n", "loc": ["services", "galene", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.galene.staticDir": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"${package.static}/static\""}, "description": "Web server directory.", "example": {"_type": "literalExpression", "text": "\"/var/lib/galene/static\""}, "loc": ["services", "galene", "staticDir"], "readOnly": false, "type": "absolute path"}, "services.galene.turnAddress": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Built-in TURN server listen address and port. Set to \"\" to disable.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:1194\""}, "loc": ["services", "galene", "turnAddress"], "readOnly": false, "type": "string"}, "services.galene.user": {"declarations": ["nixos/modules/services/web-apps/galene.nix"], "default": {"_type": "literalExpression", "text": "\"galene\""}, "description": "User account under which galene runs.", "loc": ["services", "galene", "user"], "readOnly": false, "type": "string"}, "services.gammu-smsd.backend.files.errorSMSPath": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/spool/sms/error/\""}, "description": "Where SMSes with error in transmission is placed", "loc": ["services", "gammu-smsd", "backend", "files", "errorSMSPath"], "readOnly": false, "type": "absolute path"}, "services.gammu-smsd.backend.files.inboxPath": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/spool/sms/inbox/\""}, "description": "Where the received SMSes are stored", "loc": ["services", "gammu-smsd", "backend", "files", "inboxPath"], "readOnly": false, "type": "absolute path"}, "services.gammu-smsd.backend.files.outboxPath": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/spool/sms/outbox/\""}, "description": "Where SMSes to be sent should be placed", "loc": ["services", "gammu-smsd", "backend", "files", "outboxPath"], "readOnly": false, "type": "absolute path"}, "services.gammu-smsd.backend.files.sentSMSPath": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/spool/sms/sent/\""}, "description": "Where the transmitted SMSes are placed", "loc": ["services", "gammu-smsd", "backend", "files", "sentSMSPath"], "readOnly": false, "type": "absolute path"}, "services.gammu-smsd.backend.service": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"null\""}, "description": "Service to use to store sms data.", "loc": ["services", "gammu-smsd", "backend", "service"], "readOnly": false, "type": "one of \"null\", \"files\", \"sql\""}, "services.gammu-smsd.backend.sql.database": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database name to store sms data", "loc": ["services", "gammu-smsd", "backend", "sql", "database"], "readOnly": false, "type": "null or string"}, "services.gammu-smsd.backend.sql.driver": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "description": "DB driver to use", "loc": ["services", "gammu-smsd", "backend", "sql", "driver"], "readOnly": false, "type": "one of \"native_mysql\", \"native_pgsql\", \"odbc\", \"dbi\""}, "services.gammu-smsd.backend.sql.host": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database server address", "loc": ["services", "gammu-smsd", "backend", "sql", "host"], "readOnly": false, "type": "string"}, "services.gammu-smsd.backend.sql.password": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User password used for connection to the database", "loc": ["services", "gammu-smsd", "backend", "sql", "password"], "readOnly": false, "type": "null or string"}, "services.gammu-smsd.backend.sql.sqlDialect": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SQL dialect to use (odbc driver only)", "loc": ["services", "gammu-smsd", "backend", "sql", "sqlDialect"], "readOnly": false, "type": "null or string"}, "services.gammu-smsd.backend.sql.user": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User name used for connection to the database", "loc": ["services", "gammu-smsd", "backend", "sql", "user"], "readOnly": false, "type": "null or string"}, "services.gammu-smsd.device.connection": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"at\""}, "description": "Protocol which will be used to talk to the phone", "loc": ["services", "gammu-smsd", "device", "connection"], "readOnly": false, "type": "string"}, "services.gammu-smsd.device.group": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Owner group of the device", "example": {"_type": "literalExpression", "text": "\"dialout\""}, "loc": ["services", "gammu-smsd", "device", "group"], "readOnly": false, "type": "string"}, "services.gammu-smsd.device.path": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "description": "Device node or address of the phone", "example": {"_type": "literalExpression", "text": "\"/dev/ttyUSB2\""}, "loc": ["services", "gammu-smsd", "device", "path"], "readOnly": false, "type": "absolute path"}, "services.gammu-smsd.device.pin": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "PIN code for the simcard", "loc": ["services", "gammu-smsd", "device", "pin"], "readOnly": false, "type": "null or string"}, "services.gammu-smsd.device.synchronizeTime": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to set time from computer to the phone during starting connection", "loc": ["services", "gammu-smsd", "device", "synchronizeTime"], "readOnly": false, "type": "boolean"}, "services.gammu-smsd.enable": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gammu-smsd daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gammu-smsd", "enable"], "readOnly": false, "type": "boolean"}, "services.gammu-smsd.extraConfig.gammu": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra config lines to be added into [gammu] section", "loc": ["services", "gammu-smsd", "extraConfig", "gammu"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gammu-smsd.extraConfig.smsd": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra config lines to be added into [smsd] section", "loc": ["services", "gammu-smsd", "extraConfig", "smsd"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gammu-smsd.log.file": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"syslog\""}, "description": "Path to file where information about communication will be stored", "loc": ["services", "gammu-smsd", "log", "file"], "readOnly": false, "type": "string"}, "services.gammu-smsd.log.format": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"errors\""}, "description": "Determines what will be logged to the LogFile", "loc": ["services", "gammu-smsd", "log", "format"], "readOnly": false, "type": "one of \"nothing\", \"text\", \"textall\", \"textalldate\", \"errors\", \"errorsdate\", \"binary\""}, "services.gammu-smsd.user": {"declarations": ["nixos/modules/services/misc/gammu-smsd.nix"], "default": {"_type": "literalExpression", "text": "\"smsd\""}, "description": "User that has access to the device", "loc": ["services", "gammu-smsd", "user"], "readOnly": false, "type": "string"}, "services.gancio.enable": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gancio, a shared agenda for local communities.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gancio", "enable"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration for the nginx virtual host of gancio.", "example": {"_type": "literalExpression", "text": "{\n  enableACME = false;\n  forceSSL = false;\n}"}, "loc": ["services", "gancio", "nginx"], "readOnly": false, "type": "submodule"}, "services.gancio.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "gancio", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "gancio", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "gancio", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "gancio", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.gancio.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "gancio", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.gancio.nginx.default": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "gancio", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "gancio", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "gancio", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gancio.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "gancio", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "gancio", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "gancio", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "gancio", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "gancio", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "gancio", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "gancio", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.gancio.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "description": "Listen address.", "loc": ["services", "gancio", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.gancio.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "gancio", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.gancio.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "gancio", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gancio.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "gancio", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "gancio", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "gancio", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.gancio.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "gancio", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.gancio.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.gancio.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.gancio.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "gancio", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.gancio.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "gancio", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gancio.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "gancio", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.gancio.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "gancio", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.gancio.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "gancio", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "gancio", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.gancio.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.gancio.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "gancio", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "gancio", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "gancio", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "gancio", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.gancio.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "gancio", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "gancio", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.gancio.nginx.root": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "gancio", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.gancio.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "gancio", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.gancio.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "gancio", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.gancio.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "gancio", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.gancio.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "gancio", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.gancio.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "gancio", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.gancio.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "gancio", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.gancio.package": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gancio"}, "description": "The gancio package to use.", "loc": ["services", "gancio", "package"], "readOnly": false, "type": "package"}, "services.gancio.plugins": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Paths of gancio plugins to activate (linked under $WorkingDirectory/plugins/).\n", "example": {"_type": "literalExpression", "text": "[ pkgs.gancioPlugins.telegram-bridge ]"}, "loc": ["services", "gancio", "plugins"], "readOnly": false, "type": "list of package"}, "services.gancio.settings": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "description": "Configuration for Gancio, see <https://gancio.org/install/config> for supported values.\n", "loc": ["services", "gancio", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.gancio.settings.baseurl": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"https://${config.services.gancio.settings.hostname}\""}, "description": "The full URL under which the server is reachable.", "example": {"_type": "literalExpression", "text": "\"https://demo.gancio.org/gancio\""}, "loc": ["services", "gancio", "settings", "baseurl"], "readOnly": false, "type": "string"}, "services.gancio.settings.db.database": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"if config.services.gancio.settings.db.dialect == \\\"postgres\\\" then cfg.user else null\""}, "description": "Name of the PostgreSQL database\n", "loc": ["services", "gancio", "settings", "db", "database"], "readOnly": true, "type": "null or string"}, "services.gancio.settings.db.dialect": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "The database dialect to use\n", "loc": ["services", "gancio", "settings", "db", "dialect"], "readOnly": false, "type": "one of \"sqlite\", \"postgres\""}, "services.gancio.settings.db.host": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"if config.services.gancio.settings.db.dialect == \\\"postgres\\\" then \\\"/run/postgresql\\\" else null\""}, "description": "Connection string for the PostgreSQL database\n", "loc": ["services", "gancio", "settings", "db", "host"], "readOnly": true, "type": "null or string"}, "services.gancio.settings.db.storage": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"if config.services.gancio.settings.db.dialect == \\\"sqlite\\\" then \\\"/var/lib/gancio/db.sqlite\\\" else null\""}, "description": "Location for the SQLite database.\n", "loc": ["services", "gancio", "settings", "db", "storage"], "readOnly": true, "type": "null or string"}, "services.gancio.settings.hostname": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "description": "The domain name under which the server is reachable.", "loc": ["services", "gancio", "settings", "hostname"], "readOnly": false, "type": "string"}, "services.gancio.settings.log_level": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Gancio log level.", "loc": ["services", "gancio", "settings", "log_level"], "readOnly": false, "type": "one of \"debug\", \"info\", \"warning\", \"error\""}, "services.gancio.settings.log_path": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/gancio\""}, "description": "Directory Gancio logs into", "loc": ["services", "gancio", "settings", "log_path"], "readOnly": true, "type": "string"}, "services.gancio.settings.server.socket": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"/run/gancio/socket\""}, "description": "The unix socket for the gancio server to listen on.\n", "loc": ["services", "gancio", "settings", "server", "socket"], "readOnly": true, "type": "absolute path"}, "services.gancio.user": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "\"gancio\""}, "description": "The user (and PostgreSQL database name) used to run the gancio server", "loc": ["services", "gancio", "user"], "readOnly": false, "type": "string"}, "services.gancio.userLocale": {"declarations": ["nixos/modules/services/web-apps/gancio.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Override default locales within gancio.\nSee [default languages and locales](https://framagit.org/les/gancio/tree/master/locales).\n", "example": {"_type": "literalExpression", "text": "{\n  en = {\n    register = {\n      description = \"My new registration page description\";\n    };\n  };\n}"}, "loc": ["services", "gancio", "userLocale"], "readOnly": false, "type": "attribute set of attribute set of attribute set of string"}, "services.garage.enable": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Garage Object Storage (S3 compatible).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "garage", "enable"], "readOnly": false, "type": "boolean"}, "services.garage.environmentFile": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing environment variables to be passed to the Garage server.", "loc": ["services", "garage", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.garage.extraEnvironment": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to pass to the Garage server.", "example": {"_type": "literalExpression", "text": "{\n  RUST_BACKTRACE = \"yes\";\n}"}, "loc": ["services", "garage", "extraEnvironment"], "readOnly": false, "type": "attribute set of string"}, "services.garage.logLevel": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Garage log level, see <https://garagehq.deuxfleurs.fr/documentation/quick-start/#launching-the-garage-server> for examples.", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "garage", "logLevel"], "readOnly": false, "type": "one of \"error\", \"warn\", \"info\", \"debug\", \"trace\""}, "services.garage.package": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "description": "Garage package to use, needs to be set explicitly. If you are upgrading from a major version, please read NixOS and Garage release notes for upgrade instructions.", "loc": ["services", "garage", "package"], "readOnly": false, "type": "package"}, "services.garage.settings": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "description": "Garage configuration, see <https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/> for reference.", "loc": ["services", "garage", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.garage.settings.data_dir": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/garage/data\""}, "description": "The directory in which Garage will store the data blocks of objects. This folder can be placed on an HDD.\nSince v0.9.0, Garage supports multiple data directories, refer to <https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#data_dir> for the exact format.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    capacity = \"2T\";\n    path = \"/var/lib/garage/data\";\n  }\n]"}, "loc": ["services", "garage", "settings", "data_dir"], "readOnly": false, "type": "absolute path or list of (attribute set)"}, "services.garage.settings.metadata_dir": {"declarations": ["nixos/modules/services/web-servers/garage.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/garage/meta\""}, "description": "The metadata directory, put this on a fast disk (e.g. SSD) if possible.", "loc": ["services", "garage", "settings", "metadata_dir"], "readOnly": false, "type": "absolute path"}, "services.gatus.configFile": {"declarations": ["nixos/modules/services/monitoring/gatus.nix"], "default": {"_type": "literalExpression", "text": "(pkgs.formats.yaml { }).generate \"gatus.yaml\" config.services.gatus.settings"}, "description": "Path to the Gatus configuration file.\nOverrides any configuration made using the `settings` option.\n", "loc": ["services", "gatus", "configFile"], "readOnly": false, "type": "absolute path"}, "services.gatus.enable": {"declarations": ["nixos/modules/services/monitoring/gatus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gatus.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gatus", "enable"], "readOnly": false, "type": "boolean"}, "services.gatus.environmentFile": {"declarations": ["nixos/modules/services/monitoring/gatus.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File to load as environment file.\nEnvironmental variables from this file can be interpolated in the configuration file using `${VARIABLE}`.\nThis is useful to avoid putting secrets into the nix store.\n", "loc": ["services", "gatus", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.gatus.openFirewall": {"declarations": ["nixos/modules/services/monitoring/gatus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the Gatus web interface.\n", "loc": ["services", "gatus", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.gatus.package": {"declarations": ["nixos/modules/services/monitoring/gatus.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gatus"}, "description": "The gatus package to use.", "loc": ["services", "gatus", "package"], "readOnly": false, "type": "package"}, "services.gatus.settings": {"declarations": ["nixos/modules/services/monitoring/gatus.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Gatus.\nSupported options can be found at the [docs](https://gatus.io/docs).\n", "example": {"_type": "literalExpression", "text": "{\n  web.port = 8080;\n  endpoints = [{\n    name = \"website\";\n    url = \"https://twin.sh/health\";\n    interval = \"5m\";\n    conditions = [\n      \"[STATUS] == 200\"\n      \"[BODY].status == UP\"\n      \"[RESPONSE_TIME] < 300\"\n    ];\n  }];\n}\n"}, "loc": ["services", "gatus", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.gatus.settings.web.port": {"declarations": ["nixos/modules/services/monitoring/gatus.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The TCP port to serve the Gatus service at.\n", "loc": ["services", "gatus", "settings", "web", "port"], "readOnly": false, "type": "signed integer"}, "services.gdomap.enable": {"declarations": ["nixos/modules/services/networking/gdomap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNUstep Distributed Objects name server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gdomap", "enable"], "readOnly": false, "type": "boolean"}, "services.gemstash.enable": {"declarations": ["nixos/modules/services/development/gemstash.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gemstash, a cache for rubygems.org and a private gem server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gemstash", "enable"], "readOnly": false, "type": "boolean"}, "services.gemstash.openFirewall": {"declarations": ["nixos/modules/services/development/gemstash.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the port in {option}`services.gemstash.bind`.\n", "loc": ["services", "gemstash", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.gemstash.settings": {"declarations": ["nixos/modules/services/development/gemstash.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Gemstash. The details can be found at in\n[gemstash documentation](https://github.com/rubygems/gemstash/blob/master/man/gemstash-configuration.5.md).\nEach key set here is automatically prefixed with \":\" to match the gemstash expectations.\n", "loc": ["services", "gemstash", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.gemstash.settings.base_path": {"declarations": ["nixos/modules/services/development/gemstash.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/gemstash\""}, "description": "Path to store the gem files and the sqlite database. If left unchanged, the directory will be created.", "loc": ["services", "gemstash", "settings", "base_path"], "readOnly": false, "type": "absolute path"}, "services.gemstash.settings.bind": {"declarations": ["nixos/modules/services/development/gemstash.nix"], "default": {"_type": "literalExpression", "text": "\"tcp://0.0.0.0:9292\""}, "description": "Host and port combination for the server to listen on.", "loc": ["services", "gemstash", "settings", "bind"], "readOnly": false, "type": "string"}, "services.gemstash.settings.db_adapter": {"declarations": ["nixos/modules/services/development/gemstash.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Which database type to use. For choices other than sqlite3, the dbUrl has to be specified as well.", "loc": ["services", "gemstash", "settings", "db_adapter"], "readOnly": false, "type": "null or one of \"sqlite3\", \"postgres\", \"mysql\", \"mysql2\""}, "services.gemstash.settings.db_url": {"declarations": ["nixos/modules/services/development/gemstash.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The database to connect to when using postgres, mysql, or mysql2.", "loc": ["services", "gemstash", "settings", "db_url"], "readOnly": false, "type": "null or string"}, "services.geoclue2.appConfig": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify extra settings per application.\n", "example": {"_type": "literalExpression", "text": "\"com.github.app\" = {\n  isAllowed = true;\n  isSystem = true;\n  users = [ \"300\" ];\n};\n"}, "loc": ["services", "geoclue2", "appConfig"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.geoclue2.appConfig.<name>.desktopID": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "description": "Desktop ID of the application.", "loc": ["services", "geoclue2", "appConfig", "<name>", "desktopID"], "readOnly": false, "type": "string"}, "services.geoclue2.appConfig.<name>.isAllowed": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "description": "Whether the application will be allowed access to location information.\n", "loc": ["services", "geoclue2", "appConfig", "<name>", "isAllowed"], "readOnly": false, "type": "boolean"}, "services.geoclue2.appConfig.<name>.isSystem": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "description": "Whether the application is a system component or not.\n", "loc": ["services", "geoclue2", "appConfig", "<name>", "isSystem"], "readOnly": false, "type": "boolean"}, "services.geoclue2.appConfig.<name>.users": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of UIDs of all users for which this application is allowed location\ninfo access, Defaults to an empty string to allow it for all users.\n", "loc": ["services", "geoclue2", "appConfig", "<name>", "users"], "readOnly": false, "type": "list of string"}, "services.geoclue2.enable": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GeoClue 2 daemon, a DBus service\nthat provides location information for accessing.\n", "loc": ["services", "geoclue2", "enable"], "readOnly": false, "type": "boolean"}, "services.geoclue2.enable3G": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable 3G source.\n", "loc": ["services", "geoclue2", "enable3G"], "readOnly": false, "type": "boolean"}, "services.geoclue2.enableCDMA": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable CDMA source.\n", "loc": ["services", "geoclue2", "enableCDMA"], "readOnly": false, "type": "boolean"}, "services.geoclue2.enableDemoAgent": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use the GeoClue demo agent. This should be\noverridden by desktop environments that provide their own\nagent.\n", "loc": ["services", "geoclue2", "enableDemoAgent"], "readOnly": false, "type": "boolean"}, "services.geoclue2.enableModemGPS": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable Modem-GPS source.\n", "loc": ["services", "geoclue2", "enableModemGPS"], "readOnly": false, "type": "boolean"}, "services.geoclue2.enableNmea": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to fetch location from NMEA sources on local network.\n", "loc": ["services", "geoclue2", "enableNmea"], "readOnly": false, "type": "boolean"}, "services.geoclue2.enableStatic": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the static source. This source defines a fixed\nlocation using the `staticLatitude`, `staticLongitude`,\n`staticAltitude`, and `staticAccuracy` options.\n\nSetting `enableStatic` to true will disable all other sources, to\nprevent conflicts. Use `lib.mkForce true` when enabling other sources\nif for some reason you want to override this.\n", "loc": ["services", "geoclue2", "enableStatic"], "readOnly": false, "type": "boolean"}, "services.geoclue2.enableWifi": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable WiFi source.\n", "loc": ["services", "geoclue2", "enableWifi"], "readOnly": false, "type": "boolean"}, "services.geoclue2.geoProviderUrl": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "\"https://api.beacondb.net/v1/geolocate\""}, "description": "The url to the wifi GeoLocation Service.\n", "example": {"_type": "literalExpression", "text": "\"https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_KEY\""}, "loc": ["services", "geoclue2", "geoProviderUrl"], "readOnly": false, "type": "string"}, "services.geoclue2.package": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "pkgs.geoclue2"}, "description": "The geoclue2 package to use", "loc": ["services", "geoclue2", "package"], "readOnly": false, "type": "package"}, "services.geoclue2.staticAccuracy": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "description": "Accuracy radius in meters to use for the static source.\n", "loc": ["services", "geoclue2", "staticAccuracy"], "readOnly": false, "type": "positive integer or floating point number, meaning >0"}, "services.geoclue2.staticAltitude": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "description": "Altitude in meters to use for the static source.\n", "loc": ["services", "geoclue2", "staticAltitude"], "readOnly": false, "type": "signed integer or floating point number"}, "services.geoclue2.staticLatitude": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "description": "Latitude to use for the static source. Defaults to `location.latitude`.\n", "loc": ["services", "geoclue2", "staticLatitude"], "readOnly": false, "type": "integer or floating point number between -90 and 90 (both inclusive)"}, "services.geoclue2.staticLongitude": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "description": "Longitude to use for the static source. Defaults to `location.longitude`.\n", "loc": ["services", "geoclue2", "staticLongitude"], "readOnly": false, "type": "integer or floating point number between -180 and 180 (both inclusive)"}, "services.geoclue2.submissionNick": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "\"geoclue\""}, "description": "A nickname to submit network data with.\nMust be 2-32 characters long.\n", "loc": ["services", "geoclue2", "submissionNick"], "readOnly": false, "type": "string"}, "services.geoclue2.submissionUrl": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "\"https://api.beacondb.net/v2/geosubmit\""}, "description": "The url to submit data to a GeoLocation Service.\n", "loc": ["services", "geoclue2", "submissionUrl"], "readOnly": false, "type": "string"}, "services.geoclue2.submitData": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to submit data to a GeoLocation Service.\n", "loc": ["services", "geoclue2", "submitData"], "readOnly": false, "type": "boolean"}, "services.geoclue2.whitelistedAgents": {"declarations": ["nixos/modules/services/desktops/geoclue2.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"gnome-shell\"\n  \"io.elementary.desktop.agent-geoclue2\"\n]"}, "description": "Desktop IDs (without the .desktop extension) of whitelisted agents.\n", "loc": ["services", "geoclue2", "whitelistedAgents"], "readOnly": false, "type": "list of string"}, "services.geoipupdate.enable": {"declarations": ["nixos/modules/services/misc/geoipupdate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable periodic downloading of GeoIP databases using geoipupdate\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "geoipupdate", "enable"], "readOnly": false, "type": "boolean"}, "services.geoipupdate.interval": {"declarations": ["nixos/modules/services/misc/geoipupdate.nix"], "default": {"_type": "literalExpression", "text": "\"weekly\""}, "description": "Update the GeoIP databases at this time / interval.\nThe format is described in\n{manpage}`systemd.time(7)`.\n", "loc": ["services", "geoipupdate", "interval"], "readOnly": false, "type": "string"}, "services.geoipupdate.settings": {"declarations": ["nixos/modules/services/misc/geoipupdate.nix"], "description": "geoipupdate configuration options. See\n<https://github.com/maxmind/geoipupdate/blob/main/doc/GeoIP.conf.md>\nfor a full list of available options.\n\nSettings containing secret data should be set to an\nattribute set containing the attribute\n`_secret` - a string pointing to a file\ncontaining the value the option should be set to. See the\nexample to get a better picture of this: in the resulting\n{file}`GeoIP.conf` file, the\n`ProxyUserPassword` key will be set to the\ncontents of the\n{file}`/run/keys/proxy_pass` file.\n", "example": {"_type": "literalExpression", "text": "{\n  AccountID = 200001;\n  DatabaseDirectory = \"/var/lib/GeoIP\";\n  LicenseKey = { _secret = \"/run/keys/maxmind_license_key\"; };\n  Proxy = \"10.0.0.10:8888\";\n  ProxyUserPassword = { _secret = \"/run/keys/proxy_pass\"; };\n}\n"}, "loc": ["services", "geoipupdate", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean or list of (string or signed integer or boolean))"}, "services.geoipupdate.settings.AccountID": {"declarations": ["nixos/modules/services/misc/geoipupdate.nix"], "description": "Your MaxMind account ID.\n", "loc": ["services", "geoipupdate", "settings", "AccountID"], "readOnly": false, "type": "signed integer"}, "services.geoipupdate.settings.DatabaseDirectory": {"declarations": ["nixos/modules/services/misc/geoipupdate.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/GeoIP\""}, "description": "The directory to store the database files in. The\ndirectory will be automatically created, the owner\nchanged to `geoip` and permissions\nset to world readable. This applies if the directory\nalready exists as well, so don't use a directory with\nsensitive contents.\n", "example": {"_type": "literalExpression", "text": "\"/run/GeoIP\""}, "loc": ["services", "geoipupdate", "settings", "DatabaseDirectory"], "readOnly": false, "type": "absolute path"}, "services.geoipupdate.settings.EditionIDs": {"declarations": ["nixos/modules/services/misc/geoipupdate.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of database edition IDs. This includes new string\nIDs like `GeoIP2-City` and old\nnumeric IDs like `106`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"GeoLite2-ASN\"\n  \"GeoLite2-City\"\n  \"GeoLite2-Country\"\n]"}, "loc": ["services", "geoipupdate", "settings", "EditionIDs"], "readOnly": false, "type": "list of (string or signed integer)"}, "services.geoipupdate.settings.LicenseKey": {"declarations": ["nixos/modules/services/misc/geoipupdate.nix"], "description": "A file containing the MaxMind license key.\n\nAlways handled as a secret whether the value is\nwrapped in a `{ _secret = ...; }`\nattrset or not (refer to [](#opt-services.geoipupdate.settings) for\ndetails).\n", "loc": ["services", "geoipupdate", "settings", "LicenseKey"], "readOnly": false, "type": "absolute path or attribute set of absolute path"}, "services.geph.configFile": {"declarations": ["nixos/modules/services/networking/geph.nix"], "description": "Path to the geph config file.\n\nThis file contain sensitive credentials, so it must not live in the Nix store.\n", "loc": ["services", "geph", "configFile"], "readOnly": false, "type": "absolute path not in the Nix store"}, "services.geph.enable": {"declarations": ["nixos/modules/services/networking/geph.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable geph client daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "geph", "enable"], "readOnly": false, "type": "boolean"}, "services.geph.package": {"declarations": ["nixos/modules/services/networking/geph.nix"], "default": {"_type": "literalExpression", "text": "pkgs.geph"}, "description": "The geph package to use.", "loc": ["services", "geph", "package"], "readOnly": false, "type": "package"}, "services.gerbil.environmentFile": {"declarations": ["nixos/modules/services/networking/pangolin.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing sensitive environment variables for Gerbil. See the [Gerbil Documentation](https://docs.fossorial.io/Pangolin/Configuration/config) for more information.\nThese will overwrite anything defined in the config.\n", "example": {"_type": "literalExpression", "text": "\"/etc/nixos/secrets/gerbil.env\""}, "loc": ["services", "gerbil", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.gerbil.port": {"declarations": ["nixos/modules/services/networking/pangolin.nix"], "default": {"_type": "literalExpression", "text": "3004"}, "description": "Specifies the port to listen on for Gerbil.\n", "loc": ["services", "gerbil", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.geth": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more geth instances.", "loc": ["services", "geth"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.geth.<name>.authrpc.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address of Go Ethereum Auth RPC API.", "loc": ["services", "geth", "<name>", "authrpc", "address"], "readOnly": false, "type": "string"}, "services.geth.<name>.authrpc.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Go Ethereum Auth RPC API.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "geth", "<name>", "authrpc", "enable"], "readOnly": false, "type": "boolean"}, "services.geth.<name>.authrpc.jwtsecret": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Path to a JWT secret for authenticated RPC endpoint.", "example": {"_type": "literalExpression", "text": "\"/var/run/geth/jwtsecret\""}, "loc": ["services", "geth", "<name>", "authrpc", "jwtsecret"], "readOnly": false, "type": "string"}, "services.geth.<name>.authrpc.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "8551"}, "description": "Port number of Go Ethereum Auth RPC API.", "loc": ["services", "geth", "<name>", "authrpc", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.geth.<name>.authrpc.vhosts": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"localhost\"\n]"}, "description": "List of virtual hostnames from which to accept requests.", "example": {"_type": "literalExpression", "text": "[\n  \"localhost\"\n  \"geth.example.org\"\n]"}, "loc": ["services", "geth", "<name>", "authrpc", "vhosts"], "readOnly": false, "type": "null or (list of string)"}, "services.geth.<name>.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Go Ethereum Node.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "geth", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.geth.<name>.extraArgs": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments passed to Go Ethereum.", "loc": ["services", "geth", "<name>", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.geth.<name>.gcmode": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "\"full\""}, "description": "Blockchain garbage collection mode.", "loc": ["services", "geth", "<name>", "gcmode"], "readOnly": false, "type": "one of \"full\", \"archive\""}, "services.geth.<name>.http.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address of Go Ethereum HTTP API.", "loc": ["services", "geth", "<name>", "http", "address"], "readOnly": false, "type": "string"}, "services.geth.<name>.http.apis": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "APIs to enable over WebSocket", "example": {"_type": "literalExpression", "text": "[\n  \"net\"\n  \"eth\"\n]"}, "loc": ["services", "geth", "<name>", "http", "apis"], "readOnly": false, "type": "null or (list of string)"}, "services.geth.<name>.http.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Go Ethereum HTTP API.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "geth", "<name>", "http", "enable"], "readOnly": false, "type": "boolean"}, "services.geth.<name>.http.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "8545"}, "description": "Port number of Go Ethereum HTTP API.", "loc": ["services", "geth", "<name>", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.geth.<name>.maxpeers": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "50"}, "description": "Maximum peers to connect to.", "loc": ["services", "geth", "<name>", "maxpeers"], "readOnly": false, "type": "signed integer"}, "services.geth.<name>.metrics.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address of Go Ethereum metrics service.", "loc": ["services", "geth", "<name>", "metrics", "address"], "readOnly": false, "type": "string"}, "services.geth.<name>.metrics.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Go Ethereum prometheus metrics.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "geth", "<name>", "metrics", "enable"], "readOnly": false, "type": "boolean"}, "services.geth.<name>.metrics.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "6060"}, "description": "Port number of Go Ethereum metrics service.", "loc": ["services", "geth", "<name>", "metrics", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.geth.<name>.network": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The network to connect to. Mainnet (null) is the default ethereum network.", "loc": ["services", "geth", "<name>", "network"], "readOnly": false, "type": "null or one of \"holesky\", \"sepolia\""}, "services.geth.<name>.package": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "pkgs.go-ethereum.geth"}, "description": "The geth package to use.", "loc": ["services", "geth", "<name>", "package"], "readOnly": false, "type": "package"}, "services.geth.<name>.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "30303"}, "description": "Port number Go Ethereum will be listening on, both TCP and UDP.", "loc": ["services", "geth", "<name>", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.geth.<name>.syncmode": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "\"snap\""}, "description": "Blockchain sync mode.", "loc": ["services", "geth", "<name>", "syncmode"], "readOnly": false, "type": "one of \"snap\", \"fast\", \"full\", \"light\""}, "services.geth.<name>.websocket.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address of Go Ethereum WebSocket API.", "loc": ["services", "geth", "<name>", "websocket", "address"], "readOnly": false, "type": "string"}, "services.geth.<name>.websocket.apis": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "APIs to enable over WebSocket", "example": {"_type": "literalExpression", "text": "[\n  \"net\"\n  \"eth\"\n]"}, "loc": ["services", "geth", "<name>", "websocket", "apis"], "readOnly": false, "type": "null or (list of string)"}, "services.geth.<name>.websocket.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Go Ethereum WebSocket API.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "geth", "<name>", "websocket", "enable"], "readOnly": false, "type": "boolean"}, "services.geth.<name>.websocket.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/geth.nix"], "default": {"_type": "literalExpression", "text": "8546"}, "description": "Port number of Go Ethereum WebSocket API.", "loc": ["services", "geth", "<name>", "websocket", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.getty.autologinOnce": {"declarations": ["nixos/modules/services/ttys/getty.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled the automatic login will only happen in the first tty\nonce per boot. This can be useful to avoid retyping the account\npassword on systems with full disk encrypted.\n", "loc": ["services", "getty", "autologinOnce"], "readOnly": false, "type": "boolean"}, "services.getty.autologinUser": {"declarations": ["nixos/modules/services/ttys/getty.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username of the account that will be automatically logged in at the console.\nIf unspecified, a login prompt is shown as usual.\n", "loc": ["services", "getty", "autologinUser"], "readOnly": false, "type": "null or string"}, "services.getty.extraArgs": {"declarations": ["nixos/modules/services/ttys/getty.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional arguments passed to agetty.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--nohostname\"\n]"}, "loc": ["services", "getty", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.getty.greetingLine": {"declarations": ["nixos/modules/services/ttys/getty.nix"], "description": "Welcome line printed by agetty.\nThe default shows current NixOS version label, machine type and tty.\n", "loc": ["services", "getty", "greetingLine"], "readOnly": false, "type": "string"}, "services.getty.helpLine": {"declarations": ["nixos/modules/services/ttys/getty.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Help line printed by agetty below the welcome line.\nUsed by the installation CD to give some hints on\nhow to proceed.\n", "loc": ["services", "getty", "helpLine"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.getty.loginOptions": {"declarations": ["nixos/modules/services/ttys/getty.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Template for arguments to be passed to\n{manpage}`login(1)`.\n\nSee {manpage}`agetty(1)` for details,\nincluding security considerations.  If unspecified, agetty\nwill not be invoked with a {option}`--login-options`\noption.\n", "example": {"_type": "literalExpression", "text": "\"-h darkstar -- \\\\u\""}, "loc": ["services", "getty", "loginOptions"], "readOnly": false, "type": "null or string"}, "services.getty.loginProgram": {"declarations": ["nixos/modules/services/ttys/getty.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.shadow}/bin/login\""}, "description": "Path to the login binary executed by agetty.\n", "loc": ["services", "getty", "loginProgram"], "readOnly": false, "type": "absolute path"}, "services.ghostunnel.enable": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ghostunnel.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ghostunnel", "enable"], "readOnly": false, "type": "boolean"}, "services.ghostunnel.package": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ghostunnel"}, "description": "The ghostunnel package to use.", "loc": ["services", "ghostunnel", "package"], "readOnly": false, "type": "package"}, "services.ghostunnel.servers": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Server mode ghostunnels (TLS listener -> plain TCP/UNIX target)\n", "loc": ["services", "ghostunnel", "servers"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.ghostunnel.servers.<name>.allowAll": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, allow all clients, do not check client cert subject.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "allowAll"], "readOnly": false, "type": "boolean"}, "services.ghostunnel.servers.<name>.allowCN": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Allow client if common name appears in the list.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "allowCN"], "readOnly": false, "type": "list of string"}, "services.ghostunnel.servers.<name>.allowDNS": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Allow client if DNS subject alternative name appears in the list.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "allowDNS"], "readOnly": false, "type": "list of string"}, "services.ghostunnel.servers.<name>.allowOU": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Allow client if organizational unit name appears in the list.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "allowOU"], "readOnly": false, "type": "list of string"}, "services.ghostunnel.servers.<name>.allowURI": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Allow client if URI subject alternative name appears in the list.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "allowURI"], "readOnly": false, "type": "list of string"}, "services.ghostunnel.servers.<name>.cacert": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to CA bundle file (PEM/X509). Uses system trust store if `null`.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "cacert"], "readOnly": false, "type": "null or string"}, "services.ghostunnel.servers.<name>.cert": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to certificate (PEM with certificate chain).\n\nNot required if `keystore` is set.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "cert"], "readOnly": false, "type": "null or string"}, "services.ghostunnel.servers.<name>.disableAuthentication": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable client authentication, no client certificate will be required.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "disableAuthentication"], "readOnly": false, "type": "boolean"}, "services.ghostunnel.servers.<name>.extraArguments": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra arguments to pass to `ghostunnel server`", "loc": ["services", "ghostunnel", "servers", "<name>", "extraArguments"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.ghostunnel.servers.<name>.key": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to certificate private key (PEM with private key).\n\nNot required if `keystore` is set.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "key"], "readOnly": false, "type": "null or string"}, "services.ghostunnel.servers.<name>.keystore": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to keystore (combined PEM with cert/key, or PKCS12 keystore).\n\nNB: storepass is not supported because it would expose credentials via `/proc/*/cmdline`.\n\nSpecify this or `cert` and `key`.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "keystore"], "readOnly": false, "type": "null or string"}, "services.ghostunnel.servers.<name>.listen": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "description": "Address and port to listen on (can be HOST:PORT, unix:PATH).\n", "loc": ["services", "ghostunnel", "servers", "<name>", "listen"], "readOnly": false, "type": "string"}, "services.ghostunnel.servers.<name>.target": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "description": "Address to forward connections to (can be HOST:PORT or unix:PATH).\n", "loc": ["services", "ghostunnel", "servers", "<name>", "target"], "readOnly": false, "type": "string"}, "services.ghostunnel.servers.<name>.unsafeTarget": {"declarations": ["nixos/modules/services/networking/ghostunnel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, does not limit target to localhost, 127.0.0.1, [::1], or UNIX sockets.\n\nThis is meant to protect against accidental unencrypted traffic on\nuntrusted networks.\n", "loc": ["services", "ghostunnel", "servers", "<name>", "unsafeTarget"], "readOnly": false, "type": "boolean"}, "services.gitDaemon.basePath": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Remap all the path requests as relative to the given path. For example,\nif you set base-path to /srv/git, then if you later try to pull\ngit://example.com/hello.git, Git daemon will interpret the path as /srv/git/hello.git.\n", "example": {"_type": "literalExpression", "text": "\"/srv/git/\""}, "loc": ["services", "gitDaemon", "basePath"], "readOnly": false, "type": "string"}, "services.gitDaemon.enable": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Git daemon, which allows public hosting of git repositories\nwithout any access controls. This is mostly intended for read-only access.\n\nYou can allow write access by setting daemon.receivepack configuration\nitem of the repository to true. This is solely meant for a closed LAN setting\nwhere everybody is friendly.\n\nIf you need any access controls, use something else.\n", "loc": ["services", "gitDaemon", "enable"], "readOnly": false, "type": "boolean"}, "services.gitDaemon.exportAll": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Publish all directories that look like Git repositories (have the objects\nand refs subdirectories), even if they do not have the git-daemon-export-ok file.\n\nIf disabled, you need to touch .git/git-daemon-export-ok in each repository\nyou want the daemon to publish.\n\nWarning: enabling this without a repository whitelist or basePath\npublishes every git repository you have.\n", "loc": ["services", "gitDaemon", "exportAll"], "readOnly": false, "type": "boolean"}, "services.gitDaemon.group": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"git\""}, "description": "Group under which Git daemon would be running.", "loc": ["services", "gitDaemon", "group"], "readOnly": false, "type": "string"}, "services.gitDaemon.listenAddress": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Listen on a specific IP address or hostname.", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "gitDaemon", "listenAddress"], "readOnly": false, "type": "string"}, "services.gitDaemon.options": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration options to be passed to Git daemon.", "loc": ["services", "gitDaemon", "options"], "readOnly": false, "type": "string"}, "services.gitDaemon.package": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.git"}, "description": "The git package to use.", "loc": ["services", "gitDaemon", "package"], "readOnly": false, "type": "package"}, "services.gitDaemon.port": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "9418"}, "description": "Port to listen on.", "loc": ["services", "gitDaemon", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitDaemon.repositories": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A whitelist of paths of git repositories, or directories containing repositories\nall of which would be published. Paths must not end in \"/\".\n\nWarning: leaving this empty and enabling exportAll publishes all\nrepositories in your filesystem or basePath if specified.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/srv/git\"\n  \"/home/user/git/repo2\"\n]"}, "loc": ["services", "gitDaemon", "repositories"], "readOnly": false, "type": "list of string"}, "services.gitDaemon.user": {"declarations": ["nixos/modules/services/networking/git-daemon.nix"], "default": {"_type": "literalExpression", "text": "\"git\""}, "description": "User under which Git daemon would be running.", "loc": ["services", "gitDaemon", "user"], "readOnly": false, "type": "string"}, "services.gitea-actions-runner.instances": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Gitea Actions Runner instances.\n", "loc": ["services", "gitea-actions-runner", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.gitea-actions-runner.instances.<name>.enable": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gitea Actions Runner instance.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gitea-actions-runner", "instances", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.gitea-actions-runner.instances.<name>.hostPackages": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "with pkgs; [\n  bash\n  coreutils\n  curl\n  gawk\n  gitMinimal\n  gnused\n  nodejs\n  wget\n]\n"}, "description": "List of packages, that are available to actions, when the runner is configured\nwith a host execution label.\n", "loc": ["services", "gitea-actions-runner", "instances", "<name>", "hostPackages"], "readOnly": false, "type": "list of package"}, "services.gitea-actions-runner.instances.<name>.labels": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Labels used to map jobs to their runtime environment. Changing these\nlabels currently requires a new registration token.\n\nMany common actions require bash, git and nodejs, as well as a filesystem\nthat follows the filesystem hierarchy standard.\n", "example": {"_type": "literalExpression", "text": "[\n  # provide a debian base with nodejs for actions\n  \"debian-latest:docker://node:18-bullseye\"\n  # fake the ubuntu name, because node provides no ubuntu builds\n  \"ubuntu-latest:docker://node:18-bullseye\"\n  # provide native execution on the host\n  #\"native:host\"\n]\n"}, "loc": ["services", "gitea-actions-runner", "instances", "<name>", "labels"], "readOnly": false, "type": "list of string"}, "services.gitea-actions-runner.instances.<name>.name": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "description": "The name identifying the runner instance towards the Gitea/Forgejo instance.\n", "example": {"_type": "literalExpression", "text": "config.networking.hostName"}, "loc": ["services", "gitea-actions-runner", "instances", "<name>", "name"], "readOnly": false, "type": "string"}, "services.gitea-actions-runner.instances.<name>.settings": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for gitea-runner daemon.\nSee <https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml> for an example configuration\n", "loc": ["services", "gitea-actions-runner", "instances", "<name>", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.gitea-actions-runner.instances.<name>.token": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Plain token to register at the configured Gitea/Forgejo instance.\n", "loc": ["services", "gitea-actions-runner", "instances", "<name>", "token"], "readOnly": false, "type": "null or string"}, "services.gitea-actions-runner.instances.<name>.tokenFile": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to an environment file, containing the `TOKEN` environment\nvariable, that holds a token to register at the configured\nGitea/Forgejo instance.\n", "loc": ["services", "gitea-actions-runner", "instances", "<name>", "tokenFile"], "readOnly": false, "type": "null or string or absolute path"}, "services.gitea-actions-runner.instances.<name>.url": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "description": "Base URL of your Gitea/Forgejo instance.\n", "example": {"_type": "literalExpression", "text": "\"https://forge.example.com\""}, "loc": ["services", "gitea-actions-runner", "instances", "<name>", "url"], "readOnly": false, "type": "string"}, "services.gitea-actions-runner.package": {"declarations": ["nixos/modules/services/continuous-integration/gitea-actions-runner.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitea-actions-runner"}, "description": "The gitea-actions-runner package to use.", "loc": ["services", "gitea-actions-runner", "package"], "readOnly": false, "type": "package"}, "services.gitea.appName": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"gitea: Gitea Service\""}, "description": "Application name.", "loc": ["services", "gitea", "appName"], "readOnly": false, "type": "string"}, "services.gitea.camoHmacKeyFile": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the camo HMAC key.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/gitea/camoHmacKey\""}, "loc": ["services", "gitea", "camoHmacKeyFile"], "readOnly": false, "type": "null or string"}, "services.gitea.captcha.enable": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables Gitea to display a CAPTCHA challenge on registration.\n", "loc": ["services", "gitea", "captcha", "enable"], "readOnly": false, "type": "boolean"}, "services.gitea.captcha.requireForExternalRegistration": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Displays a CAPTCHA challenge for users that register externally.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gitea", "captcha", "requireForExternalRegistration"], "readOnly": false, "type": "boolean"}, "services.gitea.captcha.requireForLogin": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Displays a CAPTCHA challenge whenever a user logs in.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gitea", "captcha", "requireForLogin"], "readOnly": false, "type": "boolean"}, "services.gitea.captcha.secretFile": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the CAPTCHA secret key.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/gitea/captcha_secret\""}, "loc": ["services", "gitea", "captcha", "secretFile"], "readOnly": false, "type": "null or string"}, "services.gitea.captcha.siteKey": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "CAPTCHA site key to use for Gitea.", "example": {"_type": "literalExpression", "text": "\"my_site_key\""}, "loc": ["services", "gitea", "captcha", "siteKey"], "readOnly": false, "type": "null or string"}, "services.gitea.captcha.type": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"image\""}, "description": "The type of CAPTCHA to use for Gitea.", "example": {"_type": "literalExpression", "text": "\"recaptcha\""}, "loc": ["services", "gitea", "captcha", "type"], "readOnly": false, "type": "one of \"image\", \"recaptcha\", \"hcaptcha\", \"mcaptcha\", \"cfturnstile\""}, "services.gitea.captcha.url": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "CAPTCHA url to use for Gitea. Only relevant for `recaptcha` and `mcaptcha`.", "example": {"_type": "literalExpression", "text": "\"https://google.com/recaptcha\""}, "loc": ["services", "gitea", "captcha", "url"], "readOnly": false, "type": "null or string"}, "services.gitea.customDir": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.gitea.stateDir}/custom\""}, "description": "Gitea custom directory. Used for config, custom templates and other options.", "loc": ["services", "gitea", "customDir"], "readOnly": false, "type": "string"}, "services.gitea.database.createDatabase": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to create a local database automatically.", "loc": ["services", "gitea", "database", "createDatabase"], "readOnly": false, "type": "boolean"}, "services.gitea.database.host": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Database host address.", "loc": ["services", "gitea", "database", "host"], "readOnly": false, "type": "string"}, "services.gitea.database.name": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"gitea\""}, "description": "Database name.", "loc": ["services", "gitea", "database", "name"], "readOnly": false, "type": "string"}, "services.gitea.database.password": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The password corresponding to {option}`database.user`.\nWarning: this is stored in cleartext in the Nix store!\nUse {option}`database.passwordFile` instead.\n", "loc": ["services", "gitea", "database", "password"], "readOnly": false, "type": "string"}, "services.gitea.database.passwordFile": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/gitea-dbpassword\""}, "loc": ["services", "gitea", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitea.database.path": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.gitea.stateDir}/data/gitea.db\""}, "description": "Path to the sqlite3 database file.", "loc": ["services", "gitea", "database", "path"], "readOnly": false, "type": "string"}, "services.gitea.database.port": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "if config.services.gitea.database.type != \"postgresql\"\nthen 3306\nelse 5432\n"}, "description": "Database host port.", "loc": ["services", "gitea", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitea.database.socket": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the unix socket file to use for authentication.", "example": {"_type": "literalExpression", "text": "\"/run/mysqld/mysqld.sock\""}, "loc": ["services", "gitea", "database", "socket"], "readOnly": false, "type": "null or absolute path"}, "services.gitea.database.type": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite3\""}, "description": "Database engine to use.", "example": {"_type": "literalExpression", "text": "\"mysql\""}, "loc": ["services", "gitea", "database", "type"], "readOnly": false, "type": "one of \"sqlite3\", \"mysql\", \"postgres\""}, "services.gitea.database.user": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"gitea\""}, "description": "Database user.", "loc": ["services", "gitea", "database", "user"], "readOnly": false, "type": "string"}, "services.gitea.dump.backupDir": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.gitea.stateDir}/dump\""}, "description": "Path to the dump files.", "loc": ["services", "gitea", "dump", "backupDir"], "readOnly": false, "type": "string"}, "services.gitea.dump.enable": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable a timer that runs gitea dump to generate backup-files of the\ncurrent gitea database and repositories.\n", "loc": ["services", "gitea", "dump", "enable"], "readOnly": false, "type": "boolean"}, "services.gitea.dump.file": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Filename to be used for the dump. If `null` a default name is chosen by gitea.", "example": {"_type": "literalExpression", "text": "\"gitea-dump\""}, "loc": ["services", "gitea", "dump", "file"], "readOnly": false, "type": "null or string"}, "services.gitea.dump.interval": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"04:31\""}, "description": "Run a gitea dump at this interval. Runs by default at 04:31 every day.\n\nThe format is described in\n{manpage}`systemd.time(7)`.\n", "example": {"_type": "literalExpression", "text": "\"hourly\""}, "loc": ["services", "gitea", "dump", "interval"], "readOnly": false, "type": "string"}, "services.gitea.dump.type": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"zip\""}, "description": "Archive format used to store the dump file.", "loc": ["services", "gitea", "dump", "type"], "readOnly": false, "type": "one of \"zip\", \"rar\", \"tar\", \"sz\", \"tar.gz\", \"tar.xz\", \"tar.bz2\", \"tar.br\", \"tar.lz4\", \"tar.zst\""}, "services.gitea.enable": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Gitea Service.", "loc": ["services", "gitea", "enable"], "readOnly": false, "type": "boolean"}, "services.gitea.extraConfig": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration lines appended to the generated gitea configuration file.", "loc": ["services", "gitea", "extraConfig"], "readOnly": false, "type": "null or string"}, "services.gitea.group": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"gitea\""}, "description": "Group under which gitea runs.", "loc": ["services", "gitea", "group"], "readOnly": false, "type": "string"}, "services.gitea.lfs.contentDir": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.gitea.stateDir}/data/lfs\""}, "description": "Where to store LFS files.", "loc": ["services", "gitea", "lfs", "contentDir"], "readOnly": false, "type": "string"}, "services.gitea.lfs.enable": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables git-lfs support.", "loc": ["services", "gitea", "lfs", "enable"], "readOnly": false, "type": "boolean"}, "services.gitea.mailerPasswordFile": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the SMTP password.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/gitea/mailpw\""}, "loc": ["services", "gitea", "mailerPasswordFile"], "readOnly": false, "type": "null or string"}, "services.gitea.metricsTokenFile": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the metrics authentication token.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/gitea/metrics_token\""}, "loc": ["services", "gitea", "metricsTokenFile"], "readOnly": false, "type": "null or string"}, "services.gitea.minioAccessKeyId": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the Minio access key id.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/gitea/minio_access_key_id\""}, "loc": ["services", "gitea", "minioAccessKeyId"], "readOnly": false, "type": "null or string"}, "services.gitea.minioSecretAccessKey": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the Minio secret access key.", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/gitea/minio_secret_access_key\""}, "loc": ["services", "gitea", "minioSecretAccessKey"], "readOnly": false, "type": "null or string"}, "services.gitea.package": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitea"}, "description": "The gitea package to use.", "loc": ["services", "gitea", "package"], "readOnly": false, "type": "package"}, "services.gitea.repositoryRoot": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.gitea.stateDir}/repositories\""}, "description": "Path to the git repositories.", "loc": ["services", "gitea", "repositoryRoot"], "readOnly": false, "type": "string"}, "services.gitea.settings": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Gitea configuration. Refer to <https://docs.gitea.io/en-us/config-cheat-sheet/>\nfor details on supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  \"cron.sync_external_users\" = {\n    RUN_AT_START = true;\n    SCHEDULE = \"@every 24h\";\n    UPDATE_EXISTING = true;\n  };\n  mailer = {\n    ENABLED = true;\n    PROTOCOL = \"smtp+starttls\";\n    SMTP_ADDR = \"smtp.example.org\";\n    SMTP_PORT = \"587\";\n    FROM = \"Gitea Service <do-not-reply@example.org>\";\n    USER = \"do-not-reply@example.org\";\n  };\n  other = {\n    SHOW_FOOTER_VERSION = false;\n  };\n}\n"}, "loc": ["services", "gitea", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.gitea.settings.log.LEVEL": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"Info\""}, "description": "General log level.", "loc": ["services", "gitea", "settings", "log", "LEVEL"], "readOnly": false, "type": "one of \"Trace\", \"Debug\", \"Info\", \"Warn\", \"Error\", \"Critical\""}, "services.gitea.settings.log.ROOT_PATH": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.gitea.stateDir}/log\""}, "description": "Root path for log files.", "loc": ["services", "gitea", "settings", "log", "ROOT_PATH"], "readOnly": false, "type": "string"}, "services.gitea.settings.mailer.ENABLED": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use an email service to send notifications.", "loc": ["services", "gitea", "settings", "mailer", "ENABLED"], "readOnly": false, "type": "boolean"}, "services.gitea.settings.mailer.PROTOCOL": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Which mail server protocol to use.", "loc": ["services", "gitea", "settings", "mailer", "PROTOCOL"], "readOnly": false, "type": "one of <null>, \"smtp\", \"smtps\", \"smtp+starttls\", \"smtp+unix\", \"sendmail\", \"dummy\""}, "services.gitea.settings.mailer.SENDMAIL_PATH": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "if config.services.gitea.settings.mailer.ENABLED && config.services.gitea.settings.mailer.PROTOCOL == \"sendmail\" then \"/run/wrappers/bin/sendmail\" else \"sendmail\""}, "description": "Path to sendmail binary or script.", "loc": ["services", "gitea", "settings", "mailer", "SENDMAIL_PATH"], "readOnly": false, "type": "string"}, "services.gitea.settings.server.DISABLE_SSH": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable external SSH feature.", "loc": ["services", "gitea", "settings", "server", "DISABLE_SSH"], "readOnly": false, "type": "boolean"}, "services.gitea.settings.server.DOMAIN": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Domain name of your server.", "loc": ["services", "gitea", "settings", "server", "DOMAIN"], "readOnly": false, "type": "string"}, "services.gitea.settings.server.HTTP_ADDR": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "if lib.hasSuffix \"+unix\" cfg.settings.server.PROTOCOL then \"/run/gitea/gitea.sock\" else \"0.0.0.0\""}, "description": "Listen address. Must be a path when using a unix socket.", "loc": ["services", "gitea", "settings", "server", "HTTP_ADDR"], "readOnly": false, "type": "string or absolute path"}, "services.gitea.settings.server.HTTP_PORT": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Listen port. Ignored when using a unix socket.", "loc": ["services", "gitea", "settings", "server", "HTTP_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitea.settings.server.PROTOCOL": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"http\""}, "description": "Listen protocol. `+unix` means \"over unix\", not \"in addition to.\"", "loc": ["services", "gitea", "settings", "server", "PROTOCOL"], "readOnly": false, "type": "one of \"http\", \"https\", \"fcgi\", \"http+unix\", \"fcgi+unix\""}, "services.gitea.settings.server.ROOT_URL": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"http://${config.services.gitea.settings.server.DOMAIN}:${toString config.services.gitea.settings.server.HTTP_PORT}/\""}, "description": "Full public URL of gitea server.", "loc": ["services", "gitea", "settings", "server", "ROOT_URL"], "readOnly": false, "type": "string"}, "services.gitea.settings.server.SSH_PORT": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "22"}, "description": "SSH port displayed in clone URL.\nThe option is required to configure a service when the external visible port\ndiffers from the local listening port i.e. if port forwarding is used.\n", "example": {"_type": "literalExpression", "text": "2222"}, "loc": ["services", "gitea", "settings", "server", "SSH_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitea.settings.server.STATIC_ROOT_PATH": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "config.services.gitea.package.data"}, "description": "Upper level of template and static files path.", "example": {"_type": "literalExpression", "text": "\"/var/lib/gitea/data\""}, "loc": ["services", "gitea", "settings", "server", "STATIC_ROOT_PATH"], "readOnly": false, "type": "string or absolute path"}, "services.gitea.settings.service.DISABLE_REGISTRATION": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "By default any user can create an account on this `gitea` instance.\nThis can be disabled by using this option.\n\n*Note:* please keep in mind that this should be added after the initial\ndeploy as the first registered user will be the administrator.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gitea", "settings", "service", "DISABLE_REGISTRATION"], "readOnly": false, "type": "boolean"}, "services.gitea.settings.session.COOKIE_SECURE": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Marks session cookies as \"secure\" as a hint for browsers to only send\nthem via HTTPS. This option is recommend, if gitea is being served over HTTPS.\n", "loc": ["services", "gitea", "settings", "session", "COOKIE_SECURE"], "readOnly": false, "type": "boolean"}, "services.gitea.stateDir": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/gitea\""}, "description": "Gitea data directory.", "loc": ["services", "gitea", "stateDir"], "readOnly": false, "type": "string"}, "services.gitea.user": {"declarations": ["nixos/modules/services/misc/gitea.nix"], "default": {"_type": "literalExpression", "text": "\"gitea\""}, "description": "User account under which gitea runs.", "loc": ["services", "gitea", "user"], "readOnly": false, "type": "string"}, "services.gitlab-runner.clear-docker-cache.dates": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "\"weekly\""}, "description": "Specification (in the format described by\n{manpage}`systemd.time(7)`) of the time at\nwhich the prune will occur.\n", "loc": ["services", "gitlab-runner", "clear-docker-cache", "dates"], "readOnly": false, "type": "string"}, "services.gitlab-runner.clear-docker-cache.enable": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to periodically prune gitlab runner's Docker resources. If\nenabled, a systemd timer will run {command}`clear-docker-cache` as\nspecified by the `dates` option.\n", "loc": ["services", "gitlab-runner", "clear-docker-cache", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.clear-docker-cache.flags": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Any additional flags passed to {command}`clear-docker-cache`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"prune\"\n]"}, "loc": ["services", "gitlab-runner", "clear-docker-cache", "flags"], "readOnly": false, "type": "list of string"}, "services.gitlab-runner.clear-docker-cache.package": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "config.virtualisation.docker.package"}, "description": "Docker package to use for clearing up docker cache.", "example": {"_type": "literalExpression", "text": "pkgs.docker"}, "loc": ["services", "gitlab-runner", "clear-docker-cache", "package"], "readOnly": false, "type": "unspecified value"}, "services.gitlab-runner.configFile": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration file for gitlab-runner.\n\n{option}`configFile` takes precedence over {option}`services`.\n{option}`checkInterval` and {option}`concurrent` will be ignored too.\n\nThis option is deprecated, please use {option}`services` instead.\nYou can use {option}`registrationConfigFile` and\n{option}`registrationFlags`\nfor settings not covered by this module.\n", "loc": ["services", "gitlab-runner", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab-runner.enable": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gitlab Runner.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gitlab-runner", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.extraPackages": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages to add to `PATH` for the `gitlab-runner` process.\nThese packages won't be added to the system, use `environment.systemPackages` for that.\n", "loc": ["services", "gitlab-runner", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.gitlab-runner.gracefulTermination": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Finish all remaining jobs before stopping.\nIf not set gitlab-runner will stop immediately without waiting\nfor jobs to finish, which will lead to failed builds.\n", "loc": ["services", "gitlab-runner", "gracefulTermination"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.gracefulTimeout": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "\"infinity\""}, "description": "Time to wait until a graceful shutdown is turned into a forceful one.\n", "example": {"_type": "literalExpression", "text": "\"5min 20s\""}, "loc": ["services", "gitlab-runner", "gracefulTimeout"], "readOnly": false, "type": "string"}, "services.gitlab-runner.package": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitlab-runner"}, "description": "The gitlab-runner package to use.", "example": {"_type": "literalExpression", "text": "gitlab-runner_1_11"}, "loc": ["services", "gitlab-runner", "package"], "readOnly": false, "type": "package"}, "services.gitlab-runner.services": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "GitLab Runner services.", "example": {"_type": "literalExpression", "text": "{\n  # runner for building in docker via host's nix-daemon\n  # nix store will be readable in runner, might be insecure\n  nix = {\n    # File should contain at least these two variables:\n    # - `CI_SERVER_URL`\n    # - `REGISTRATION_TOKEN`\n    #\n    # NOTE: Support for runner registration tokens will be removed in GitLab 18.0.\n    # Please migrate to runner authentication tokens soon. For reference, the example\n    # runners below this one are configured with authentication tokens instead.\n    registrationConfigFile = \"/run/secrets/gitlab-runner-registration\";\n\n    dockerImage = \"alpine\";\n    dockerVolumes = [\n      \"/nix/store:/nix/store:ro\"\n      \"/nix/var/nix/db:/nix/var/nix/db:ro\"\n      \"/nix/var/nix/daemon-socket:/nix/var/nix/daemon-socket:ro\"\n    ];\n    dockerDisableCache = true;\n    preBuildScript = pkgs.writeScript \"setup-container\" ''\n      mkdir -p -m 0755 /nix/var/log/nix/drvs\n      mkdir -p -m 0755 /nix/var/nix/gcroots\n      mkdir -p -m 0755 /nix/var/nix/profiles\n      mkdir -p -m 0755 /nix/var/nix/temproots\n      mkdir -p -m 0755 /nix/var/nix/userpool\n      mkdir -p -m 1777 /nix/var/nix/gcroots/per-user\n      mkdir -p -m 1777 /nix/var/nix/profiles/per-user\n      mkdir -p -m 0755 /nix/var/nix/profiles/per-user/root\n      mkdir -p -m 0700 \"$HOME/.nix-defexpr\"\n\n      . ${pkgs.nix}/etc/profile.d/nix.sh\n\n      ${pkgs.nix}/bin/nix-env -i ${concatStringsSep \" \" (with pkgs; [ nix cacert git openssh ])}\n\n      ${pkgs.nix}/bin/nix-channel --add https://channels.nixos.org/nixpkgs-unstable\n      ${pkgs.nix}/bin/nix-channel --update nixpkgs\n    '';\n    environmentVariables = {\n      ENV = \"/etc/profile\";\n      USER = \"root\";\n      NIX_REMOTE = \"daemon\";\n      PATH = \"/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin\";\n      NIX_SSL_CERT_FILE = \"/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt\";\n    };\n    tagList = [ \"nix\" ];\n  };\n  # runner for building docker images\n  docker-images = {\n    # File should contain at least these two variables:\n    # `CI_SERVER_URL`\n    # `CI_SERVER_TOKEN`\n    authenticationTokenConfigFile = \"/run/secrets/gitlab-runner-docker-images-token-env\";\n\n    dockerImage = \"docker:stable\";\n    dockerVolumes = [\n      \"/var/run/docker.sock:/var/run/docker.sock\"\n    ];\n    tagList = [ \"docker-images\" ];\n  };\n  # runner for executing stuff on host system (very insecure!)\n  # make sure to add required packages (including git!)\n  # to `environment.systemPackages`\n  shell = {\n    # File should contain at least these two variables:\n    # `CI_SERVER_URL`\n    # `CI_SERVER_TOKEN`\n    authenticationTokenConfigFile = \"/run/secrets/gitlab-runner-shell-token-env\";\n\n    executor = \"shell\";\n    tagList = [ \"shell\" ];\n  };\n  # runner for everything else\n  default = {\n    # File should contain at least these two variables:\n    # `CI_SERVER_URL`\n    # `CI_SERVER_TOKEN`\n    authenticationTokenConfigFile = \"/run/secrets/gitlab-runner-default-token-env\";\n    dockerImage = \"debian:stable\";\n  };\n}\n"}, "loc": ["services", "gitlab-runner", "services"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.gitlab-runner.services.<name>.authenticationTokenConfigFile": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Absolute path to a file containing environment variables used for\ngitlab-runner registrations with *runner authentication tokens*.\nThey replace the deprecated *runner registration tokens*, as\noutlined in the [GitLab documentation].\n\nA list of all supported environment variables can be found with\n`gitlab-runner register --help`.\n\nThe ones you probably want to set are:\n- `CI_SERVER_URL=<CI server URL>`\n- `CI_SERVER_TOKEN=<runner authentication token secret>`\n\n::: {.warning}\nMake sure to use a quoted absolute path,\nor it is going to be copied to Nix Store.\n:::\n\n[GitLab documentation]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes\n", "loc": ["services", "gitlab-runner", "services", "<name>", "authenticationTokenConfigFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab-runner.services.<name>.buildsDir": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Absolute path to a directory where builds will be stored\nin context of selected executor (Locally, Docker, SSH).\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/gitlab-runner/builds\""}, "loc": ["services", "gitlab-runner", "services", "<name>", "buildsDir"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab-runner.services.<name>.cloneUrl": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Overwrite the URL for the GitLab instance. Used if the Runner can\u2019t connect to GitLab on the URL GitLab exposes itself.\n", "example": {"_type": "literalExpression", "text": "\"http://gitlab.example.local\""}, "loc": ["services", "gitlab-runner", "services", "<name>", "cloneUrl"], "readOnly": false, "type": "null or string"}, "services.gitlab-runner.services.<name>.debugTraceDisabled": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When set to true Runner will disable the possibility of\nusing the `CI_DEBUG_TRACE` feature.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "debugTraceDisabled"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.services.<name>.description": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name/description of the runner.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "description"], "readOnly": false, "type": "null or string"}, "services.gitlab-runner.services.<name>.dockerAllowedImages": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Whitelist allowed images.\n", "example": {"_type": "literalExpression", "text": "[\n  \"ruby:*\"\n  \"python:*\"\n  \"php:*\"\n  \"my.registry.tld:5000/*:*\"\n]"}, "loc": ["services", "gitlab-runner", "services", "<name>", "dockerAllowedImages"], "readOnly": false, "type": "list of string"}, "services.gitlab-runner.services.<name>.dockerAllowedServices": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Whitelist allowed services.\n", "example": {"_type": "literalExpression", "text": "[\n  \"postgres:9\"\n  \"redis:*\"\n  \"mysql:*\"\n]"}, "loc": ["services", "gitlab-runner", "services", "<name>", "dockerAllowedServices"], "readOnly": false, "type": "list of string"}, "services.gitlab-runner.services.<name>.dockerDisableCache": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable all container caching.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "dockerDisableCache"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.services.<name>.dockerExtraHosts": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Add a custom host-to-IP mapping.\n", "example": {"_type": "literalExpression", "text": "[\n  \"other-host:127.0.0.1\"\n]"}, "loc": ["services", "gitlab-runner", "services", "<name>", "dockerExtraHosts"], "readOnly": false, "type": "list of string"}, "services.gitlab-runner.services.<name>.dockerImage": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Docker image to be used.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "dockerImage"], "readOnly": false, "type": "null or string"}, "services.gitlab-runner.services.<name>.dockerPrivileged": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Give extended privileges to container.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "dockerPrivileged"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.services.<name>.dockerPullPolicy": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Default pull-policy for Docker images\n", "loc": ["services", "gitlab-runner", "services", "<name>", "dockerPullPolicy"], "readOnly": false, "type": "null or one of \"always\", \"never\", \"if-not-present\""}, "services.gitlab-runner.services.<name>.dockerVolumes": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Bind-mount a volume and create it\nif it doesn't exist prior to mounting.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/var/run/docker.sock:/var/run/docker.sock\"\n]"}, "loc": ["services", "gitlab-runner", "services", "<name>", "dockerVolumes"], "readOnly": false, "type": "list of string"}, "services.gitlab-runner.services.<name>.environmentVariables": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Custom environment variables injected to build environment.\nFor secrets you can use {option}`registrationConfigFile`\nwith `RUNNER_ENV` variable set.\n", "example": {"_type": "literalExpression", "text": "{\n  NAME = \"value\";\n}"}, "loc": ["services", "gitlab-runner", "services", "<name>", "environmentVariables"], "readOnly": false, "type": "attribute set of string"}, "services.gitlab-runner.services.<name>.executor": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "\"docker\""}, "description": "Select executor, eg. shell, docker, etc.\nSee [runner executor documentation](https://docs.gitlab.com/runner/executors/) for more information.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "executor"], "readOnly": false, "type": "string"}, "services.gitlab-runner.services.<name>.limit": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Limit how many jobs can be handled concurrently by this service.\n0 (default) simply means don't limit.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "limit"], "readOnly": false, "type": "signed integer"}, "services.gitlab-runner.services.<name>.maximumTimeout": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "What is the maximum timeout (in seconds) that will be set for\njob when using this Runner. 0 (default) simply means don't limit.\n\nThis option has no effect for runners registered with an runner\nauthentication tokens and will be ignored.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "maximumTimeout"], "readOnly": false, "type": "signed integer"}, "services.gitlab-runner.services.<name>.postBuildScript": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Runner-specific command script executed after code is pulled\nand just after build executes.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "postBuildScript"], "readOnly": false, "type": "null or string or absolute path"}, "services.gitlab-runner.services.<name>.postGetSourcesScript": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Runner-specific command script executed after code is pulled.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "postGetSourcesScript"], "readOnly": false, "type": "null or string or absolute path"}, "services.gitlab-runner.services.<name>.preBuildScript": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Runner-specific command script executed after code is pulled,\njust before build executes.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "preBuildScript"], "readOnly": false, "type": "null or string or absolute path"}, "services.gitlab-runner.services.<name>.preGetSourcesScript": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Runner-specific command script executed before code is pulled.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "preGetSourcesScript"], "readOnly": false, "type": "null or string or absolute path"}, "services.gitlab-runner.services.<name>.protected": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When set to true Runner will only run on pipelines\ntriggered on protected branches.\n\nThis option has no effect for runners registered with an runner\nauthentication tokens and will be ignored.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "protected"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.services.<name>.registrationConfigFile": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Absolute path to a file with environment variables\nused for gitlab-runner registration with *runner registration\ntokens*.\n\nA list of all supported environment variables can be found in\n`gitlab-runner register --help`.\n\nThe ones you probably want to set are:\n- `CI_SERVER_URL=<CI server URL>`\n- `REGISTRATION_TOKEN=<registration secret>`\n\nSupport for *runner registration tokens* is deprecated since\nGitLab 16.0, has been disabled by default in GitLab 17.0 and\nwill be removed in GitLab 18.0, as outlined in the\n[GitLab documentation]. Please consider migrating to\n[runner authentication tokens] and check the documentation on\n{option}`services.gitlab-runner.services.<name>.authenticationTokenConfigFile`.\n\n::: {.warning}\nMake sure to use a quoted absolute path,\nor it is going to be copied to Nix Store.\n:::\n\n[GitLab documentation]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes\n[runner authentication tokens]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#the-new-runner-registration-workflow\n", "loc": ["services", "gitlab-runner", "services", "<name>", "registrationConfigFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab-runner.services.<name>.registrationFlags": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command-line flags passed to\n`gitlab-runner register`.\nExecute `gitlab-runner register --help`\nfor a list of supported flags.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--docker-helper-image my/gitlab-runner-helper\"\n]"}, "loc": ["services", "gitlab-runner", "services", "<name>", "registrationFlags"], "readOnly": false, "type": "list of string"}, "services.gitlab-runner.services.<name>.requestConcurrency": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Limit number of concurrent requests for new jobs from GitLab.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "requestConcurrency"], "readOnly": false, "type": "signed integer"}, "services.gitlab-runner.services.<name>.runUntagged": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Register to run untagged builds; defaults to\n`true` when {option}`tagList` is empty.\n\nThis option has no effect for runners registered with an runner\nauthentication tokens and will be ignored.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "runUntagged"], "readOnly": false, "type": "boolean"}, "services.gitlab-runner.services.<name>.tagList": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Tag list.\n\nThis option has no effect for runners registered with an runner\nauthentication tokens and will be ignored.\n", "loc": ["services", "gitlab-runner", "services", "<name>", "tagList"], "readOnly": false, "type": "list of string"}, "services.gitlab-runner.settings": {"declarations": ["nixos/modules/services/continuous-integration/gitlab-runner/runner.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Global gitlab-runner configuration. See\n<https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section>\nfor supported values.\n", "loc": ["services", "gitlab-runner", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.gitlab.backup.keepTime": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "How long to keep the backups around, in\nhours. `0` means \u201ckeep forever\u201d.\n", "example": {"_type": "literalExpression", "text": "48"}, "loc": ["services", "gitlab", "backup", "keepTime"], "readOnly": false, "type": "signed integer"}, "services.gitlab.backup.path": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "config.services.gitlab.statePath + \"/backup\""}, "description": "GitLab path for backups.", "loc": ["services", "gitlab", "backup", "path"], "readOnly": false, "type": "string"}, "services.gitlab.backup.skip": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Directories to exclude from the backup. The example excludes\nCI artifacts and LFS objects from the backups. The\n`tar` option skips the creation of a tar\nfile.\n\nRefer to <https://docs.gitlab.com/ee/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup>\nfor more information.\n", "example": {"_type": "literalExpression", "text": "[\n  \"artifacts\"\n  \"lfs\"\n]"}, "loc": ["services", "gitlab", "backup", "skip"], "readOnly": false, "type": "one of \"db\", \"uploads\", \"builds\", \"artifacts\", \"lfs\", \"registry\", \"pages\", \"repositories\", \"tar\" or list of (one of \"db\", \"uploads\", \"builds\", \"artifacts\", \"lfs\", \"registry\", \"pages\", \"repositories\", \"tar\")"}, "services.gitlab.backup.startAt": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The time(s) to run automatic backup of GitLab\nstate. Specified in systemd's time format; see\n{manpage}`systemd.time(7)`.\n", "example": {"_type": "literalExpression", "text": "\"03:00\""}, "loc": ["services", "gitlab", "backup", "startAt"], "readOnly": false, "type": "string or list of string"}, "services.gitlab.backup.uploadOptions": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "GitLab automatic upload specification. Tells GitLab to\nupload the backup to a remote location when done.\n\nAttributes specified here are added under\n`production -> backup -> upload` in\n{file}`config/gitlab.yml`.\n", "example": {"_type": "literalExpression", "text": "{\n  # Fog storage connection settings, see http://fog.io/storage/\n  connection = {\n    provider = \"AWS\";\n    region = \"eu-north-1\";\n    aws_access_key_id = \"AKIAXXXXXXXXXXXXXXXX\";\n    aws_secret_access_key = { _secret = config.deployment.keys.aws_access_key.path; };\n  };\n\n  # The remote 'directory' to store your backups in.\n  # For S3, this would be the bucket name.\n  remote_directory = \"my-gitlab-backups\";\n\n  # Use multipart uploads when file size reaches 100MB, see\n  # http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html\n  multipart_chunk_size = 104857600;\n\n  # Turns on AWS Server-Side Encryption with Amazon S3-Managed Keys for backups, this is optional\n  encryption = \"AES256\";\n\n  # Specifies Amazon S3 storage class to use for backups, this is optional\n  storage_class = \"STANDARD\";\n};\n"}, "loc": ["services", "gitlab", "backup", "uploadOptions"], "readOnly": false, "type": "attribute set"}, "services.gitlab.databaseCreateLocally": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether a database should be automatically created on the\nlocal host. Set this to `false` if you plan\non provisioning a local database yourself. This has no effect\nif {option}`services.gitlab.databaseHost` is customized.\n", "loc": ["services", "gitlab", "databaseCreateLocally"], "readOnly": false, "type": "boolean"}, "services.gitlab.databaseHost": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "GitLab database hostname. An empty string means\n\u201cuse local unix socket connection\u201d.\n", "loc": ["services", "gitlab", "databaseHost"], "readOnly": false, "type": "string"}, "services.gitlab.databaseName": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"gitlab\""}, "description": "GitLab database name.", "loc": ["services", "gitlab", "databaseName"], "readOnly": false, "type": "string"}, "services.gitlab.databasePasswordFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the GitLab database user password.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "databasePasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.databasePool": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Database connection pool size.", "loc": ["services", "gitlab", "databasePool"], "readOnly": false, "type": "signed integer"}, "services.gitlab.databaseUsername": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"gitlab\""}, "description": "GitLab database user.", "loc": ["services", "gitlab", "databaseUsername"], "readOnly": false, "type": "string"}, "services.gitlab.enable": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the gitlab service.\n", "loc": ["services", "gitlab", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab.extraConfig": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra options to be added under\n`production` in\n{file}`config/gitlab.yml`, as a nix attribute\nset.\n\nOptions containing secret data should be set to an attribute\nset containing the attribute `_secret` - a\nstring pointing to a file containing the value the option\nshould be set to. See the example to get a better picture of\nthis: in the resulting\n{file}`config/gitlab.yml` file, the\n`production.omniauth.providers[0].args.client_options.secret`\nkey will be set to the contents of the\n{file}`/var/keys/gitlab_oidc_secret` file.\n", "example": {"_type": "literalExpression", "text": "{\n  gitlab = {\n    default_projects_features = {\n      builds = false;\n    };\n  };\n  omniauth = {\n    enabled = true;\n    auto_sign_in_with_provider = \"openid_connect\";\n    allow_single_sign_on = [\"openid_connect\"];\n    block_auto_created_users = false;\n    providers = [\n      {\n        name = \"openid_connect\";\n        label = \"OpenID Connect\";\n        args = {\n          name = \"openid_connect\";\n          scope = [\"openid\" \"profile\"];\n          response_type = \"code\";\n          issuer = \"https://keycloak.example.com/auth/realms/My%20Realm\";\n          discovery = true;\n          client_auth_method = \"query\";\n          uid_field = \"preferred_username\";\n          client_options = {\n            identifier = \"gitlab\";\n            secret = { _secret = \"/var/keys/gitlab_oidc_secret\"; };\n            redirect_uri = \"https://git.example.com/users/auth/openid_connect/callback\";\n          };\n        };\n      }\n    ];\n  };\n};\n"}, "loc": ["services", "gitlab", "extraConfig"], "readOnly": false, "type": "YAML 1.1 value"}, "services.gitlab.extraDatabaseConfig": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration in config/database.yml.", "loc": ["services", "gitlab", "extraDatabaseConfig"], "readOnly": false, "type": "attribute set"}, "services.gitlab.extraEnv": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables for the GitLab environment.\n", "loc": ["services", "gitlab", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.gitlab.extraGitlabRb": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to be placed in config/extra-gitlab.rb. This can\nbe used to add configuration not otherwise exposed through this module's\noptions.\n", "example": {"_type": "literalExpression", "text": "''\n  if Rails.env.production?\n    Rails.application.config.action_mailer.delivery_method = :sendmail\n    ActionMailer::Base.delivery_method = :sendmail\n    ActionMailer::Base.sendmail_settings = {\n      location: \"/run/wrappers/bin/sendmail\",\n      arguments: \"-i -t\"\n    }\n  end\n''"}, "loc": ["services", "gitlab", "extraGitlabRb"], "readOnly": false, "type": "string"}, "services.gitlab.extraShellConfig": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to merge into shell-config.yml", "loc": ["services", "gitlab", "extraShellConfig"], "readOnly": false, "type": "attribute set"}, "services.gitlab.group": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"gitlab\""}, "description": "Group to run gitlab and all related services.", "loc": ["services", "gitlab", "group"], "readOnly": false, "type": "string"}, "services.gitlab.host": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "config.networking.hostName"}, "description": "GitLab host name. Used e.g. for copy-paste URLs.", "loc": ["services", "gitlab", "host"], "readOnly": false, "type": "string"}, "services.gitlab.https": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether gitlab prints URLs with https as scheme.", "loc": ["services", "gitlab", "https"], "readOnly": false, "type": "boolean"}, "services.gitlab.initialRootEmail": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"admin@local.host\""}, "description": "Initial email address of the root account if this is a new install.\n", "loc": ["services", "gitlab", "initialRootEmail"], "readOnly": false, "type": "string"}, "services.gitlab.initialRootPasswordFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the initial password of the root account if\nthis is a new install.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "initialRootPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.logrotate.enable": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable rotation of log files.\n", "loc": ["services", "gitlab", "logrotate", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab.logrotate.frequency": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "How often to rotate the logs.", "loc": ["services", "gitlab", "logrotate", "frequency"], "readOnly": false, "type": "string"}, "services.gitlab.logrotate.keep": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "30"}, "description": "How many rotations to keep.", "loc": ["services", "gitlab", "logrotate", "keep"], "readOnly": false, "type": "signed integer"}, "services.gitlab.packages.gitaly": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitaly"}, "description": "The gitaly package to use.", "loc": ["services", "gitlab", "packages", "gitaly"], "readOnly": false, "type": "package"}, "services.gitlab.packages.gitlab": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitlab"}, "description": "The gitlab package to use.", "example": {"_type": "literalExpression", "text": "gitlab-ee"}, "loc": ["services", "gitlab", "packages", "gitlab"], "readOnly": false, "type": "package"}, "services.gitlab.packages.gitlab-shell": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitlab-shell"}, "description": "The gitlab-shell package to use.", "loc": ["services", "gitlab", "packages", "gitlab-shell"], "readOnly": false, "type": "package"}, "services.gitlab.packages.gitlab-workhorse": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitlab-workhorse"}, "description": "The gitlab-workhorse package to use.", "loc": ["services", "gitlab", "packages", "gitlab-workhorse"], "readOnly": false, "type": "package"}, "services.gitlab.packages.pages": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gitlab-pages"}, "description": "The gitlab-pages package to use.", "loc": ["services", "gitlab", "packages", "pages"], "readOnly": false, "type": "package"}, "services.gitlab.pages.enable": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the GitLab Pages service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gitlab", "pages", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab.pages.settings": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "description": "Configuration options to set in the GitLab Pages config\nfile.\n\nOptions containing secret data should be set to an attribute\nset containing the attribute `_secret` - a string pointing\nto a file containing the value the option should be set\nto. See the example to get a better picture of this: in the\nresulting configuration file, the `auth-client-secret` and\n`auth-secret` keys will be set to the contents of the\n{file}`/var/keys/auth-client-secret` and\n{file}`/var/keys/auth-secret` files respectively.\n", "example": {"_type": "literalExpression", "text": "{\n  pages-domain = \"example.com\";\n  auth-client-id = \"generated-id-xxxxxxx\";\n  auth-client-secret = { _secret = \"/var/keys/auth-client-secret\"; };\n  auth-redirect-uri = \"https://projects.example.com/auth\";\n  auth-secret = { _secret = \"/var/keys/auth-secret\"; };\n  auth-server = \"https://gitlab.example.com\";\n}\n"}, "loc": ["services", "gitlab", "pages", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string or signed integer or boolean or (attribute set))"}, "services.gitlab.pages.settings.artifacts-server": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"http(s)://<services.gitlab.host>/api/v4\""}, "description": "API URL to proxy artifact requests to.\n", "example": {"_type": "literalExpression", "text": "\"https://gitlab.example.com/api/v4\""}, "loc": ["services", "gitlab", "pages", "settings", "artifacts-server"], "readOnly": false, "type": "null or string"}, "services.gitlab.pages.settings.gitlab-server": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"http(s)://<services.gitlab.host>\""}, "description": "Public GitLab server URL.\n", "example": {"_type": "literalExpression", "text": "\"https://gitlab.example.com\""}, "loc": ["services", "gitlab", "pages", "settings", "gitlab-server"], "readOnly": false, "type": "null or string"}, "services.gitlab.pages.settings.internal-gitlab-server": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"http(s)://<services.gitlab.host>\""}, "description": "Internal GitLab server used for API requests, useful\nif you want to send that traffic over an internal load\nbalancer. By default, the value of\n`services.gitlab.pages.settings.gitlab-server` is\nused.\n", "example": {"_type": "literalExpression", "text": "\"https://gitlab.example.internal\""}, "loc": ["services", "gitlab", "pages", "settings", "internal-gitlab-server"], "readOnly": false, "type": "null or string"}, "services.gitlab.pages.settings.listen-http": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The address(es) to listen on for HTTP requests.\n", "loc": ["services", "gitlab", "pages", "settings", "listen-http"], "readOnly": false, "type": "list of string"}, "services.gitlab.pages.settings.listen-https": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The address(es) to listen on for HTTPS requests.\n", "loc": ["services", "gitlab", "pages", "settings", "listen-https"], "readOnly": false, "type": "list of string"}, "services.gitlab.pages.settings.listen-proxy": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1:8090\"\n]"}, "description": "The address(es) to listen on for proxy requests.\n", "loc": ["services", "gitlab", "pages", "settings", "listen-proxy"], "readOnly": false, "type": "list of string"}, "services.gitlab.pages.settings.pages-domain": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The domain to serve static pages on.\n", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "gitlab", "pages", "settings", "pages-domain"], "readOnly": false, "type": "null or string"}, "services.gitlab.pages.settings.pages-root": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "config.services.gitlab.extraConfig.production.shared.path + \"/pages\""}, "description": "The directory where pages are stored.\n", "loc": ["services", "gitlab", "pages", "settings", "pages-root"], "readOnly": false, "type": "string"}, "services.gitlab.port": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "GitLab server port for copy-paste URLs, e.g. 80 or 443 if you're\nservice over https.\n", "loc": ["services", "gitlab", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitlab.puma.threadsMax": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "The maximum number of threads Puma should use per\nworker. This limits how many threads Puma will automatically\nspawn in response to requests. In contrast to workers,\nthreads will never be able to run Ruby code in parallel, but\ngive higher IO parallelism.\n\n::: {.note}\nEach thread consumes memory and contributes to Global VM\nLock contention, so be careful when increasing this.\n:::\n", "loc": ["services", "gitlab", "puma", "threadsMax"], "readOnly": false, "type": "signed integer"}, "services.gitlab.puma.threadsMin": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The minimum number of threads Puma should use per\nworker.\n\n::: {.note}\nEach thread consumes memory and contributes to Global VM\nLock contention, so be careful when increasing this.\n:::\n", "loc": ["services", "gitlab", "puma", "threadsMin"], "readOnly": false, "type": "signed integer"}, "services.gitlab.puma.workers": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "The number of worker processes Puma should spawn. This\ncontrols the amount of parallel Ruby code can be\nexecuted. GitLab recommends `Number of CPU cores - 1`, but at least two.\n\n::: {.note}\nEach worker consumes quite a bit of memory, so\nbe careful when increasing this.\n:::\n", "loc": ["services", "gitlab", "puma", "workers"], "readOnly": false, "type": "signed integer"}, "services.gitlab.redisUrl": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"unix:/run/gitlab/redis.sock\""}, "description": "Redis URL for all GitLab services.", "example": {"_type": "literalExpression", "text": "\"redis://localhost:6379/\""}, "loc": ["services", "gitlab", "redisUrl"], "readOnly": false, "type": "string"}, "services.gitlab.registry.certFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "description": "Path to GitLab container registry certificate.", "loc": ["services", "gitlab", "registry", "certFile"], "readOnly": false, "type": "absolute path"}, "services.gitlab.registry.defaultForProjects": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "config.services.gitlab.registry.enable"}, "description": "If GitLab container registry should be enabled by default for projects.", "loc": ["services", "gitlab", "registry", "defaultForProjects"], "readOnly": false, "type": "boolean"}, "services.gitlab.registry.enable": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable GitLab container registry.", "loc": ["services", "gitlab", "registry", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab.registry.externalAddress": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "External address used to access registry from the internet", "loc": ["services", "gitlab", "registry", "externalAddress"], "readOnly": false, "type": "string"}, "services.gitlab.registry.externalPort": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "description": "External port used to access registry from the internet", "loc": ["services", "gitlab", "registry", "externalPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitlab.registry.host": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "config.services.gitlab.host"}, "description": "GitLab container registry host name.", "loc": ["services", "gitlab", "registry", "host"], "readOnly": false, "type": "string"}, "services.gitlab.registry.issuer": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"gitlab-issuer\""}, "description": "GitLab container registry issuer.", "loc": ["services", "gitlab", "registry", "issuer"], "readOnly": false, "type": "string"}, "services.gitlab.registry.keyFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "description": "Path to GitLab container registry certificate-key.", "loc": ["services", "gitlab", "registry", "keyFile"], "readOnly": false, "type": "absolute path"}, "services.gitlab.registry.package": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "pkgs.distribution"}, "description": "Container registry package to use.\n\nExternal container registries such as `pkgs.distribution` are not supported\nanymore since GitLab 16.0.0.\n", "loc": ["services", "gitlab", "registry", "package"], "readOnly": false, "type": "package"}, "services.gitlab.registry.port": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "4567"}, "description": "GitLab container registry port.", "loc": ["services", "gitlab", "registry", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitlab.registry.serviceName": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"container_registry\""}, "description": "GitLab container registry service name.", "loc": ["services", "gitlab", "registry", "serviceName"], "readOnly": false, "type": "string"}, "services.gitlab.secrets.activeRecordDeterministicKeyFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the secret used to encrypt some rails data in a deterministic way\nin the DB. This should not be the same as `services.gitlab.secrets.activeRecordPrimaryKeyFile`!\n\nMake sure the secret is at ideally 32 characters and all random,\nno regular words or you'll be exposed to dictionary attacks.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "secrets", "activeRecordDeterministicKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.secrets.activeRecordPrimaryKeyFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the secret used to encrypt some rails data\nin the DB. This should not be the same as `services.gitlab.secrets.activeRecordDeterministicKeyFile`!\n\nMake sure the secret is at ideally 32 characters and all random,\nno regular words or you'll be exposed to dictionary attacks.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "secrets", "activeRecordPrimaryKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.secrets.activeRecordSaltFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the salt for active record encryption in the DB.\n\nMake sure the secret is at ideally 32 characters and all random,\nno regular words or you'll be exposed to dictionary attacks.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "secrets", "activeRecordSaltFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.secrets.dbFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the secret used to encrypt variables in\nthe DB. If you change or lose this key you will be unable to\naccess variables stored in database.\n\nMake sure the secret is at least 32 characters and all random,\nno regular words or you'll be exposed to dictionary attacks.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "secrets", "dbFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.secrets.jwsFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the secret used to encrypt session\nkeys. If you change or lose this key, users will be\ndisconnected.\n\nMake sure the secret is an RSA private key in PEM format. You can\ngenerate one with\n\nopenssl genrsa 2048\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "secrets", "jwsFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.secrets.otpFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the secret used to encrypt secrets for OTP\ntokens. If you change or lose this key, users which have 2FA\nenabled for login won't be able to login anymore.\n\nMake sure the secret is at least 32 characters and all random,\nno regular words or you'll be exposed to dictionary attacks.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "secrets", "otpFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.secrets.secretFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the secret used to encrypt variables in\nthe DB. If you change or lose this key you will be unable to\naccess variables stored in database.\n\nMake sure the secret is at least 32 characters and all random,\nno regular words or you'll be exposed to dictionary attacks.\n\nThis should be a string, not a nix path, since nix paths are\ncopied into the world-readable nix store.\n", "loc": ["services", "gitlab", "secrets", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.sidekiq.concurrency": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "How many processor threads to use for processing sidekiq background job queues. When null, the GitLab default is used.\n\nSee <https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html#manage-thread-counts-explicitly> for details.\n", "loc": ["services", "gitlab", "sidekiq", "concurrency"], "readOnly": false, "type": "null or signed integer"}, "services.gitlab.sidekiq.memoryKiller.enable": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the Sidekiq MemoryKiller should be turned\non. MemoryKiller kills Sidekiq when its memory consumption\nexceeds a certain limit.\n\nSee <https://docs.gitlab.com/ee/administration/operations/sidekiq_memory_killer.html>\nfor details.\n", "loc": ["services", "gitlab", "sidekiq", "memoryKiller", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab.sidekiq.memoryKiller.graceTime": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "900"}, "description": "The time MemoryKiller waits after noticing excessive memory\nconsumption before killing Sidekiq.\n", "loc": ["services", "gitlab", "sidekiq", "memoryKiller", "graceTime"], "readOnly": false, "type": "signed integer"}, "services.gitlab.sidekiq.memoryKiller.maxMemory": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "2000"}, "description": "The maximum amount of memory, in MiB, a Sidekiq worker is\nallowed to consume before being killed.\n", "loc": ["services", "gitlab", "sidekiq", "memoryKiller", "maxMemory"], "readOnly": false, "type": "signed integer"}, "services.gitlab.sidekiq.memoryKiller.shutdownWait": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "30"}, "description": "The time allowed for all jobs to finish before Sidekiq is\nkilled forcefully.\n", "loc": ["services", "gitlab", "sidekiq", "memoryKiller", "shutdownWait"], "readOnly": false, "type": "signed integer"}, "services.gitlab.smtp.address": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address of the SMTP server for GitLab.", "loc": ["services", "gitlab", "smtp", "address"], "readOnly": false, "type": "string"}, "services.gitlab.smtp.authentication": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Authentication type to use, see <http://api.rubyonrails.org/classes/ActionMailer/Base.html>", "loc": ["services", "gitlab", "smtp", "authentication"], "readOnly": false, "type": "null or string"}, "services.gitlab.smtp.domain": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "HELO domain to use for outgoing mail.", "loc": ["services", "gitlab", "smtp", "domain"], "readOnly": false, "type": "string"}, "services.gitlab.smtp.enable": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable gitlab mail delivery over SMTP.", "loc": ["services", "gitlab", "smtp", "enable"], "readOnly": false, "type": "boolean"}, "services.gitlab.smtp.enableStartTLSAuto": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to try to use StartTLS.", "loc": ["services", "gitlab", "smtp", "enableStartTLSAuto"], "readOnly": false, "type": "boolean"}, "services.gitlab.smtp.opensslVerifyMode": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"peer\""}, "description": "How OpenSSL checks the certificate, see <http://api.rubyonrails.org/classes/ActionMailer/Base.html>", "loc": ["services", "gitlab", "smtp", "opensslVerifyMode"], "readOnly": false, "type": "string"}, "services.gitlab.smtp.passwordFile": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the password of the SMTP server for GitLab.\n\nThis should be a string, not a nix path, since nix paths\nare copied into the world-readable nix store.\n", "loc": ["services", "gitlab", "smtp", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.gitlab.smtp.port": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "Port of the SMTP server for GitLab.", "loc": ["services", "gitlab", "smtp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gitlab.smtp.tls": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use TLS wrapper-mode.", "loc": ["services", "gitlab", "smtp", "tls"], "readOnly": false, "type": "boolean"}, "services.gitlab.smtp.username": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username of the SMTP server for GitLab.", "loc": ["services", "gitlab", "smtp", "username"], "readOnly": false, "type": "null or string"}, "services.gitlab.statePath": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"/var/gitlab/state\""}, "description": "GitLab state directory. Configuration, repositories and\nlogs, among other things, are stored here.\n\nThe directory will be created automatically if it doesn't\nexist already. Its parent directories must be owned by\neither `root` or the user set in\n{option}`services.gitlab.user`.\n", "loc": ["services", "gitlab", "statePath"], "readOnly": false, "type": "string"}, "services.gitlab.user": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "\"gitlab\""}, "description": "User to run gitlab and all related services.", "loc": ["services", "gitlab", "user"], "readOnly": false, "type": "string"}, "services.gitlab.workhorse.config": {"declarations": ["nixos/modules/services/misc/gitlab.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration options to add to Workhorse's configuration\nfile.\n\nSee\n<https://gitlab.com/gitlab-org/gitlab/-/blob/master/workhorse/config.toml.example>\nand\n<https://docs.gitlab.com/ee/development/workhorse/configuration.html>\nfor examples and option documentation.\n\nOptions containing secret data should be set to an attribute\nset containing the attribute `_secret` - a string pointing\nto a file containing the value the option should be set\nto. See the example to get a better picture of this: in the\nresulting configuration file, the\n`object_storage.s3.aws_secret_access_key` key will be set to\nthe contents of the {file}`/var/keys/aws_secret_access_key`\nfile.\n", "example": {"_type": "literalExpression", "text": "{\n  object_storage.provider = \"AWS\";\n  object_storage.s3 = {\n    aws_access_key_id = \"AKIAXXXXXXXXXXXXXXXX\";\n    aws_secret_access_key = { _secret = \"/var/keys/aws_secret_access_key\"; };\n  };\n};\n"}, "loc": ["services", "gitlab", "workhorse", "config"], "readOnly": false, "type": "TOML value"}, "services.gitolite.adminPubkey": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "description": "Initial administrative public key for Gitolite. This should\nbe an SSH Public Key. Note that this key will only be used\nonce, upon the first initialization of the Gitolite user.\nThe key string cannot have any line breaks in it.\n", "loc": ["services", "gitolite", "adminPubkey"], "readOnly": false, "type": "string"}, "services.gitolite.commonHooks": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of custom git hooks that get copied to `~/.gitolite/hooks/common`.\n", "loc": ["services", "gitolite", "commonHooks"], "readOnly": false, "type": "list of absolute path"}, "services.gitolite.dataDir": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/gitolite\""}, "description": "The gitolite home directory used to store all repositories. If left as the default value\nthis directory will automatically be created before the gitolite server starts, otherwise\nthe sysadmin is responsible for ensuring the directory exists with appropriate ownership\nand permissions.\n", "loc": ["services", "gitolite", "dataDir"], "readOnly": false, "type": "string"}, "services.gitolite.description": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "\"Gitolite user\""}, "description": "Gitolite user account's description.\n", "loc": ["services", "gitolite", "description"], "readOnly": false, "type": "string"}, "services.gitolite.enable": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable gitolite management under the\n`gitolite` user. After\nswitching to a configuration with Gitolite enabled, you can\nthen run `git clone gitolite@host:gitolite-admin.git` to manage it further.\n", "loc": ["services", "gitolite", "enable"], "readOnly": false, "type": "boolean"}, "services.gitolite.enableGitAnnex": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable git-annex support. Uses the `extraGitoliteRc` option\nto apply the necessary configuration.\n", "loc": ["services", "gitolite", "enableGitAnnex"], "readOnly": false, "type": "boolean"}, "services.gitolite.extraGitoliteRc": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration to append to the default `~/.gitolite.rc`.\n\nThis should be Perl code that modifies the `%RC`\nconfiguration variable. The default `~/.gitolite.rc`\ncontent is generated by invoking `gitolite print-default-rc`,\nand extra configuration from this option is appended to it. The result\nis placed to Nix store, and the `~/.gitolite.rc` file\nbecomes a symlink to it.\n\nIf you already have a customized (or otherwise changed)\n`~/.gitolite.rc` file, NixOS will refuse to replace\nit with a symlink, and the `gitolite-init` initialization service\nwill fail. In this situation, in order to use this option, you\nwill need to take any customizations you may have in\n`~/.gitolite.rc`, convert them to appropriate Perl\nstatements, add them to this option, and remove the file.\n\nSee also the `enableGitAnnex` option.\n", "example": {"_type": "literalExpression", "text": "''\n  $RC{UMASK} = 0027;\n  $RC{SITE_INFO} = 'This is our private repository host';\n  push( @{$RC{ENABLE}}, 'Kindergarten' ); # enable the command/feature\n  @{$RC{ENABLE}} = grep { $_ ne 'desc' } @{$RC{ENABLE}}; # disable the command/feature\n''\n"}, "loc": ["services", "gitolite", "extraGitoliteRc"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gitolite.group": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "\"gitolite\""}, "description": "Primary group of the Gitolite user account.\n", "loc": ["services", "gitolite", "group"], "readOnly": false, "type": "string"}, "services.gitolite.user": {"declarations": ["nixos/modules/services/misc/gitolite.nix"], "default": {"_type": "literalExpression", "text": "\"gitolite\""}, "description": "Gitolite user account. This is the username of the gitolite endpoint.\n", "loc": ["services", "gitolite", "user"], "readOnly": false, "type": "string"}, "services.gitwatch": {"declarations": ["nixos/modules/services/monitoring/gitwatch.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of git repositories to watch for. See\n[gitwatch](https://github.com/gitwatch/gitwatch) for more.\n", "example": {"_type": "literalExpression", "text": "{\n  disabled-repo = {\n    branch = \"autobranch\";\n    enable = false;\n    path = \"/home/user/disabled-project\";\n    remote = \"git@github.com:me/my-old-project.git\";\n    user = \"user\";\n  };\n  my-repo = {\n    enable = true;\n    message = \"Auto-commit by gitwatch on %d\";\n    path = \"/home/user/watched-project\";\n    remote = \"git@github.com:me/my-project.git\";\n    user = \"user\";\n  };\n}"}, "loc": ["services", "gitwatch"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.gitwatch.<name>.branch": {"declarations": ["nixos/modules/services/monitoring/gitwatch.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional branch in remote repository", "loc": ["services", "gitwatch", "<name>", "branch"], "readOnly": false, "type": "null or string"}, "services.gitwatch.<name>.enable": {"declarations": ["nixos/modules/services/monitoring/gitwatch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable watching for repo.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gitwatch", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.gitwatch.<name>.message": {"declarations": ["nixos/modules/services/monitoring/gitwatch.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional text to use in as commit message; all occurrences of `%d` will be replaced by formatted date/time", "loc": ["services", "gitwatch", "<name>", "message"], "readOnly": false, "type": "null or string"}, "services.gitwatch.<name>.path": {"declarations": ["nixos/modules/services/monitoring/gitwatch.nix"], "description": "The path to repo in local machine", "loc": ["services", "gitwatch", "<name>", "path"], "readOnly": false, "type": "string"}, "services.gitwatch.<name>.remote": {"declarations": ["nixos/modules/services/monitoring/gitwatch.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional url of remote repository", "loc": ["services", "gitwatch", "<name>", "remote"], "readOnly": false, "type": "null or string"}, "services.gitwatch.<name>.user": {"declarations": ["nixos/modules/services/monitoring/gitwatch.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "The name of services's user", "loc": ["services", "gitwatch", "<name>", "user"], "readOnly": false, "type": "string"}, "services.gitweb.extraConfig": {"declarations": ["nixos/modules/services/misc/gitweb.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim configuration text appended to the generated gitweb.conf file.\n", "example": {"_type": "literalExpression", "text": "''\n  $feature{'highlight'}{'default'} = [1];\n  $feature{'ctags'}{'default'} = [1];\n  $feature{'avatar'}{'default'} = ['gravatar'];\n''"}, "loc": ["services", "gitweb", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gitweb.gitwebTheme": {"declarations": ["nixos/modules/services/misc/gitweb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use an alternative theme for gitweb, strongly inspired by GitHub.\n", "loc": ["services", "gitweb", "gitwebTheme"], "readOnly": false, "type": "boolean"}, "services.gitweb.projectroot": {"declarations": ["nixos/modules/services/misc/gitweb.nix"], "default": {"_type": "literalExpression", "text": "\"/srv/git\""}, "description": "Path to git projects (bare repositories) that should be served by\ngitweb. Must not end with a slash.\n", "loc": ["services", "gitweb", "projectroot"], "readOnly": false, "type": "absolute path"}, "services.glance.enable": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable glance.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "glance", "enable"], "readOnly": false, "type": "boolean"}, "services.glance.environmentFile": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "\"/dev/null\""}, "description": "Path to an environment file as defined in {manpage}`systemd.exec(5)`.\n\nSee upstream documentation\n<https://github.com/glanceapp/glance/blob/main/docs/configuration.md#environment-variables>.\n\nExample content of the file:\n```\nTIMEZONE=Europe/Paris\n```\n\nExample `services.glance.settings.pages` configuration:\n```nix\n  [\n    {\n      name = \"Home\";\n      columns = [\n        {\n          size = \"full\";\n          widgets = [\n            {\n              type = \"clock\";\n              timezone = \"\\${TIMEZONE}\";\n              label = \"Local Time\";\n            }\n          ];\n        }\n      ];\n    }\n  ];\n```\n\nNote that when using Glance's `${ENV_VAR}` syntax in Nix,\nyou need to escape it as follows: use `\\${ENV_VAR}` in `\"` strings\nand `''${ENV_VAR}` in `''` strings.\n\nAlternatively, you can put each secret in it's own file,\nsee `services.glance.settings`.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/glance\""}, "loc": ["services", "glance", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.glance.openFirewall": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for Glance.\nThis adds `services.glance.settings.server.port` to `networking.firewall.allowedTCPPorts`.\n", "loc": ["services", "glance", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.glance.package": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "pkgs.glance"}, "description": "The glance package to use.", "loc": ["services", "glance", "package"], "readOnly": false, "type": "package"}, "services.glance.settings": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration written to a yaml file that is read by glance. See\n<https://github.com/glanceapp/glance/blob/main/docs/configuration.md>\nfor more.\n\nSettings containing secret data should be set to an\nattribute set with this format: `{ _secret = \"/path/to/secret\"; }`.\nSee the example in `services.glance.settings.pages` at the weather widget\nwith a location secret to get a better picture of this.\n\nAlternatively, you can use a single file with environment variables,\nsee `services.glance.environmentFile`.\n", "loc": ["services", "glance", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.glance.settings.pages": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "[\n  {\n    columns = [\n      {\n        size = \"full\";\n        widgets = [\n          {\n            type = \"calendar\";\n          }\n        ];\n      }\n    ];\n    name = \"Calendar\";\n  }\n]"}, "description": "List of pages to be present on the dashboard.\n\nSee <https://github.com/glanceapp/glance/blob/main/docs/configuration.md#pages--columns>\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    columns = [\n      {\n        size = \"full\";\n        widgets = [\n          {\n            type = \"calendar\";\n          }\n          {\n            location = {\n              _secret = \"/var/lib/secrets/glance/location\";\n            };\n            type = \"weather\";\n          }\n        ];\n      }\n    ];\n    name = \"Home\";\n  }\n]"}, "loc": ["services", "glance", "settings", "pages"], "readOnly": false, "type": "YAML 1.1 value"}, "services.glance.settings.server.host": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Glance bind address", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "glance", "settings", "server", "host"], "readOnly": false, "type": "string"}, "services.glance.settings.server.port": {"declarations": ["nixos/modules/services/web-apps/glance.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Glance port to listen on", "example": {"_type": "literalExpression", "text": "5678"}, "loc": ["services", "glance", "settings", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.glances.enable": {"declarations": ["nixos/modules/services/monitoring/glances.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Glances.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "glances", "enable"], "readOnly": false, "type": "boolean"}, "services.glances.extraArgs": {"declarations": ["nixos/modules/services/monitoring/glances.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"--webserver\"\n]"}, "description": "Extra command-line arguments to pass to glances.\n\nSee <https://glances.readthedocs.io/en/latest/cmds.html> for all available options.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--webserver\"\n  \"--disable-webui\"\n]"}, "loc": ["services", "glances", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.glances.openFirewall": {"declarations": ["nixos/modules/services/monitoring/glances.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open port in the firewall for glances.", "loc": ["services", "glances", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.glances.package": {"declarations": ["nixos/modules/services/monitoring/glances.nix"], "default": {"_type": "literalExpression", "text": "pkgs.glances"}, "description": "The glances package to use.", "loc": ["services", "glances", "package"], "readOnly": false, "type": "package"}, "services.glances.port": {"declarations": ["nixos/modules/services/monitoring/glances.nix"], "default": {"_type": "literalExpression", "text": "61208"}, "description": "Port the server will isten on.", "loc": ["services", "glances", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.glitchtip.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable and configure a local PostgreSQL database server.", "loc": ["services", "glitchtip", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.glitchtip.enable": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GlitchTip.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "glitchtip", "enable"], "readOnly": false, "type": "boolean"}, "services.glitchtip.environmentFiles": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to load environment variables from in addition to [](#opt-services.glitchtip.settings).\nThis is useful to avoid putting secrets into the nix store.\nSee <https://glitchtip.com/documentation/install#configuration> for more information.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/run/secrets/glitchtip.env\"\n]"}, "loc": ["services", "glitchtip", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.glitchtip.group": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "\"glitchtip\""}, "description": "The group under which GlitchTip runs.", "loc": ["services", "glitchtip", "group"], "readOnly": false, "type": "string"}, "services.glitchtip.nginx.createLocally": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable and configure a local Nginx server.", "loc": ["services", "glitchtip", "nginx", "createLocally"], "readOnly": false, "type": "boolean"}, "services.glitchtip.nginx.domain": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "description": "Domain under which GlitchTip will be reachable.\nIn contrast to `settings.GLITCHTIP_DOMAIN` this option has no protocol.\nIt will also set `settings.GLITCHTIP_DOMAIN` with the `https://` protocol.\n", "example": {"_type": "literalExpression", "text": "\"glitchtip.example.com\""}, "loc": ["services", "glitchtip", "nginx", "domain"], "readOnly": false, "type": "string"}, "services.glitchtip.package": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "pkgs.glitchtip"}, "description": "The glitchtip package to use.", "loc": ["services", "glitchtip", "package"], "readOnly": false, "type": "package"}, "services.glitchtip.redis.createLocally": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable and configure a local Redis instance.", "loc": ["services", "glitchtip", "redis", "createLocally"], "readOnly": false, "type": "boolean"}, "services.glitchtip.settings": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "{\n  DEBUG = 0;\n  DEBUG_TOOLBAR = 0;\n  DATABASE_URL = lib.mkIf config.services.glitchtip.database.createLocally \"postgresql://@/glitchtip\";\n  GLITCHTIP_DOMAIN = lib.mkIf config.services.glitchtip.nginx.createLocally \"https://${config.services.glitchtip.nginx.domain}\";\n  GLITCHTIP_VERSION = config.services.glitchtip.package.version;\n  GRANIAN_HOST = \"127.0.0.1\";\n  GRANIAN_PORT = 8000;\n  GRANIAN_STATIC_PATH_MOUNT = \"${config.services.glitchtip.package}/lib/glitchtip/static\";\n  GRANIAN_WORKERS = 1;\n  PYTHONUNBUFFERED = 1;\n  REDIS_URL = lib.mkIf config.services.glitchtip.redis.createLocally \"unix://${config.services.redis.servers.glitchtip.unixSocket}\";\n}\n"}, "description": "Configuration of GlitchTip. See <https://glitchtip.com/documentation/install#configuration> for more information and required settings.\n", "example": {"_type": "literalExpression", "text": "{\n  DATABASE_URL = \"postgres://postgres:postgres@postgres/postgres\";\n  GLITCHTIP_DOMAIN = \"https://glitchtip.example.com\";\n}"}, "loc": ["services", "glitchtip", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean)"}, "services.glitchtip.settings.ENABLE_OBSERVABILITY_API": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Prometheus metrics endpoint.", "loc": ["services", "glitchtip", "settings", "ENABLE_OBSERVABILITY_API"], "readOnly": false, "type": "boolean"}, "services.glitchtip.settings.ENABLE_ORGANIZATION_CREATION": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When false, only superusers will be able to create new organizations after the first. When true, any user can create a new organization.\n", "loc": ["services", "glitchtip", "settings", "ENABLE_ORGANIZATION_CREATION"], "readOnly": false, "type": "boolean"}, "services.glitchtip.settings.ENABLE_USER_REGISTRATION": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When true, any user will be able to register. When false, user self-signup is disabled after the first user is registered. Subsequent users must be created by a superuser on the backend and organization invitations may only be sent to existing users.\n", "loc": ["services", "glitchtip", "settings", "ENABLE_USER_REGISTRATION"], "readOnly": false, "type": "boolean"}, "services.glitchtip.settings.GLITCHTIP_DOMAIN": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The URL under which GlitchTip is externally reachable.", "example": {"_type": "literalExpression", "text": "\"https://glitchtip.example.com\""}, "loc": ["services", "glitchtip", "settings", "GLITCHTIP_DOMAIN"], "readOnly": false, "type": "null or string"}, "services.glitchtip.settings.GLITCHTIP_ENABLE_MCP": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the MCP api.", "loc": ["services", "glitchtip", "settings", "GLITCHTIP_ENABLE_MCP"], "readOnly": false, "type": "boolean"}, "services.glitchtip.settings.GRANIAN_WORKERS": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Number of granian workers to start", "loc": ["services", "glitchtip", "settings", "GRANIAN_WORKERS"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.glitchtip.stateDir": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/glitchtip\""}, "description": "State directory of glitchtip.", "loc": ["services", "glitchtip", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.glitchtip.user": {"declarations": ["nixos/modules/services/web-apps/glitchtip.nix"], "default": {"_type": "literalExpression", "text": "\"glitchtip\""}, "description": "The user account under which GlitchTip runs.", "loc": ["services", "glitchtip", "user"], "readOnly": false, "type": "string"}, "services.glpiAgent.enable": {"declarations": ["nixos/modules/services/monitoring/glpi-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GLPI Agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "glpiAgent", "enable"], "readOnly": false, "type": "boolean"}, "services.glpiAgent.package": {"declarations": ["nixos/modules/services/monitoring/glpi-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.glpi-agent"}, "description": "The glpi-agent package to use.", "loc": ["services", "glpiAgent", "package"], "readOnly": false, "type": "package"}, "services.glpiAgent.settings": {"declarations": ["nixos/modules/services/monitoring/glpi-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "GLPI Agent configuration options.\nSee <https://glpi-agent.readthedocs.io/en/latest/configuration.html> for all available options.\n\nThe 'server' option is mandatory and must point to your GLPI server.\n", "example": {"_type": "literalExpression", "text": "{\n  server = [ \"https://glpi.example.com/inventory\" ];\n  delaytime = 3600;\n  tag = \"production\";\n  logger = [ \"stderr\" \"file\" ];\n  debug = 1;\n  \"no-category\" = [ \"printer\" \"software\" ];\n}\n"}, "loc": ["services", "glpiAgent", "settings"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string or list of string)"}, "services.glpiAgent.stateDir": {"declarations": ["nixos/modules/services/monitoring/glpi-agent.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/glpi-agent\""}, "description": "Directory where GLPI Agent stores its state.", "loc": ["services", "glpiAgent", "stateDir"], "readOnly": false, "type": "string"}, "services.glusterfs.enable": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GlusterFS Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "glusterfs", "enable"], "readOnly": false, "type": "boolean"}, "services.glusterfs.enableGlustereventsd": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the GlusterFS Events Daemon", "loc": ["services", "glusterfs", "enableGlustereventsd"], "readOnly": false, "type": "boolean"}, "services.glusterfs.extraFlags": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags passed to the GlusterFS daemon", "loc": ["services", "glusterfs", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.glusterfs.killMode": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "\"control-group\""}, "description": "The systemd KillMode to use for glusterd.\n\nglusterd spawns other daemons like gsyncd.\nIf you want these to stop when glusterd is stopped (e.g. to ensure\nthat NixOS config changes are reflected even for these sub-daemons),\nset this to 'control-group'.\nIf however you want running volume processes (glusterfsd) and thus\ngluster mounts not be interrupted when glusterd is restarted\n(for example, when you want to restart them manually at a later time),\nset this to 'process'.\n", "loc": ["services", "glusterfs", "killMode"], "readOnly": false, "type": "one of \"control-group\", \"process\", \"mixed\", \"none\""}, "services.glusterfs.logLevel": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "\"INFO\""}, "description": "Log level used by the GlusterFS daemon", "loc": ["services", "glusterfs", "logLevel"], "readOnly": false, "type": "one of \"DEBUG\", \"INFO\", \"WARNING\", \"ERROR\", \"CRITICAL\", \"TRACE\", \"NONE\""}, "services.glusterfs.stopKillTimeout": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "\"5s\""}, "description": "The systemd TimeoutStopSec to use.\n\nAfter this time after having been asked to shut down, glusterd\n(and depending on the killMode setting also its child processes)\nare killed by systemd.\n\nThe default is set low because GlusterFS (as of 3.10) is known to\nnot tell its children (like gsyncd) to terminate at all.\n", "loc": ["services", "glusterfs", "stopKillTimeout"], "readOnly": false, "type": "string"}, "services.glusterfs.tlsSettings": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Make the server communicate via TLS.\nThis means it will only connect to other gluster\nservers having certificates signed by the same CA.\n\nEnabling this will create a file {file}`/var/lib/glusterd/secure-access`.\nDisabling will delete this file again.\n\nSee also: <https://gluster.readthedocs.io/en/latest/Administrator%20Guide/SSL/>\n", "loc": ["services", "glusterfs", "tlsSettings"], "readOnly": false, "type": "null or (submodule)"}, "services.glusterfs.tlsSettings.caCert": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "description": "Path certificate authority used to sign the cluster certificates.", "loc": ["services", "glusterfs", "tlsSettings", "caCert"], "readOnly": false, "type": "absolute path"}, "services.glusterfs.tlsSettings.tlsKeyPath": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "description": "Path to the private key used for TLS.", "loc": ["services", "glusterfs", "tlsSettings", "tlsKeyPath"], "readOnly": false, "type": "string"}, "services.glusterfs.tlsSettings.tlsPem": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "description": "Path to the certificate used for TLS.", "loc": ["services", "glusterfs", "tlsSettings", "tlsPem"], "readOnly": false, "type": "absolute path"}, "services.glusterfs.useRpcbind": {"declarations": ["nixos/modules/services/network-filesystems/glusterfs.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable use of rpcbind. This is required for Gluster's NFS functionality.\n\nYou may want to turn it off to reduce the attack surface for DDoS reflection attacks.\n\nSee <https://davelozier.com/glusterfs-and-rpcbind-portmap-ddos-reflection-attacks/>\nand <https://bugzilla.redhat.com/show_bug.cgi?id=1426842> for details.\n", "loc": ["services", "glusterfs", "useRpcbind"], "readOnly": false, "type": "boolean"}, "services.gmediarender.audioDevice": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The audio device to use.\n", "loc": ["services", "gmediarender", "audioDevice"], "readOnly": false, "type": "null or string"}, "services.gmediarender.audioSink": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The audio sink to use.\n", "loc": ["services", "gmediarender", "audioSink"], "readOnly": false, "type": "null or string"}, "services.gmediarender.enable": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the gmediarender DLNA renderer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gmediarender", "enable"], "readOnly": false, "type": "boolean"}, "services.gmediarender.friendlyName": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A \"friendly name\" for identifying the endpoint.\n", "loc": ["services", "gmediarender", "friendlyName"], "readOnly": false, "type": "null or string"}, "services.gmediarender.initialVolume": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "A default volume attenuation (in dB) for the endpoint.\n", "loc": ["services", "gmediarender", "initialVolume"], "readOnly": false, "type": "null or signed integer"}, "services.gmediarender.package": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gmrender-resurrect"}, "description": "The gmediarender package to use.", "loc": ["services", "gmediarender", "package"], "readOnly": false, "type": "package"}, "services.gmediarender.port": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port that will be used to accept client connections.", "loc": ["services", "gmediarender", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gmediarender.uuid": {"declarations": ["nixos/modules/services/audio/gmediarender.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A UUID for uniquely identifying the endpoint.  If you have\nmultiple renderers on your network, you MUST set this.\n", "loc": ["services", "gmediarender", "uuid"], "readOnly": false, "type": "null or string"}, "services.gnome.at-spi2-core.enable": {"declarations": ["nixos/modules/services/desktops/gnome/at-spi2-core.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable at-spi2-core, a service for the Assistive Technologies\navailable on the GNOME platform.\n\nEnable this if you get the error or warning\n`The name org.a11y.Bus was not provided by any .service files`.\n", "loc": ["services", "gnome", "at-spi2-core", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.core-apps.enable": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME core apps.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "core-apps", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.core-developer-tools.enable": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME core developer tools.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "core-developer-tools", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.core-os-services.enable": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable essential services for GNOME3.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "core-os-services", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.core-shell.enable": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Shell services.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "core-shell", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.evolution-data-server.enable": {"declarations": ["nixos/modules/services/desktops/gnome/evolution-data-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Evolution Data Server, a collection of services for storing addressbooks and calendars.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "evolution-data-server", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.evolution-data-server.plugins": {"declarations": ["nixos/modules/services/desktops/gnome/evolution-data-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Plugins for Evolution Data Server.", "loc": ["services", "gnome", "evolution-data-server", "plugins"], "readOnly": false, "type": "list of package"}, "services.gnome.games.enable": {"declarations": ["nixos/modules/services/desktop-managers/gnome.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME games.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "games", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gcr-ssh-agent.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gcr-ssh-agent.nix"], "default": {"_type": "literalExpression", "text": "config.services.gnome.gnome-keyring.enable"}, "description": "Whether to enable GCR SSH agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gcr-ssh-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gcr-ssh-agent.package": {"declarations": ["nixos/modules/services/desktops/gnome/gcr-ssh-agent.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gcr_4"}, "description": "The GCR package to use.", "loc": ["services", "gnome", "gcr-ssh-agent", "package"], "readOnly": false, "type": "package"}, "services.gnome.glib-networking.enable": {"declarations": ["nixos/modules/services/desktops/gnome/glib-networking.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable network extensions for GLib.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "glib-networking", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-browser-connector.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-browser-connector.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable native host connector for the GNOME Shell browser extension, a DBus service\nallowing to install GNOME Shell extensions from a web browser\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gnome-browser-connector", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-initial-setup.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-initial-setup.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gnome-initial-setup", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-keyring.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-keyring.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Keyring daemon, a service designed to\ntake care of the user's security credentials,\nsuch as user names and passwords\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gnome-keyring", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-online-accounts.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-online-accounts.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Online Accounts daemon, a service that provides\na single sign-on framework for the GNOME desktop.\n", "loc": ["services", "gnome", "gnome-online-accounts", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-remote-desktop.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Remote Desktop support using Pipewire.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gnome-remote-desktop", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-settings-daemon.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Settings Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gnome-settings-daemon", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-software.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-software.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME Software, package manager for GNOME.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gnome-software", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.gnome-user-share.enable": {"declarations": ["nixos/modules/services/desktops/gnome/gnome-user-share.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNOME User Share, a user-level file sharing service for GNOME.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gnome", "gnome-user-share", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.localsearch.enable": {"declarations": ["nixos/modules/services/desktops/gnome/localsearch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LocalSearch, indexing services for TinySPARQL\nsearch engine and metadata storage system.\n", "loc": ["services", "gnome", "localsearch", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.rygel.enable": {"declarations": ["nixos/modules/services/desktops/gnome/rygel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Rygel UPnP Mediaserver.\n\nYou will need to also allow UPnP connections in firewall, see the following [comment](https://github.com/NixOS/nixpkgs/pull/45045#issuecomment-416030795).\n", "loc": ["services", "gnome", "rygel", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.rygel.package": {"declarations": ["nixos/modules/services/desktops/gnome/rygel.nix"], "default": {"_type": "literalExpression", "text": "pkgs.rygel"}, "description": "The rygel package to use.", "loc": ["services", "gnome", "rygel", "package"], "readOnly": false, "type": "package"}, "services.gnome.sushi.enable": {"declarations": ["nixos/modules/services/desktops/gnome/sushi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Sushi, a quick previewer for nautilus.\n", "loc": ["services", "gnome", "sushi", "enable"], "readOnly": false, "type": "boolean"}, "services.gnome.tinysparql.enable": {"declarations": ["nixos/modules/services/desktops/gnome/tinysparql.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable TinySPARQL services, a search engine,\nsearch tool and metadata storage system.\n", "loc": ["services", "gnome", "tinysparql", "enable"], "readOnly": false, "type": "boolean"}, "services.gns3-server.auth.enable": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable password based HTTP authentication to access the GNS3 Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gns3-server", "auth", "enable"], "readOnly": false, "type": "boolean"}, "services.gns3-server.auth.passwordFile": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password to access the GNS3 Server.\n\n::: {.warning}\nThis should be a string, not a nix path, since nix paths\nare copied into the world-readable nix store.\n:::\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/gns3-server-password\""}, "loc": ["services", "gns3-server", "auth", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.gns3-server.auth.user": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username used to access the GNS3 Server.", "example": {"_type": "literalExpression", "text": "\"gns3\""}, "loc": ["services", "gns3-server", "auth", "user"], "readOnly": false, "type": "null or string"}, "services.gns3-server.dynamips.enable": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Dynamips support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gns3-server", "dynamips", "enable"], "readOnly": false, "type": "boolean"}, "services.gns3-server.dynamips.package": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dynamips"}, "description": "The dynamips package to use.", "loc": ["services", "gns3-server", "dynamips", "package"], "readOnly": false, "type": "package"}, "services.gns3-server.enable": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GNS3 Server daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gns3-server", "enable"], "readOnly": false, "type": "boolean"}, "services.gns3-server.log.debug": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logging.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gns3-server", "log", "debug"], "readOnly": false, "type": "boolean"}, "services.gns3-server.log.file": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/gns3/server.log\""}, "description": "Path of the file GNS3 Server should log to.", "loc": ["services", "gns3-server", "log", "file"], "readOnly": false, "type": "null or absolute path"}, "services.gns3-server.package": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gns3-server"}, "description": "The gns3-server package to use.", "loc": ["services", "gns3-server", "package"], "readOnly": false, "type": "package"}, "services.gns3-server.settings": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The global options in `config` file in ini format.\n\nRefer to <https://docs.gns3.com/docs/using-gns3/administration/gns3-server-configuration-file/>\nfor all available options.\n", "example": {"_type": "literalExpression", "text": "{\n  host = \"127.0.0.1\";\n  port = 3080;\n}"}, "loc": ["services", "gns3-server", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.gns3-server.ssl.certFile": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the SSL certificate file. This certificate will\nbe offered to, and may be verified by, clients.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/gns3/ssl/server.pem\""}, "loc": ["services", "gns3-server", "ssl", "certFile"], "readOnly": false, "type": "null or absolute path"}, "services.gns3-server.ssl.enable": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SSL encryption.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gns3-server", "ssl", "enable"], "readOnly": false, "type": "boolean"}, "services.gns3-server.ssl.keyFile": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Private key file for the certificate.", "example": {"_type": "literalExpression", "text": "\"/var/lib/gns3/ssl/server.key\""}, "loc": ["services", "gns3-server", "ssl", "keyFile"], "readOnly": false, "type": "null or absolute path"}, "services.gns3-server.ubridge.enable": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable uBridge support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gns3-server", "ubridge", "enable"], "readOnly": false, "type": "boolean"}, "services.gns3-server.ubridge.package": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.ubridge"}, "description": "The ubridge package to use.", "loc": ["services", "gns3-server", "ubridge", "package"], "readOnly": false, "type": "package"}, "services.gns3-server.vpcs.enable": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable VPCS support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gns3-server", "vpcs", "enable"], "readOnly": false, "type": "boolean"}, "services.gns3-server.vpcs.package": {"declarations": ["nixos/modules/services/networking/gns3-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.vpcs"}, "description": "The vpcs package to use.", "loc": ["services", "gns3-server", "vpcs", "package"], "readOnly": false, "type": "package"}, "services.gnunet.enable": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run the GNUnet daemon.  GNUnet is GNU's anonymous\npeer-to-peer communication and file sharing framework.\n", "loc": ["services", "gnunet", "enable"], "readOnly": false, "type": "boolean"}, "services.gnunet.extraOptions": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional options that will be copied verbatim in {file}`gnunet.conf`.\nSee {manpage}`gnunet.conf(5)` for details.\n", "loc": ["services", "gnunet", "extraOptions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gnunet.fileSharing.quota": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "1024"}, "description": "Maximum file system usage (in MiB) for file sharing.\n", "loc": ["services", "gnunet", "fileSharing", "quota"], "readOnly": false, "type": "signed integer"}, "services.gnunet.load.hardNetUpBandwidth": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Hard bandwidth limit (in bits per second) when uploading\ndata.\n", "loc": ["services", "gnunet", "load", "hardNetUpBandwidth"], "readOnly": false, "type": "signed integer"}, "services.gnunet.load.maxNetDownBandwidth": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "50000"}, "description": "Maximum bandwidth usage (in bits per second) for GNUnet\nwhen downloading data.\n", "loc": ["services", "gnunet", "load", "maxNetDownBandwidth"], "readOnly": false, "type": "signed integer"}, "services.gnunet.load.maxNetUpBandwidth": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "50000"}, "description": "Maximum bandwidth usage (in bits per second) for GNUnet\nwhen downloading data.\n", "loc": ["services", "gnunet", "load", "maxNetUpBandwidth"], "readOnly": false, "type": "signed integer"}, "services.gnunet.package": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gnunet"}, "description": "The gnunet package to use.", "example": {"_type": "literalExpression", "text": "gnunet_git"}, "loc": ["services", "gnunet", "package"], "readOnly": false, "type": "package"}, "services.gnunet.tcp.port": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "2086"}, "description": "The TCP port for use by GNUnet.\n", "loc": ["services", "gnunet", "tcp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gnunet.udp.port": {"declarations": ["nixos/modules/services/networking/gnunet.nix"], "default": {"_type": "literalExpression", "text": "2086"}, "description": "The UDP port for use by GNUnet.\n", "loc": ["services", "gnunet", "udp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.go-autoconfig.enable": {"declarations": ["nixos/modules/services/networking/go-autoconfig.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable IMAP/SMTP autodiscover feature for mail clients.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "go-autoconfig", "enable"], "readOnly": false, "type": "boolean"}, "services.go-autoconfig.settings": {"declarations": ["nixos/modules/services/networking/go-autoconfig.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for go-autoconfig. See\n<https://github.com/L11R/go-autoconfig/blob/master/config.yml>\nfor more information.\n", "example": {"_type": "literalExpression", "text": "{\n  service_addr = \":1323\";\n  domain = \"autoconfig.example.org\";\n  imap = {\n    server = \"example.org\";\n    port = 993;\n  };\n  smtp = {\n    server = \"example.org\";\n    port = 465;\n  };\n}\n"}, "loc": ["services", "go-autoconfig", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.go-camo.enable": {"declarations": ["nixos/modules/services/networking/go-camo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable go-camo service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "go-camo", "enable"], "readOnly": false, "type": "boolean"}, "services.go-camo.extraOptions": {"declarations": ["nixos/modules/services/networking/go-camo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra options passed to the go-camo command.", "loc": ["services", "go-camo", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.go-camo.keyFile": {"declarations": ["nixos/modules/services/networking/go-camo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the HMAC key to use for signing URLs.\nThe file can contain any string. Can be generated using \"openssl rand -base64 18 > the_file\".\n", "loc": ["services", "go-camo", "keyFile"], "readOnly": false, "type": "absolute path"}, "services.go-camo.listen": {"declarations": ["nixos/modules/services/networking/go-camo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Address:Port to bind to for HTTP (default: 0.0.0.0:8080).", "loc": ["services", "go-camo", "listen"], "readOnly": false, "type": "null or string"}, "services.go-camo.sslCert": {"declarations": ["nixos/modules/services/networking/go-camo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to TLS certificate.", "loc": ["services", "go-camo", "sslCert"], "readOnly": false, "type": "null or absolute path"}, "services.go-camo.sslKey": {"declarations": ["nixos/modules/services/networking/go-camo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to TLS private key.", "loc": ["services", "go-camo", "sslKey"], "readOnly": false, "type": "null or absolute path"}, "services.go-camo.sslListen": {"declarations": ["nixos/modules/services/networking/go-camo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Address:Port to bind to for HTTPS.", "loc": ["services", "go-camo", "sslListen"], "readOnly": false, "type": "null or string"}, "services.go-csp-collector.enable": {"declarations": ["nixos/modules/services/monitoring/go-csp-collector.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable go-csp-collector, a content security policy violation collector.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "go-csp-collector", "enable"], "readOnly": false, "type": "boolean"}, "services.go-csp-collector.package": {"declarations": ["nixos/modules/services/monitoring/go-csp-collector.nix"], "default": {"_type": "literalExpression", "text": "pkgs.go-csp-collector"}, "description": "The go-csp-collector package to use.", "loc": ["services", "go-csp-collector", "package"], "readOnly": false, "type": "package"}, "services.go-csp-collector.settings": {"declarations": ["nixos/modules/services/monitoring/go-csp-collector.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for go-csp-collector. See\n<https://github.com/jacobbednarz/go-csp-collector> for supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  debug = true;\n  health-check-path = \"/health\";\n}\n"}, "loc": ["services", "go-csp-collector", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or absolute path or string)"}, "services.go-csp-collector.settings.output-format": {"declarations": ["nixos/modules/services/monitoring/go-csp-collector.nix"], "default": {"_type": "literalExpression", "text": "\"text\""}, "description": "Define how the violation reports are formatted for output.", "example": {"_type": "literalExpression", "text": "\"text\""}, "loc": ["services", "go-csp-collector", "settings", "output-format"], "readOnly": false, "type": "one of \"text\", \"json\""}, "services.go-csp-collector.settings.port": {"declarations": ["nixos/modules/services/monitoring/go-csp-collector.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port to listen on.", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["services", "go-csp-collector", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.go-httpbin.enable": {"declarations": ["nixos/modules/services/web-apps/go-httpbin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable go-httpbin.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "go-httpbin", "enable"], "readOnly": false, "type": "boolean"}, "services.go-httpbin.package": {"declarations": ["nixos/modules/services/web-apps/go-httpbin.nix"], "default": {"_type": "literalExpression", "text": "pkgs.go-httpbin"}, "description": "The go-httpbin package to use.", "loc": ["services", "go-httpbin", "package"], "readOnly": false, "type": "package"}, "services.go-httpbin.settings": {"declarations": ["nixos/modules/services/web-apps/go-httpbin.nix"], "description": "Configuration of go-httpbin.\nSee <https://github.com/mccutchen/go-httpbin#configuration> for a list of options.\n", "example": {"_type": "literalExpression", "text": "{\n  HOST = \"0.0.0.0\";\n  PORT = 8080;\n}"}, "loc": ["services", "go-httpbin", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer or boolean)"}, "services.go-httpbin.settings.HOST": {"declarations": ["nixos/modules/services/web-apps/go-httpbin.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host to listen on.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "go-httpbin", "settings", "HOST"], "readOnly": false, "type": "string"}, "services.go-httpbin.settings.PORT": {"declarations": ["nixos/modules/services/web-apps/go-httpbin.nix"], "description": "The port to listen on.", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["services", "go-httpbin", "settings", "PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.go-neb.baseUrl": {"declarations": ["nixos/modules/services/networking/go-neb.nix"], "description": "Public-facing endpoint that can receive webhooks.", "loc": ["services", "go-neb", "baseUrl"], "readOnly": false, "type": "string"}, "services.go-neb.bindAddress": {"declarations": ["nixos/modules/services/networking/go-neb.nix"], "default": {"_type": "literalExpression", "text": "\":4050\""}, "description": "Port (and optionally address) to listen on.", "loc": ["services", "go-neb", "bindAddress"], "readOnly": false, "type": "string"}, "services.go-neb.config": {"declarations": ["nixos/modules/services/networking/go-neb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Your {file}`config.yaml` as a Nix attribute set.\nSee [config.sample.yaml](https://github.com/matrix-org/go-neb/blob/master/config.sample.yaml)\nfor possible options.\n", "loc": ["services", "go-neb", "config"], "readOnly": false, "type": "YAML 1.1 value"}, "services.go-neb.enable": {"declarations": ["nixos/modules/services/networking/go-neb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable an extensible matrix bot written in Go.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "go-neb", "enable"], "readOnly": false, "type": "boolean"}, "services.go-neb.secretFile": {"declarations": ["nixos/modules/services/networking/go-neb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment variables from this file will be interpolated into the\nfinal config file using envsubst with this syntax: `$ENVIRONMENT`\nor `${VARIABLE}`.\nThe file should contain lines formatted as `SECRET_VAR=SECRET_VALUE`.\nThis is useful to avoid putting secrets into the nix store.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/go-neb.env\""}, "loc": ["services", "go-neb", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.go-shadowsocks2.server.enable": {"declarations": ["nixos/modules/services/networking/go-shadowsocks2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable go-shadowsocks2 server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "go-shadowsocks2", "server", "enable"], "readOnly": false, "type": "boolean"}, "services.go-shadowsocks2.server.listenAddress": {"declarations": ["nixos/modules/services/networking/go-shadowsocks2.nix"], "description": "Server listen address or URL", "example": {"_type": "literalExpression", "text": "\"ss://AEAD_CHACHA20_POLY1305:your-password@:8488\""}, "loc": ["services", "go-shadowsocks2", "server", "listenAddress"], "readOnly": false, "type": "string"}, "services.goatcounter.address": {"declarations": ["nixos/modules/services/web-apps/goatcounter.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Web interface address.", "loc": ["services", "goatcounter", "address"], "readOnly": false, "type": "string"}, "services.goatcounter.enable": {"declarations": ["nixos/modules/services/web-apps/goatcounter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable goatcounter.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "goatcounter", "enable"], "readOnly": false, "type": "boolean"}, "services.goatcounter.extraArgs": {"declarations": ["nixos/modules/services/web-apps/goatcounter.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra arguments to be passed to goatcounter cli.\nSee {command}`goatcounter help serve` for more information.\n", "loc": ["services", "goatcounter", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.goatcounter.package": {"declarations": ["nixos/modules/services/web-apps/goatcounter.nix"], "default": {"_type": "literalExpression", "text": "pkgs.goatcounter"}, "description": "The goatcounter package to use.", "loc": ["services", "goatcounter", "package"], "readOnly": false, "type": "package"}, "services.goatcounter.port": {"declarations": ["nixos/modules/services/web-apps/goatcounter.nix"], "default": {"_type": "literalExpression", "text": "8081"}, "description": "Web interface port.", "loc": ["services", "goatcounter", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.goatcounter.proxy": {"declarations": ["nixos/modules/services/web-apps/goatcounter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether Goatcounter service is running behind a reverse proxy. Will listen for HTTPS if `false`.\nRefer to [documentation](https://github.com/arp242/goatcounter?tab=readme-ov-file#running) for more details.\n", "loc": ["services", "goatcounter", "proxy"], "readOnly": false, "type": "boolean"}, "services.gobgpd.enable": {"declarations": ["nixos/modules/services/networking/gobgpd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GoBGP Routing Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gobgpd", "enable"], "readOnly": false, "type": "boolean"}, "services.gobgpd.settings": {"declarations": ["nixos/modules/services/networking/gobgpd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "GoBGP configuration. Refer to\n<https://github.com/osrg/gobgp#documentation>\nfor details on supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  global = {\n    config = {\n      as = 64512;\n      router-id = \"192.168.255.1\";\n    };\n  };\n  neighbors = [\n    {\n      config = {\n        neighbor-address = \"10.0.255.1\";\n        peer-as = 65001;\n      };\n    }\n    {\n      config = {\n        neighbor-address = \"10.0.255.2\";\n        peer-as = 65002;\n      };\n    }\n  ];\n}\n"}, "loc": ["services", "gobgpd", "settings"], "readOnly": false, "type": "TOML value"}, "services.gocd-agent.agentConfig": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Agent registration configuration.\n", "example": {"_type": "literalExpression", "text": "''\n  agent.auto.register.resources=ant,java\n  agent.auto.register.environments=QA,Performance\n  agent.auto.register.hostname=Agent01\n''"}, "loc": ["services", "gocd-agent", "agentConfig"], "readOnly": false, "type": "string"}, "services.gocd-agent.enable": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gocd-agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gocd-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.gocd-agent.environment": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to be passed to the Go.CD agent process.\nAs a base environment, Go.CD agent receives NIX_PATH from\n{option}`environment.sessionVariables`, NIX_REMOTE is set to\n\"daemon\".\n", "loc": ["services", "gocd-agent", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.gocd-agent.extraGroups": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra groups that the \"gocd-agent\" user should be a part of.\n", "example": {"_type": "literalExpression", "text": "[\n  \"wheel\"\n  \"docker\"\n]"}, "loc": ["services", "gocd-agent", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.gocd-agent.extraOptions": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies additional command line arguments to pass to Go.CD agent\njava process.  Example contains debug and gcLog arguments.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-X debug\"\n  \"-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006\"\n  \"-verbose:gc\"\n  \"-Xloggc:go-agent-gc.log\"\n  \"-XX:+PrintGCTimeStamps\"\n  \"-XX:+PrintTenuringDistribution\"\n  \"-XX:+PrintGCDetails\"\n  \"-XX:+PrintGC\"\n]"}, "loc": ["services", "gocd-agent", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.gocd-agent.goServer": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"https://127.0.0.1:8154/go\""}, "description": "URL of the GoCD Server to attach the Go.CD Agent to.\n", "loc": ["services", "gocd-agent", "goServer"], "readOnly": false, "type": "string"}, "services.gocd-agent.group": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"gocd-agent\""}, "description": "If the default user \"gocd-agent\" is configured then this is the primary\ngroup of that user.\n", "loc": ["services", "gocd-agent", "group"], "readOnly": false, "type": "string"}, "services.gocd-agent.initialJavaHeapSize": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"128m\""}, "description": "Specifies the initial java heap memory size for the Go.CD agent java process.\n", "loc": ["services", "gocd-agent", "initialJavaHeapSize"], "readOnly": false, "type": "string"}, "services.gocd-agent.maxJavaHeapMemory": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"256m\""}, "description": "Specifies the java maximum heap memory size for the Go.CD agent java process.\n", "loc": ["services", "gocd-agent", "maxJavaHeapMemory"], "readOnly": false, "type": "string"}, "services.gocd-agent.packages": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]"}, "description": "Packages to add to PATH for the Go.CD agent process.\n", "loc": ["services", "gocd-agent", "packages"], "readOnly": false, "type": "list of package"}, "services.gocd-agent.startupOptions": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"-Xms${config.services.gocd-agent.initialJavaHeapSize}\"\n  \"-Xmx${config.services.gocd-agent.maxJavaHeapMemory}\"\n  \"-Djava.io.tmpdir=/tmp\"\n  \"-Dcruise.console.publish.interval=10\"\n  \"-Djava.security.egd=file:/dev/./urandom\"\n]\n"}, "description": "Specifies startup command line arguments to pass to Go.CD agent\njava process.\n", "loc": ["services", "gocd-agent", "startupOptions"], "readOnly": false, "type": "list of string"}, "services.gocd-agent.user": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"gocd-agent\""}, "description": "User the Go.CD agent should execute under.\n", "loc": ["services", "gocd-agent", "user"], "readOnly": false, "type": "string"}, "services.gocd-agent.workDir": {"declarations": ["nixos/modules/services/continuous-integration/gocd-agent/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/go-agent\""}, "description": "Specifies the working directory in which the Go.CD agent java archive resides.\n", "loc": ["services", "gocd-agent", "workDir"], "readOnly": false, "type": "string"}, "services.gocd-server.enable": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gocd-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gocd-server", "enable"], "readOnly": false, "type": "boolean"}, "services.gocd-server.environment": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to be passed to the gocd-server process.\nAs a base environment, gocd-server receives NIX_PATH from\n{option}`environment.sessionVariables`, NIX_REMOTE is set to\n\"daemon\".\n", "loc": ["services", "gocd-server", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.gocd-server.extraGroups": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra groups that the \"gocd-server\" user should be a part of.\n", "example": {"_type": "literalExpression", "text": "[\n  \"wheel\"\n  \"docker\"\n]"}, "loc": ["services", "gocd-server", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.gocd-server.extraOptions": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies additional command line arguments to pass to Go.CD server's\njava process.  Example contains debug and gcLog arguments.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-X debug\"\n  \"-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005\"\n  \"-verbose:gc\"\n  \"-Xloggc:go-server-gc.log\"\n  \"-XX:+PrintGCTimeStamps\"\n  \"-XX:+PrintTenuringDistribution\"\n  \"-XX:+PrintGCDetails\"\n  \"-XX:+PrintGC\"\n]"}, "loc": ["services", "gocd-server", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.gocd-server.group": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "\"gocd-server\""}, "description": "If the default user \"gocd-server\" is configured then this is the primary group of that user.\n", "loc": ["services", "gocd-server", "group"], "readOnly": false, "type": "string"}, "services.gocd-server.initialJavaHeapSize": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "\"512m\""}, "description": "Specifies the initial java heap memory size for the Go.CD server's java process.\n", "loc": ["services", "gocd-server", "initialJavaHeapSize"], "readOnly": false, "type": "string"}, "services.gocd-server.listenAddress": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Specifies the bind address on which the Go.CD server HTTP interface listens.\n", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "gocd-server", "listenAddress"], "readOnly": false, "type": "string"}, "services.gocd-server.maxJavaHeapMemory": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "\"1024m\""}, "description": "Specifies the java maximum heap memory size for the Go.CD server's java process.\n", "loc": ["services", "gocd-server", "maxJavaHeapMemory"], "readOnly": false, "type": "string"}, "services.gocd-server.packages": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]"}, "description": "Packages to add to PATH for the Go.CD server's process.\n", "loc": ["services", "gocd-server", "packages"], "readOnly": false, "type": "list of package"}, "services.gocd-server.port": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "8153"}, "description": "Specifies port number on which the Go.CD server HTTP interface listens.\n", "loc": ["services", "gocd-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gocd-server.sslPort": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "8154"}, "description": "Specifies port number on which the Go.CD server HTTPS interface listens.\n", "loc": ["services", "gocd-server", "sslPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gocd-server.startupOptions": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"-Xms${config.services.gocd-server.initialJavaHeapSize}\"\n  \"-Xmx${config.services.gocd-server.maxJavaHeapMemory}\"\n  \"-Dcruise.listen.host=${config.services.gocd-server.listenAddress}\"\n  \"-Duser.language=en\"\n  \"-Djruby.rack.request.size.threshold.bytes=30000000\"\n  \"-Duser.country=US\"\n  \"-Dcruise.config.dir=${config.services.gocd-server.workDir}/conf\"\n  \"-Dcruise.config.file=${config.services.gocd-server.workDir}/conf/cruise-config.xml\"\n  \"-Dcruise.server.port=${toString config.services.gocd-server.port}\"\n  \"-Dcruise.server.ssl.port=${toString config.services.gocd-server.sslPort}\"\n  \"--add-opens=java.base/java.lang=ALL-UNNAMED\"\n  \"--add-opens=java.base/java.util=ALL-UNNAMED\"\n]\n"}, "description": "Specifies startup command line arguments to pass to Go.CD server\njava process.\n", "loc": ["services", "gocd-server", "startupOptions"], "readOnly": false, "type": "list of string"}, "services.gocd-server.user": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "\"gocd-server\""}, "description": "User the Go.CD server should execute under.\n", "loc": ["services", "gocd-server", "user"], "readOnly": false, "type": "string"}, "services.gocd-server.workDir": {"declarations": ["nixos/modules/services/continuous-integration/gocd-server/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/go-server\""}, "description": "Specifies the working directory in which the Go.CD server java archive resides.\n", "loc": ["services", "gocd-server", "workDir"], "readOnly": false, "type": "string"}, "services.godns.enable": {"declarations": ["nixos/modules/services/networking/godns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GoDNS service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "godns", "enable"], "readOnly": false, "type": "boolean"}, "services.godns.loadCredential": {"declarations": ["nixos/modules/services/networking/godns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This can be used to pass secrets to the systemd service without adding\nthem to the nix store.\n", "example": {"_type": "literalExpression", "text": "[\n  \"login_token:/path/to/login_token\"\n]"}, "loc": ["services", "godns", "loadCredential"], "readOnly": false, "type": "list of string"}, "services.godns.package": {"declarations": ["nixos/modules/services/networking/godns.nix"], "default": {"_type": "literalExpression", "text": "pkgs.godns"}, "description": "The godns package to use.", "loc": ["services", "godns", "package"], "readOnly": false, "type": "package"}, "services.godns.settings": {"declarations": ["nixos/modules/services/networking/godns.nix"], "description": "Configuration for GoDNS. Refer to the [configuration section](1) in the\nGoDNS GitHub repository for details.\n\n[1]: https://github.com/TimothyYe/godns?tab=readme-ov-file#configuration\n", "example": {"_type": "literalExpression", "text": "{\n  domains = [\n    {\n      domain_name = \"example.com\";\n      sub_domains = [\n        \"foo\"\n      ];\n    }\n  ];\n  interval = 300;\n  ip_type = \"IPv6\";\n  ipv6_urls = [\n    \"https://api6.ipify.org\"\n    \"https://ip2location.io/ip\"\n    \"https://v6.ipinfo.io/ip\"\n  ];\n  login_token_file = \"$CREDENTIALS_DIRECTORY/login_token\";\n  provider = \"Cloudflare\";\n}"}, "loc": ["services", "godns", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.goeland.enable": {"declarations": ["nixos/modules/services/mail/goeland.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable goeland, an alternative to rss2email.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "goeland", "enable"], "readOnly": false, "type": "boolean"}, "services.goeland.schedule": {"declarations": ["nixos/modules/services/mail/goeland.nix"], "default": {"_type": "literalExpression", "text": "\"12h\""}, "description": "How often to run goeland, in systemd time format.", "example": {"_type": "literalExpression", "text": "\"Mon, 00:00:00\""}, "loc": ["services", "goeland", "schedule"], "readOnly": false, "type": "string"}, "services.goeland.settings": {"declarations": ["nixos/modules/services/mail/goeland.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration of goeland.\nSee the [example config file](https://github.com/slurdge/goeland/blob/master/cmd/asset/config.default.toml) for the available options.\n", "loc": ["services", "goeland", "settings"], "readOnly": false, "type": "TOML value"}, "services.goeland.stateDir": {"declarations": ["nixos/modules/services/mail/goeland.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/goeland\""}, "description": "The data directory for goeland where the database will reside if using the unseen filter.\nIf left as the default value this directory will automatically be created before the goeland\nserver starts, otherwise you are responsible for ensuring the directory exists with\nappropriate ownership and permissions.\n", "loc": ["services", "goeland", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.gokapi.enable": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Lightweight selfhosted Firefox Send alternative without public upload.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gokapi", "enable"], "readOnly": false, "type": "boolean"}, "services.gokapi.environment": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to be set for the gokapi service. Can use systemd specifiers.\nFor full list see <https://gokapi.readthedocs.io/en/latest/advanced.html#environment-variables>.\n", "loc": ["services", "gokapi", "environment"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer)"}, "services.gokapi.environment.GOKAPI_CONFIG_DIR": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "\"%S/gokapi/config\""}, "description": "Sets the directory for the config file.", "loc": ["services", "gokapi", "environment", "GOKAPI_CONFIG_DIR"], "readOnly": false, "type": "string"}, "services.gokapi.environment.GOKAPI_CONFIG_FILE": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "\"config.json\""}, "description": "Sets the filename for the config file.", "loc": ["services", "gokapi", "environment", "GOKAPI_CONFIG_FILE"], "readOnly": false, "type": "string"}, "services.gokapi.environment.GOKAPI_DATA_DIR": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "\"%S/gokapi/data\""}, "description": "Sets the directory for the data.", "loc": ["services", "gokapi", "environment", "GOKAPI_DATA_DIR"], "readOnly": false, "type": "string"}, "services.gokapi.environment.GOKAPI_PORT": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "53842"}, "description": "Sets the port of the service.", "loc": ["services", "gokapi", "environment", "GOKAPI_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gokapi.mutableSettings": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Allow changes to the program config made by the program to persist between restarts.\nIf disabled all required values must be set using nix, and all changes to config format over application updates must be resolved by user.\n", "loc": ["services", "gokapi", "mutableSettings"], "readOnly": false, "type": "boolean"}, "services.gokapi.package": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gokapi"}, "description": "The gokapi package to use.", "loc": ["services", "gokapi", "package"], "readOnly": false, "type": "package"}, "services.gokapi.settings": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration settings for the generated config json file.\nSee <https://gokapi.readthedocs.io/en/latest/advanced.html#config-json> for more information\n", "loc": ["services", "gokapi", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.gokapi.settingsFile": {"declarations": ["nixos/modules/services/networking/gokapi.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to config file to parse and append to settings.\nLargely useful for loading secrets from a file not in the nix store. Can use systemd specifiers.\nSee <https://gokapi.readthedocs.io/en/latest/advanced.html#config-json> for more information\n", "loc": ["services", "gokapi", "settingsFile"], "readOnly": false, "type": "null or string"}, "services.gollum.address": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "IP address on which the web server will listen.", "loc": ["services", "gollum", "address"], "readOnly": false, "type": "string"}, "services.gollum.allowUploads": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable uploads of external files", "loc": ["services", "gollum", "allowUploads"], "readOnly": false, "type": "null or one of \"dir\", \"page\""}, "services.gollum.branch": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "\"master\""}, "description": "Git branch to serve", "example": {"_type": "literalExpression", "text": "\"develop\""}, "loc": ["services", "gollum", "branch"], "readOnly": false, "type": "string"}, "services.gollum.emoji": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Parse and interpret emoji tags", "loc": ["services", "gollum", "emoji"], "readOnly": false, "type": "boolean"}, "services.gollum.enable": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gollum, a git-powered wiki service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gollum", "enable"], "readOnly": false, "type": "boolean"}, "services.gollum.extraConfig": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Content of the configuration file", "example": {"_type": "literalExpression", "text": "''\n  wiki_options = {\n    show_local_time: true\n  }\n  \n  Precious::App.set(:wiki_options, wiki_options)\n''"}, "loc": ["services", "gollum", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gollum.group": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "\"gollum\""}, "description": "Specifies the owner group of the wiki directory", "loc": ["services", "gollum", "group"], "readOnly": false, "type": "string"}, "services.gollum.h1-title": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use the first h1 as page title", "loc": ["services", "gollum", "h1-title"], "readOnly": false, "type": "boolean"}, "services.gollum.math": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable support for math rendering using KaTeX", "loc": ["services", "gollum", "math"], "readOnly": false, "type": "boolean"}, "services.gollum.no-edit": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable editing pages", "loc": ["services", "gollum", "no-edit"], "readOnly": false, "type": "boolean"}, "services.gollum.package": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gollum"}, "description": "The gollum package to use.", "loc": ["services", "gollum", "package"], "readOnly": false, "type": "package"}, "services.gollum.port": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "4567"}, "description": "Port on which the web server will run.", "loc": ["services", "gollum", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gollum.stateDir": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/gollum\""}, "description": "Specifies the path of the repository directory. If it does not exist, Gollum will create it on startup.", "loc": ["services", "gollum", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.gollum.user": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "\"gollum\""}, "description": "Specifies the owner of the wiki directory", "loc": ["services", "gollum", "user"], "readOnly": false, "type": "string"}, "services.gollum.user-icons": {"declarations": ["nixos/modules/services/misc/gollum.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable specific user icons for history view", "loc": ["services", "gollum", "user-icons"], "readOnly": false, "type": "null or one of \"gravatar\", \"identicon\""}, "services.gonic.enable": {"declarations": ["nixos/modules/services/audio/gonic.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gonic music server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gonic", "enable"], "readOnly": false, "type": "boolean"}, "services.gonic.package": {"declarations": ["nixos/modules/services/audio/gonic.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gonic"}, "description": "The gonic package to use.", "loc": ["services", "gonic", "package"], "readOnly": false, "type": "package"}, "services.gonic.settings": {"declarations": ["nixos/modules/services/audio/gonic.nix"], "default": {"_type": "literalExpression", "text": "{\n  cache-path = \"/var/cache/gonic\";\n  listen-addr = \"127.0.0.1:4747\";\n  tls-cert = null;\n  tls-key = null;\n}"}, "description": "Configuration for Gonic, see <https://github.com/sentriz/gonic#configuration-options> for supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  music-path = [\n    \"/mnt/music\"\n  ];\n  playlists-path = \"/mnt/playlists\";\n  podcast-path = \"/mnt/podcasts\";\n}"}, "loc": ["services", "gonic", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.goss.enable": {"declarations": ["nixos/modules/services/monitoring/goss.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Goss daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "goss", "enable"], "readOnly": false, "type": "boolean"}, "services.goss.environment": {"declarations": ["nixos/modules/services/monitoring/goss.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to set for the goss service.\n\nSee <https://github.com/goss-org/goss/blob/master/docs/manual.md>\n", "example": {"_type": "literalExpression", "text": "{\n  GOSS_FMT = \"json\";\n  GOSS_LISTEN = \":8080\";\n  GOSS_LOGLEVEL = \"FATAL\";\n}"}, "loc": ["services", "goss", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.goss.package": {"declarations": ["nixos/modules/services/monitoring/goss.nix"], "default": {"_type": "literalExpression", "text": "pkgs.goss"}, "description": "The goss package to use.", "loc": ["services", "goss", "package"], "readOnly": false, "type": "package"}, "services.goss.settings": {"declarations": ["nixos/modules/services/monitoring/goss.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The global options in `config` file in yaml format.\n\nRefer to <https://github.com/goss-org/goss/blob/master/docs/goss-json-schema.yaml> for schema.\n", "example": {"_type": "literalExpression", "text": "{\n  addr = {\n    \"tcp://localhost:8080\" = {\n      local-address = \"127.0.0.1\";\n      reachable = true;\n    };\n  };\n  service = {\n    goss = {\n      enabled = true;\n      running = true;\n    };\n  };\n}"}, "loc": ["services", "goss", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.gotenberg.bindIP": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Port the API listener should bind to. Set to 0.0.0.0 to listen on all available IPs.", "loc": ["services", "gotenberg", "bindIP"], "readOnly": false, "type": "null or string"}, "services.gotenberg.bodyLimit": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the max limit for `multipart/form-data` requests. Accepts values like '5M', '20G', etc.", "loc": ["services", "gotenberg", "bodyLimit"], "readOnly": false, "type": "null or string"}, "services.gotenberg.chromium.autoStart": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically start Chromium when Gotenberg starts. If false, Chromium will start on the first conversion request that uses it.", "loc": ["services", "gotenberg", "chromium", "autoStart"], "readOnly": false, "type": "boolean"}, "services.gotenberg.chromium.disableJavascript": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable Javascript execution.", "loc": ["services", "gotenberg", "chromium", "disableJavascript"], "readOnly": false, "type": "boolean"}, "services.gotenberg.chromium.disableRoutes": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable all routes allowing Chromium-based conversion.", "loc": ["services", "gotenberg", "chromium", "disableRoutes"], "readOnly": false, "type": "boolean"}, "services.gotenberg.chromium.maxQueueSize": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum queue size for chromium-based conversions. Setting to 0 disables the limit.", "loc": ["services", "gotenberg", "chromium", "maxQueueSize"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.gotenberg.chromium.package": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "pkgs.chromium"}, "description": "The chromium package to use.", "loc": ["services", "gotenberg", "chromium", "package"], "readOnly": false, "type": "package"}, "services.gotenberg.downloadFrom.allowList": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "\".*\""}, "description": "Allow these URLs to be used in the `downloadFrom` API field. Accepts a regular expression.", "loc": ["services", "gotenberg", "downloadFrom", "allowList"], "readOnly": false, "type": "null or string"}, "services.gotenberg.downloadFrom.denyList": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Deny accepting URLs from these domains in the `downloadFrom` API field. Accepts a regular expression.", "loc": ["services", "gotenberg", "downloadFrom", "denyList"], "readOnly": false, "type": "null or string"}, "services.gotenberg.downloadFrom.disable": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable the ability to download files for conversion from outside sources.", "loc": ["services", "gotenberg", "downloadFrom", "disable"], "readOnly": false, "type": "boolean"}, "services.gotenberg.downloadFrom.maxRetries": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "The maximum amount of times to retry downloading a file specified with `downloadFrom`.", "loc": ["services", "gotenberg", "downloadFrom", "maxRetries"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.gotenberg.enable": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gotenberg, a stateless API for PDF files.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gotenberg", "enable"], "readOnly": false, "type": "boolean"}, "services.gotenberg.enableBasicAuth": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "HTTP Basic Authentication.\n\nIf you set this, be sure to set `GOTENBERG_API_BASIC_AUTH_USERNAME`and `GOTENBERG_API_BASIC_AUTH_PASSWORD`\nin your `services.gotenberg.environmentFile` file.\n", "loc": ["services", "gotenberg", "enableBasicAuth"], "readOnly": false, "type": "boolean"}, "services.gotenberg.environmentFile": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file to load extra environment variables from.", "loc": ["services", "gotenberg", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.gotenberg.extraArgs": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Any extra command-line flags to pass to the Gotenberg service.", "loc": ["services", "gotenberg", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.gotenberg.extraFontPackages": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra fonts to make available.", "loc": ["services", "gotenberg", "extraFontPackages"], "readOnly": false, "type": "list of package"}, "services.gotenberg.libreoffice.autoStart": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically start LibreOffice when Gotenberg starts. If false, LibreOffice will start on the first conversion request that uses it.", "loc": ["services", "gotenberg", "libreoffice", "autoStart"], "readOnly": false, "type": "boolean"}, "services.gotenberg.libreoffice.disableRoutes": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable all routes allowing LibreOffice-based conversion.", "loc": ["services", "gotenberg", "libreoffice", "disableRoutes"], "readOnly": false, "type": "boolean"}, "services.gotenberg.libreoffice.maxQueueSize": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum queue size for LibreOffice-based conversions. Setting to 0 disables the limit.", "loc": ["services", "gotenberg", "libreoffice", "maxQueueSize"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.gotenberg.libreoffice.package": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "pkgs.libreoffice"}, "description": "The libreoffice package to use.", "loc": ["services", "gotenberg", "libreoffice", "package"], "readOnly": false, "type": "package"}, "services.gotenberg.libreoffice.restartAfter": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Restart LibreOffice after this many conversions. Setting to 0 disables this feature.", "loc": ["services", "gotenberg", "libreoffice", "restartAfter"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.gotenberg.logLevel": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "The logging level for Gotenberg.", "loc": ["services", "gotenberg", "logLevel"], "readOnly": false, "type": "one of \"error\", \"warn\", \"info\", \"debug\""}, "services.gotenberg.package": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gotenberg"}, "description": "The gotenberg package to use.", "loc": ["services", "gotenberg", "package"], "readOnly": false, "type": "package"}, "services.gotenberg.pdfEngines.convert": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"libreoffice-pdfengine\"\n]"}, "description": "PDF Engines to use for converting files.", "loc": ["services", "gotenberg", "pdfEngines", "convert"], "readOnly": false, "type": "list of value \"libreoffice-pdfengine\" (singular enum)"}, "services.gotenberg.pdfEngines.disableRoutes": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable routes related to PDF engines.", "loc": ["services", "gotenberg", "pdfEngines", "disableRoutes"], "readOnly": false, "type": "boolean"}, "services.gotenberg.pdfEngines.merge": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"qpdf\"\n  \"pdfcpu\"\n  \"pdftk\"\n]"}, "description": "PDF Engines to use for merging files.", "loc": ["services", "gotenberg", "pdfEngines", "merge"], "readOnly": false, "type": "list of (one of \"qpdf\", \"pdfcpu\", \"pdftk\")"}, "services.gotenberg.pdfEngines.readMetadata": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"exiftool\"\n]"}, "description": "PDF Engines to use for reading metadata from files.", "loc": ["services", "gotenberg", "pdfEngines", "readMetadata"], "readOnly": false, "type": "list of value \"exiftool\" (singular enum)"}, "services.gotenberg.pdfEngines.writeMetadata": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"exiftool\"\n]"}, "description": "PDF Engines to use for writing metadata to files.", "loc": ["services", "gotenberg", "pdfEngines", "writeMetadata"], "readOnly": false, "type": "list of value \"exiftool\" (singular enum)"}, "services.gotenberg.port": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port on which the API should listen.", "loc": ["services", "gotenberg", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gotenberg.rootPath": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "Root path for the Gotenberg API.", "loc": ["services", "gotenberg", "rootPath"], "readOnly": false, "type": "string"}, "services.gotenberg.timeout": {"declarations": ["nixos/modules/services/misc/gotenberg.nix"], "default": {"_type": "literalExpression", "text": "\"30s\""}, "description": "Timeout for API requests.", "loc": ["services", "gotenberg", "timeout"], "readOnly": false, "type": "null or string"}, "services.gotify.enable": {"declarations": ["nixos/modules/services/web-apps/gotify-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Gotify webserver.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gotify", "enable"], "readOnly": false, "type": "boolean"}, "services.gotify.environment": {"declarations": ["nixos/modules/services/web-apps/gotify-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Config environment variables for the gotify-server.\nSee <https://gotify.net/docs/config> for more details.\n", "example": {"_type": "literalExpression", "text": "{\n  GOTIFY_DATABASE_DIALECT = \"sqlite3\";\n  GOTIFY_SERVER_PORT = 8080;\n}"}, "loc": ["services", "gotify", "environment"], "readOnly": false, "type": "attribute set of (string or signed integer)"}, "services.gotify.environmentFiles": {"declarations": ["nixos/modules/services/web-apps/gotify-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files containing additional config environment variables for gotify-server.\nSecrets should be set in environmentFiles instead of environment.\n", "loc": ["services", "gotify", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.gotify.package": {"declarations": ["nixos/modules/services/web-apps/gotify-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gotify-server"}, "description": "The gotify-server package to use.", "loc": ["services", "gotify", "package"], "readOnly": false, "type": "package"}, "services.gotify.stateDirectoryName": {"declarations": ["nixos/modules/services/web-apps/gotify-server.nix"], "default": {"_type": "literalExpression", "text": "\"gotify-server\""}, "description": "The name of the directory below {file}`/var/lib` where\ngotify stores its runtime data.\n", "loc": ["services", "gotify", "stateDirectoryName"], "readOnly": false, "type": "string"}, "services.gotosocial.enable": {"declarations": ["nixos/modules/services/web-apps/gotosocial.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ActivityPub social network server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gotosocial", "enable"], "readOnly": false, "type": "boolean"}, "services.gotosocial.environmentFile": {"declarations": ["nixos/modules/services/web-apps/gotosocial.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File path containing environment variables for configuring the GoToSocial service\nin the format of an EnvironmentFile as described by {manpage}`systemd.exec(5)`.\n\nThis option could be used to pass sensitive configuration to the GoToSocial daemon.\n\nPlease refer to the Environment Variables section in the\n[documentation](https://docs.gotosocial.org/en/latest/configuration/).\n", "example": {"_type": "literalExpression", "text": "\"/root/nixos/secrets/gotosocial.env\""}, "loc": ["services", "gotosocial", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.gotosocial.openFirewall": {"declarations": ["nixos/modules/services/web-apps/gotosocial.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the configured port in the firewall.\nUsing a reverse proxy instead is highly recommended.\n", "loc": ["services", "gotosocial", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.gotosocial.package": {"declarations": ["nixos/modules/services/web-apps/gotosocial.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gotosocial"}, "description": "The gotosocial package to use.", "loc": ["services", "gotosocial", "package"], "readOnly": false, "type": "package"}, "services.gotosocial.settings": {"declarations": ["nixos/modules/services/web-apps/gotosocial.nix"], "default": {"_type": "literalExpression", "text": "{\n  application-name = \"gotosocial\";\n  bind-address = \"127.0.0.1\";\n  db-address = \"/var/lib/gotosocial/database.sqlite\";\n  db-type = \"sqlite\";\n  port = 8080;\n  protocol = \"https\";\n  storage-local-base-path = \"/var/lib/gotosocial/storage\";\n}"}, "description": "Contents of the GoToSocial YAML config.\n\nPlease refer to the\n[documentation](https://docs.gotosocial.org/en/latest/configuration/)\nand\n[example config](https://github.com/superseriousbusiness/gotosocial/blob/main/example/config.yaml).\n\nPlease note that the `host` option cannot be changed later so it is important to configure this correctly before you start GoToSocial.\n", "example": {"_type": "literalExpression", "text": "{\n  application-name = \"My GoToSocial\";\n  host = \"gotosocial.example.com\";\n}"}, "loc": ["services", "gotosocial", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.gotosocial.setupPostgresqlDB": {"declarations": ["nixos/modules/services/web-apps/gotosocial.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to setup a local postgres database and populate the\n`db-type` fields in `services.gotosocial.settings`.\n", "loc": ["services", "gotosocial", "setupPostgresqlDB"], "readOnly": false, "type": "boolean"}, "services.goupile.configFile": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "description": "The configuration file to be passed to goupile server.\n\nBy default the configuration file is created from `services.goupile.settings`.\n", "loc": ["services", "goupile", "configFile"], "readOnly": false, "type": "absolute path"}, "services.goupile.enable": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Goupile server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "goupile", "enable"], "readOnly": false, "type": "boolean"}, "services.goupile.enableSandbox": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the sandbox option.", "loc": ["services", "goupile", "enableSandbox"], "readOnly": false, "type": "boolean"}, "services.goupile.hostName": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdnOrHostName"}, "description": "Nginx service name for goupile service.", "loc": ["services", "goupile", "hostName"], "readOnly": false, "type": "string"}, "services.goupile.package": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "default": {"_type": "literalExpression", "text": "pkgs.goupile"}, "description": "The goupile package to use.", "loc": ["services", "goupile", "package"], "readOnly": false, "type": "package"}, "services.goupile.settings": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The options for `systemd.services.goupile` in ini format.\n\nThe configuration options available can be found here\nhttps://github.com/Koromix/rygel/blob/goupile/3.11.1/src/goupile/server/admin.cc#L41\n", "example": {"_type": "literalExpression", "text": "{\n  HTTP.Port = 8888;\n}\n"}, "loc": ["services", "goupile", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.goupile.settings.Data.RootDirectory": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/goupile\""}, "description": "Goupile's data directory.", "loc": ["services", "goupile", "settings", "Data", "RootDirectory"], "readOnly": false, "type": "string"}, "services.goupile.settings.HTTP.Port": {"declarations": ["nixos/modules/services/web-apps/goupile.nix"], "default": {"_type": "literalExpression", "text": "8889"}, "description": "The port goupile runs on", "loc": ["services", "goupile", "settings", "HTTP", "Port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.govee2mqtt.enable": {"declarations": ["nixos/modules/services/home-automation/govee2mqtt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Govee2MQTT.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "govee2mqtt", "enable"], "readOnly": false, "type": "boolean"}, "services.govee2mqtt.environmentFile": {"declarations": ["nixos/modules/services/home-automation/govee2mqtt.nix"], "description": "Environment file as defined in {manpage}`systemd.exec(5)`.\n\nSee upstream documentation <https://github.com/wez/govee2mqtt/blob/main/docs/CONFIG.md>.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/govee2mqtt/govee2mqtt.env\""}, "loc": ["services", "govee2mqtt", "environmentFile"], "readOnly": false, "type": "absolute path"}, "services.govee2mqtt.group": {"declarations": ["nixos/modules/services/home-automation/govee2mqtt.nix"], "default": {"_type": "literalExpression", "text": "\"govee2mqtt\""}, "description": "Group under which Govee2MQTT should run.", "loc": ["services", "govee2mqtt", "group"], "readOnly": false, "type": "string"}, "services.govee2mqtt.package": {"declarations": ["nixos/modules/services/home-automation/govee2mqtt.nix"], "default": {"_type": "literalExpression", "text": "pkgs.govee2mqtt"}, "description": "The govee2mqtt package to use.", "loc": ["services", "govee2mqtt", "package"], "readOnly": false, "type": "package"}, "services.govee2mqtt.user": {"declarations": ["nixos/modules/services/home-automation/govee2mqtt.nix"], "default": {"_type": "literalExpression", "text": "\"govee2mqtt\""}, "description": "User under which Govee2MQTT should run.", "loc": ["services", "govee2mqtt", "user"], "readOnly": false, "type": "string"}, "services.goxlr-utility.autoStart.xdg": {"declarations": ["nixos/modules/services/audio/goxlr-utility.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Start the daemon automatically using XDG autostart.\nSets `xdg.autostart.enable = true` if not already enabled.\n", "loc": ["services", "goxlr-utility", "autoStart", "xdg"], "readOnly": false, "type": "boolean"}, "services.goxlr-utility.enable": {"declarations": ["nixos/modules/services/audio/goxlr-utility.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable goxlr-utility for controlling your TC-Helicon GoXLR or GoXLR Mini\n", "loc": ["services", "goxlr-utility", "enable"], "readOnly": false, "type": "boolean"}, "services.goxlr-utility.package": {"declarations": ["nixos/modules/services/audio/goxlr-utility.nix"], "default": {"_type": "literalExpression", "text": "pkgs.goxlr-utility"}, "description": "The goxlr-utility package to use.", "loc": ["services", "goxlr-utility", "package"], "readOnly": false, "type": "package"}, "services.gpm.enable": {"declarations": ["nixos/modules/services/ttys/gpm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GPM, the General Purpose Mouse daemon,\nwhich enables mouse support in virtual consoles.\n", "loc": ["services", "gpm", "enable"], "readOnly": false, "type": "boolean"}, "services.gpm.protocol": {"declarations": ["nixos/modules/services/ttys/gpm.nix"], "default": {"_type": "literalExpression", "text": "\"ps/2\""}, "description": "Mouse protocol to use.", "loc": ["services", "gpm", "protocol"], "readOnly": false, "type": "string"}, "services.gpsd.debugLevel": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The debugging level.\n", "loc": ["services", "gpsd", "debugLevel"], "readOnly": false, "type": "signed integer"}, "services.gpsd.devices": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/dev/ttyUSB0\"\n]"}, "description": "List of devices that `gpsd` should subscribe to.\n\nA device may be a local serial device for GPS input, or a\nURL of the form:\n`[{dgpsip|ntrip}://][user:passwd@]host[:port][/stream]` in\nwhich case it specifies an input source for DGPS or ntrip\ndata.\n", "loc": ["services", "gpsd", "devices"], "readOnly": false, "type": "list of string"}, "services.gpsd.enable": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable `gpsd`, a GPS service daemon.\n", "loc": ["services", "gpsd", "enable"], "readOnly": false, "type": "boolean"}, "services.gpsd.extraArgs": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of extra command line arguments to pass to gpsd.\nCheck {manpage}`gpsd(8)` mangpage for possible arguments.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-r\"\n  \"-s\"\n  \"19200\"\n]"}, "loc": ["services", "gpsd", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.gpsd.listenany": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Listen on all addresses rather than just loopback.\n", "loc": ["services", "gpsd", "listenany"], "readOnly": false, "type": "boolean"}, "services.gpsd.nowait": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "don't wait for client connects to poll GPS\n", "loc": ["services", "gpsd", "nowait"], "readOnly": false, "type": "boolean"}, "services.gpsd.port": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "2947"}, "description": "The port where to listen for TCP connections.\n", "loc": ["services", "gpsd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.gpsd.readonly": {"declarations": ["nixos/modules/services/misc/gpsd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the broken-device-safety, otherwise\nknown as read-only mode.  Some popular bluetooth and USB\nreceivers lock up or become totally inaccessible when\nprobed or reconfigured.  This switch prevents gpsd from\nwriting to a receiver.  This means that gpsd cannot\nconfigure the receiver for optimal performance, but it\nalso means that gpsd cannot break the receiver.  A better\nsolution would be for Bluetooth to not be so fragile.  A\nplatform independent method to identify\nserial-over-Bluetooth devices would also be nice.\n", "loc": ["services", "gpsd", "readonly"], "readOnly": false, "type": "boolean"}, "services.grafana-image-renderer.enable": {"declarations": ["nixos/modules/services/monitoring/grafana-image-renderer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable grafana-image-renderer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grafana-image-renderer", "enable"], "readOnly": false, "type": "boolean"}, "services.grafana-image-renderer.provisionGrafana": {"declarations": ["nixos/modules/services/monitoring/grafana-image-renderer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Grafana configuration for grafana-image-renderer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grafana-image-renderer", "provisionGrafana"], "readOnly": false, "type": "boolean"}, "services.grafana-image-renderer.settings": {"declarations": ["nixos/modules/services/monitoring/grafana-image-renderer.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration attributes for `grafana-image-renderer`.\n", "loc": ["services", "grafana-image-renderer", "settings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of (string or signed integer or boolean or list of (string or signed integer))"}, "services.grafana-image-renderer.settings.browser.path": {"declarations": ["nixos/modules/services/monitoring/grafana-image-renderer.nix"], "default": {"_type": "literalExpression", "text": "lib.getExe pkgs.chromium"}, "description": "Path to the executable of the chromium to use.\n", "loc": ["services", "grafana-image-renderer", "settings", "browser", "path"], "readOnly": false, "type": "absolute path"}, "services.grafana-image-renderer.settings.server.addr": {"declarations": ["nixos/modules/services/monitoring/grafana-image-renderer.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:8081\""}, "description": "Listen address of the service.\n", "loc": ["services", "grafana-image-renderer", "settings", "server", "addr"], "readOnly": false, "type": "string"}, "services.grafana-to-ntfy.enable": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable grafana-to-ntfy, a Grafana/Alertmanager to ntfy.sh bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grafana-to-ntfy", "enable"], "readOnly": false, "type": "boolean"}, "services.grafana-to-ntfy.package": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.grafana-to-ntfy"}, "description": "The grafana-to-ntfy package to use.", "loc": ["services", "grafana-to-ntfy", "package"], "readOnly": false, "type": "package"}, "services.grafana-to-ntfy.settings.address": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to listen on.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "grafana-to-ntfy", "settings", "address"], "readOnly": false, "type": "string"}, "services.grafana-to-ntfy.settings.bauthPass": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the password file for Basic Auth on incoming webhook requests.\nWhen set together with {option}`bauthUser`, incoming requests require Basic Auth.\nWhen both are null, the endpoint is open (unauthenticated).\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/grafana-to-ntfy-bauth-pass\""}, "loc": ["services", "grafana-to-ntfy", "settings", "bauthPass"], "readOnly": false, "type": "null or absolute path"}, "services.grafana-to-ntfy.settings.bauthUser": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The user for Basic Auth on incoming webhook requests from Grafana or Alertmanager.\nWhen set together with {option}`bauthPass`, incoming requests require Basic Auth.\nWhen both are null, the endpoint is open (unauthenticated).\n", "example": {"_type": "literalExpression", "text": "\"admin\""}, "loc": ["services", "grafana-to-ntfy", "settings", "bauthUser"], "readOnly": false, "type": "null or string"}, "services.grafana-to-ntfy.settings.markdown": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Markdown formatting in ntfy notifications. Sets the X-Markdown header.", "loc": ["services", "grafana-to-ntfy", "settings", "markdown"], "readOnly": false, "type": "boolean"}, "services.grafana-to-ntfy.settings.ntfyBAuthPass": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the password for the specified ntfy-sh user.\nSetting this option is required when using a ntfy-sh instance with access control enabled.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/grafana-to-ntfy-ntfy-pass\""}, "loc": ["services", "grafana-to-ntfy", "settings", "ntfyBAuthPass"], "readOnly": false, "type": "null or absolute path"}, "services.grafana-to-ntfy.settings.ntfyBAuthUser": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The ntfy-sh user to use for authenticating with the ntfy-sh instance.\nSetting this option is required when using a ntfy-sh instance with access control enabled.\n", "example": {"_type": "literalExpression", "text": "\"grafana\""}, "loc": ["services", "grafana-to-ntfy", "settings", "ntfyBAuthUser"], "readOnly": false, "type": "null or string"}, "services.grafana-to-ntfy.settings.ntfyUrl": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "description": "The URL to the ntfy-sh topic.", "example": {"_type": "literalExpression", "text": "\"https://push.example.com/grafana\""}, "loc": ["services", "grafana-to-ntfy", "settings", "ntfyUrl"], "readOnly": false, "type": "string"}, "services.grafana-to-ntfy.settings.port": {"declarations": ["nixos/modules/services/monitoring/grafana-to-ntfy.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port to listen on.", "loc": ["services", "grafana-to-ntfy", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.grafana.dataDir": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/grafana\""}, "description": "Data directory.", "loc": ["services", "grafana", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.grafana.declarativePlugins": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If non-null, then a list of packages containing Grafana plugins to install. If set, plugins cannot\nbe manually installed.\n\nKeep in mind that this turns off drilldown: for this to work, you need to add\n`grafana-metricsdrilldown-app`, `grafana-lokiexplore-app`, `grafana-exploretraces-app`\nand `grafana-pyroscope-app` to this option.\n", "example": {"_type": "literalExpression", "text": "with pkgs.grafanaPlugins; [ grafana-piechart-panel ]"}, "loc": ["services", "grafana", "declarativePlugins"], "readOnly": false, "type": "null or (list of absolute path)"}, "services.grafana.enable": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable grafana.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grafana", "enable"], "readOnly": false, "type": "boolean"}, "services.grafana.openFirewall": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the ports in the firewall for the server.", "loc": ["services", "grafana", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.grafana.package": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "pkgs.grafana"}, "description": "The grafana package to use.", "loc": ["services", "grafana", "package"], "readOnly": false, "type": "package"}, "services.grafana.provision.alerting.contactPoints.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to YAML contact points configuration. Can't be used with\n[](#opt-services.grafana.provision.alerting.contactPoints.settings) simultaneously.\nCan be either a directory or a single YAML file. Will end up in the store.\n", "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "path"], "readOnly": false, "type": "null or absolute path"}, "services.grafana.provision.alerting.contactPoints.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Grafana contact points configuration in Nix. Can't be used with\n[](#opt-services.grafana.provision.alerting.contactPoints.path) simultaneously. See\n<https://grafana.com/docs/grafana/latest/administration/provisioning/#contact-points>\nfor supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  apiVersion = 1;\n\n  contactPoints = [{\n    orgId = 1;\n    name = \"cp_1\";\n    receivers = [{\n      uid = \"first_uid\";\n      type = \"prometheus-alertmanager\";\n      settings.url = \"http://test:9000\";\n    }];\n  }];\n\n  deleteContactPoints = [{\n    orgId = 1;\n    uid = \"first_uid\";\n  }];\n}\n"}, "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "settings"], "readOnly": false, "type": "null or (submodule)"}, "services.grafana.provision.alerting.contactPoints.settings.apiVersion": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Config file version.", "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "settings", "apiVersion"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.contactPoints.settings.contactPoints": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of contact points to import or update.", "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "settings", "contactPoints"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.grafana.provision.alerting.contactPoints.settings.contactPoints.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the contact point. Required.", "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "settings", "contactPoints", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.contactPoints.settings.deleteContactPoints": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of receivers that should be deleted.", "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "settings", "deleteContactPoints"], "readOnly": false, "type": "list of (submodule)"}, "services.grafana.provision.alerting.contactPoints.settings.deleteContactPoints.*.orgId": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Organization ID, default = 1.", "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "settings", "deleteContactPoints", "*", "orgId"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.contactPoints.settings.deleteContactPoints.*.uid": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Unique identifier for the receiver. Required.", "loc": ["services", "grafana", "provision", "alerting", "contactPoints", "settings", "deleteContactPoints", "*", "uid"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.muteTimings.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to YAML mute timings configuration. Can't be used with\n[](#opt-services.grafana.provision.alerting.muteTimings.settings) simultaneously.\nCan be either a directory or a single YAML file. Will end up in the store.\n", "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "path"], "readOnly": false, "type": "null or absolute path"}, "services.grafana.provision.alerting.muteTimings.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Grafana mute timings configuration in Nix. Can't be used with\n[](#opt-services.grafana.provision.alerting.muteTimings.path) simultaneously. See\n<https://grafana.com/docs/grafana/latest/administration/provisioning/#mute-timings>\nfor supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  apiVersion = 1;\n\n  muteTimes = [{\n    orgId = 1;\n    name = \"mti_1\";\n    time_intervals = [{\n      times = [{\n        start_time = \"06:00\";\n        end_time = \"23:59\";\n      }];\n      weekdays = [\n        \"monday:wednesday\"\n        \"saturday\"\n        \"sunday\"\n      ];\n      months = [\n        \"1:3\"\n        \"may:august\"\n        \"december\"\n      ];\n      years = [\n        \"2020:2022\"\n        \"2030\"\n      ];\n      days_of_month = [\n        \"1:5\"\n        \"-3:-1\"\n      ];\n    }];\n  }];\n\n  deleteMuteTimes = [{\n    orgId = 1;\n    name = \"mti_1\";\n  }];\n}\n"}, "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "settings"], "readOnly": false, "type": "null or (submodule)"}, "services.grafana.provision.alerting.muteTimings.settings.apiVersion": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Config file version.", "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "settings", "apiVersion"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.muteTimings.settings.deleteMuteTimes": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of mute time intervals that should be deleted.", "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "settings", "deleteMuteTimes"], "readOnly": false, "type": "list of (submodule)"}, "services.grafana.provision.alerting.muteTimings.settings.deleteMuteTimes.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the mute time interval, must be unique. Required.", "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "settings", "deleteMuteTimes", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.muteTimings.settings.deleteMuteTimes.*.orgId": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Organization ID, default = 1.", "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "settings", "deleteMuteTimes", "*", "orgId"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.muteTimings.settings.muteTimes": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of mute time intervals to import or update.", "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "settings", "muteTimes"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.grafana.provision.alerting.muteTimings.settings.muteTimes.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the mute time interval, must be unique. Required.", "loc": ["services", "grafana", "provision", "alerting", "muteTimings", "settings", "muteTimes", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.policies.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to YAML notification policies configuration. Can't be used with\n[](#opt-services.grafana.provision.alerting.policies.settings) simultaneously.\nCan be either a directory or a single YAML file. Will end up in the store.\n", "loc": ["services", "grafana", "provision", "alerting", "policies", "path"], "readOnly": false, "type": "null or absolute path"}, "services.grafana.provision.alerting.policies.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Grafana notification policies configuration in Nix. Can't be used with\n[](#opt-services.grafana.provision.alerting.policies.path) simultaneously. See\n<https://grafana.com/docs/grafana/latest/administration/provisioning/#notification-policies>\nfor supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  apiVersion = 1;\n\n  policies = [{\n    orgId = 1;\n    receiver = \"grafana-default-email\";\n    group_by = [ \"...\" ];\n    matchers = [\n      \"alertname = Watchdog\"\n      \"severity =~ \\\"warning|critical\\\"\"\n    ];\n    mute_time_intervals = [\n      \"abc\"\n    ];\n    group_wait = \"30s\";\n    group_interval = \"5m\";\n    repeat_interval = \"4h\";\n  }];\n\n  resetPolicies = [\n    1\n  ];\n}\n"}, "loc": ["services", "grafana", "provision", "alerting", "policies", "settings"], "readOnly": false, "type": "null or (submodule)"}, "services.grafana.provision.alerting.policies.settings.apiVersion": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Config file version.", "loc": ["services", "grafana", "provision", "alerting", "policies", "settings", "apiVersion"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.policies.settings.policies": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of contact points to import or update.", "loc": ["services", "grafana", "provision", "alerting", "policies", "settings", "policies"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.grafana.provision.alerting.policies.settings.resetPolicies": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of orgIds that should be reset to the default policy.", "loc": ["services", "grafana", "provision", "alerting", "policies", "settings", "resetPolicies"], "readOnly": false, "type": "list of signed integer"}, "services.grafana.provision.alerting.rules.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to YAML rules configuration. Can't be used with\n[](#opt-services.grafana.provision.alerting.rules.settings) simultaneously.\nCan be either a directory or a single YAML file. Will end up in the store.\n", "loc": ["services", "grafana", "provision", "alerting", "rules", "path"], "readOnly": false, "type": "null or absolute path"}, "services.grafana.provision.alerting.rules.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Grafana rules configuration in Nix. Can't be used with\n[](#opt-services.grafana.provision.alerting.rules.path) simultaneously. See\n<https://grafana.com/docs/grafana/latest/administration/provisioning/#rules>\nfor supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  apiVersion = 1;\n\n  groups = [{\n    orgId = 1;\n    name = \"my_rule_group\";\n    folder = \"my_first_folder\";\n    interval = \"60s\";\n    rules = [{\n      uid = \"my_id_1\";\n      title = \"my_first_rule\";\n      condition = \"A\";\n      data = [{\n        refId = \"A\";\n        datasourceUid = \"-100\";\n        model = {\n          conditions = [{\n            evaluator = {\n              params = [ 3 ];\n              type = \"git\";\n            };\n            operator.type = \"and\";\n            query.params = [ \"A\" ];\n            reducer.type = \"last\";\n            type = \"query\";\n          }];\n          datasource = {\n            type = \"__expr__\";\n            uid = \"-100\";\n          };\n          expression = \"1==0\";\n          intervalMs = 1000;\n          maxDataPoints = 43200;\n          refId = \"A\";\n          type = \"math\";\n        };\n      }];\n      dashboardUid = \"my_dashboard\";\n      panelId = 123;\n      noDataState = \"Alerting\";\n      for = \"60s\";\n      annotations.some_key = \"some_value\";\n      labels.team = \"sre_team1\";\n    }];\n  }];\n\n  deleteRules = [{\n    orgId = 1;\n    uid = \"my_id_1\";\n  }];\n}\n"}, "loc": ["services", "grafana", "provision", "alerting", "rules", "settings"], "readOnly": false, "type": "null or (submodule)"}, "services.grafana.provision.alerting.rules.settings.apiVersion": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Config file version.", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "apiVersion"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.rules.settings.deleteRules": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of alert rule UIDs that should be deleted.", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "deleteRules"], "readOnly": false, "type": "list of (submodule)"}, "services.grafana.provision.alerting.rules.settings.deleteRules.*.orgId": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Organization ID, default = 1", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "deleteRules", "*", "orgId"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.rules.settings.deleteRules.*.uid": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Unique identifier for the rule. Required.", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "deleteRules", "*", "uid"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.rules.settings.groups": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of rule groups to import or update.", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "groups"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.grafana.provision.alerting.rules.settings.groups.*.folder": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the folder the rule group will be stored in. Required.", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "groups", "*", "folder"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.rules.settings.groups.*.interval": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Interval that the rule group should be evaluated at. Required.", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "groups", "*", "interval"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.rules.settings.groups.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the rule group. Required.", "loc": ["services", "grafana", "provision", "alerting", "rules", "settings", "groups", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.templates.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to YAML templates configuration. Can't be used with\n[](#opt-services.grafana.provision.alerting.templates.settings) simultaneously.\nCan be either a directory or a single YAML file. Will end up in the store.\n", "loc": ["services", "grafana", "provision", "alerting", "templates", "path"], "readOnly": false, "type": "null or absolute path"}, "services.grafana.provision.alerting.templates.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Grafana templates configuration in Nix. Can't be used with\n[](#opt-services.grafana.provision.alerting.templates.path) simultaneously. See\n<https://grafana.com/docs/grafana/latest/administration/provisioning/#templates>\nfor supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  apiVersion = 1;\n\n  templates = [{\n    orgId = 1;\n    name = \"my_first_template\";\n    template = \"Alerting with a custom text template\";\n  }];\n\n  deleteTemplates = [{\n    orgId = 1;\n    name = \"my_first_template\";\n  }];\n}\n"}, "loc": ["services", "grafana", "provision", "alerting", "templates", "settings"], "readOnly": false, "type": "null or (submodule)"}, "services.grafana.provision.alerting.templates.settings.apiVersion": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Config file version.", "loc": ["services", "grafana", "provision", "alerting", "templates", "settings", "apiVersion"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.templates.settings.deleteTemplates": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of alert rule UIDs that should be deleted.", "loc": ["services", "grafana", "provision", "alerting", "templates", "settings", "deleteTemplates"], "readOnly": false, "type": "list of (submodule)"}, "services.grafana.provision.alerting.templates.settings.deleteTemplates.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the template, must be unique. Required.", "loc": ["services", "grafana", "provision", "alerting", "templates", "settings", "deleteTemplates", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.templates.settings.deleteTemplates.*.orgId": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Organization ID, default = 1.", "loc": ["services", "grafana", "provision", "alerting", "templates", "settings", "deleteTemplates", "*", "orgId"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.alerting.templates.settings.templates": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of templates to import or update.", "loc": ["services", "grafana", "provision", "alerting", "templates", "settings", "templates"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.grafana.provision.alerting.templates.settings.templates.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the template, must be unique. Required.", "loc": ["services", "grafana", "provision", "alerting", "templates", "settings", "templates", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.alerting.templates.settings.templates.*.template": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Alerting with a custom text template", "loc": ["services", "grafana", "provision", "alerting", "templates", "settings", "templates", "*", "template"], "readOnly": false, "type": "string"}, "services.grafana.provision.dashboards": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declaratively provision Grafana's dashboards.\n", "loc": ["services", "grafana", "provision", "dashboards"], "readOnly": false, "type": "submodule"}, "services.grafana.provision.dashboards.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to YAML dashboard configuration. Can't be used with\n[](#opt-services.grafana.provision.dashboards.settings) simultaneously.\nCan be either a directory or a single YAML file. Will end up in the store.\n", "loc": ["services", "grafana", "provision", "dashboards", "path"], "readOnly": false, "type": "null or absolute path"}, "services.grafana.provision.dashboards.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Grafana dashboard configuration in Nix. Can't be used with\n[](#opt-services.grafana.provision.dashboards.path) simultaneously. See\n<https://grafana.com/docs/grafana/latest/administration/provisioning/#dashboards>\nfor supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  apiVersion = 1;\n\n  providers = [{\n      name = \"default\";\n      options.path = \"/var/lib/grafana/dashboards\";\n  }];\n}\n"}, "loc": ["services", "grafana", "provision", "dashboards", "settings"], "readOnly": false, "type": "null or (submodule)"}, "services.grafana.provision.dashboards.settings.apiVersion": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Config file version.", "loc": ["services", "grafana", "provision", "dashboards", "settings", "apiVersion"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.dashboards.settings.providers": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of dashboards to insert/update.", "loc": ["services", "grafana", "provision", "dashboards", "settings", "providers"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.grafana.provision.dashboards.settings.providers.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "A unique provider name.", "loc": ["services", "grafana", "provision", "dashboards", "settings", "providers", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.dashboards.settings.providers.*.options.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Path grafana will watch for dashboards. Required when using the 'file' type.", "loc": ["services", "grafana", "provision", "dashboards", "settings", "providers", "*", "options", "path"], "readOnly": false, "type": "absolute path"}, "services.grafana.provision.dashboards.settings.providers.*.type": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"file\""}, "description": "Dashboard provider type.", "loc": ["services", "grafana", "provision", "dashboards", "settings", "providers", "*", "type"], "readOnly": false, "type": "string"}, "services.grafana.provision.datasources": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declaratively provision Grafana's datasources.\n", "loc": ["services", "grafana", "provision", "datasources"], "readOnly": false, "type": "submodule"}, "services.grafana.provision.datasources.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to YAML datasource configuration. Can't be used with\n[](#opt-services.grafana.provision.datasources.settings) simultaneously.\nCan be either a directory or a single YAML file. Will end up in the store.\n", "loc": ["services", "grafana", "provision", "datasources", "path"], "readOnly": false, "type": "null or absolute path"}, "services.grafana.provision.datasources.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Grafana datasource configuration in Nix. Can't be used with\n[](#opt-services.grafana.provision.datasources.path) simultaneously. See\n<https://grafana.com/docs/grafana/latest/administration/provisioning/#data-sources>\nfor supported options.\n", "example": {"_type": "literalExpression", "text": "{\n  apiVersion = 1;\n\n  datasources = [{\n    name = \"Graphite\";\n    type = \"graphite\";\n  }];\n\n  deleteDatasources = [{\n    name = \"Graphite\";\n    orgId = 1;\n  }];\n}\n"}, "loc": ["services", "grafana", "provision", "datasources", "settings"], "readOnly": false, "type": "null or (submodule)"}, "services.grafana.provision.datasources.settings.apiVersion": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Config file version.", "loc": ["services", "grafana", "provision", "datasources", "settings", "apiVersion"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.datasources.settings.datasources": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of datasources to insert/update.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.grafana.provision.datasources.settings.datasources.*.access": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"proxy\""}, "description": "Access mode. proxy or direct (Server or Browser in the UI). Required.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "access"], "readOnly": false, "type": "one of \"proxy\", \"direct\""}, "services.grafana.provision.datasources.settings.datasources.*.editable": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow users to edit datasources from the UI.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "editable"], "readOnly": false, "type": "boolean"}, "services.grafana.provision.datasources.settings.datasources.*.jsonData": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra data for datasource plugins.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "jsonData"], "readOnly": false, "type": "null or (attribute set)"}, "services.grafana.provision.datasources.settings.datasources.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the datasource. Required.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.datasources.settings.datasources.*.secureJsonData": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Datasource specific secure configuration. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n<https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#file-provider>\n", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "secureJsonData"], "readOnly": false, "type": "null or (attribute set)"}, "services.grafana.provision.datasources.settings.datasources.*.type": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Datasource type. Required.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "type"], "readOnly": false, "type": "string"}, "services.grafana.provision.datasources.settings.datasources.*.uid": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Custom UID which can be used to reference this datasource in other parts of the configuration, if not specified will be generated automatically.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "uid"], "readOnly": false, "type": "null or string"}, "services.grafana.provision.datasources.settings.datasources.*.url": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Url of the datasource.", "loc": ["services", "grafana", "provision", "datasources", "settings", "datasources", "*", "url"], "readOnly": false, "type": "string"}, "services.grafana.provision.datasources.settings.deleteDatasources": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of datasources that should be deleted from the database.", "loc": ["services", "grafana", "provision", "datasources", "settings", "deleteDatasources"], "readOnly": false, "type": "list of (submodule)"}, "services.grafana.provision.datasources.settings.deleteDatasources.*.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Name of the datasource to delete.", "loc": ["services", "grafana", "provision", "datasources", "settings", "deleteDatasources", "*", "name"], "readOnly": false, "type": "string"}, "services.grafana.provision.datasources.settings.deleteDatasources.*.orgId": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "description": "Organization ID of the datasource to delete.", "loc": ["services", "grafana", "provision", "datasources", "settings", "deleteDatasources", "*", "orgId"], "readOnly": false, "type": "signed integer"}, "services.grafana.provision.datasources.settings.prune": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When `true`, provisioned datasources from this file will be deleted\nautomatically when removed from\n{option}`services.grafana.provision.datasources.settings.datasources`.\n", "loc": ["services", "grafana", "provision", "datasources", "settings", "prune"], "readOnly": false, "type": "boolean"}, "services.grafana.provision.enable": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable provision.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grafana", "provision", "enable"], "readOnly": false, "type": "boolean"}, "services.grafana.settings": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Grafana settings. See <https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/>\nfor available options. INI format is used.\n", "loc": ["services", "grafana", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non-empty list of them)"}, "services.grafana.settings.analytics.check_for_plugin_updates": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "cfg.declarativePlugins == null"}, "description": "When set to `false`, disables checking for new versions of installed plugins from https://grafana.com.\nWhen enabled, the check for a new plugin runs every 10 minutes.\nIt will notify, via the UI, when a new plugin update exists.\nThe check itself will not prompt any auto-updates of the plugin, nor will it send any sensitive information.\n", "loc": ["services", "grafana", "settings", "analytics", "check_for_plugin_updates"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.analytics.check_for_updates": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When set to `false`, disables checking for new versions of Grafana from Grafana's GitHub repository.\nWhen enabled, the check for a new version runs every 10 minutes.\nIt will notify, via the UI, when a new version is available.\nThe check itself will not prompt any auto-updates of the Grafana software, nor will it send any sensitive information.\n", "loc": ["services", "grafana", "settings", "analytics", "check_for_updates"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.analytics.feedback_links_enabled": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Set to `false` to remove all feedback links from the UI.", "loc": ["services", "grafana", "settings", "analytics", "feedback_links_enabled"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.analytics.reporting_enabled": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When enabled Grafana will send anonymous usage statistics to `stats.grafana.org`.\nNo IP addresses are being tracked, only simple counters to track running instances, versions, dashboard and error counts.\nCounters are sent every 24 hours.\n", "loc": ["services", "grafana", "settings", "analytics", "reporting_enabled"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.database.ca_cert_path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the CA certificate to use.", "loc": ["services", "grafana", "settings", "database", "ca_cert_path"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.database.cache_mode": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"private\""}, "description": "For `sqlite3` only.\n[Shared cache](https://www.sqlite.org/sharedcache.html) setting used for connecting to the database.\n", "loc": ["services", "grafana", "settings", "database", "cache_mode"], "readOnly": false, "type": "one of \"private\", \"shared\""}, "services.grafana.settings.database.client_cert_path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the client cert. Only if server requires client authentication.", "loc": ["services", "grafana", "settings", "database", "client_cert_path"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.database.client_key_path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the client key. Only if server requires client authentication.", "loc": ["services", "grafana", "settings", "database", "client_key_path"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.database.conn_max_lifetime": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "14400"}, "description": "Sets the maximum amount of time a connection may be reused.\nThe default is 14400 (which means 14400 seconds or 4 hours).\nFor MySQL, this setting should be shorter than the `wait_timeout` variable.\n", "loc": ["services", "grafana", "settings", "database", "conn_max_lifetime"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.database.host": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:3306\""}, "description": "Only applicable to MySQL or Postgres.\nIncludes IP or hostname and port or in case of Unix sockets the path to it.\nFor example, for MySQL running on the same host as Grafana: `host = \"127.0.0.1:3306\"`\nor with Unix sockets: `host = \"/var/run/mysqld/mysqld.sock\"`\n", "loc": ["services", "grafana", "settings", "database", "host"], "readOnly": false, "type": "string"}, "services.grafana.settings.database.isolation_level": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Only the MySQL driver supports isolation levels in Grafana.\nIn case the value is empty, the driver's default isolation level is applied.\n", "loc": ["services", "grafana", "settings", "database", "isolation_level"], "readOnly": false, "type": "null or one of \"READ-UNCOMMITTED\", \"READ-COMMITTED\", \"REPEATABLE-READ\", \"SERIALIZABLE\""}, "services.grafana.settings.database.locking_attempt_timeout_sec": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "For `mysql`, if the `migrationLocking` feature toggle is set,\nspecify the time (in seconds) to wait before failing to lock the database for the migrations.\n", "loc": ["services", "grafana", "settings", "database", "locking_attempt_timeout_sec"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.database.log_queries": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to log the sql calls and execution times", "loc": ["services", "grafana", "settings", "database", "log_queries"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.database.max_idle_conn": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "The maximum number of connections in the idle connection pool.", "loc": ["services", "grafana", "settings", "database", "max_idle_conn"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.database.max_open_conn": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The maximum number of open connections to the database.", "loc": ["services", "grafana", "settings", "database", "max_open_conn"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.database.name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"grafana\""}, "description": "The name of the Grafana database.", "loc": ["services", "grafana", "settings", "database", "name"], "readOnly": false, "type": "string"}, "services.grafana.settings.database.password": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The database user's password (not applicable for `sqlite3`).\n\nPlease note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n<https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#file-provider>\n", "loc": ["services", "grafana", "settings", "database", "password"], "readOnly": false, "type": "string"}, "services.grafana.settings.database.path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.grafana.dataDir}/data/grafana.db\""}, "description": "Only applicable to `sqlite3` database. The file path where the database will be stored.", "loc": ["services", "grafana", "settings", "database", "path"], "readOnly": false, "type": "absolute path"}, "services.grafana.settings.database.query_retries": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "This setting applies to `sqlite3` only and controls the number of times the system retries a query when the database is locked.\n", "loc": ["services", "grafana", "settings", "database", "query_retries"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.database.server_cert_name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The common name field of the certificate used by the `mysql` or `postgres` server.\nNot necessary if `ssl_mode` is set to `skip-verify`.\n", "loc": ["services", "grafana", "settings", "database", "server_cert_name"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.database.ssl_mode": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"disable\""}, "description": "For Postgres, use either `disable`, `require` or `verify-full`.\nFor MySQL, use either `true`, `false`, or `skip-verify`.\n", "loc": ["services", "grafana", "settings", "database", "ssl_mode"], "readOnly": false, "type": "one of \"disable\", \"require\", \"verify-full\", \"true\", \"false\", \"skip-verify\""}, "services.grafana.settings.database.transaction_retries": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "This setting applies to `sqlite3` only and controls the number of times the system retries a transaction when the database is locked.\n", "loc": ["services", "grafana", "settings", "database", "transaction_retries"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.database.type": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite3\""}, "description": "Database type.", "loc": ["services", "grafana", "settings", "database", "type"], "readOnly": false, "type": "one of \"mysql\", \"sqlite3\", \"postgres\""}, "services.grafana.settings.database.user": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "The database user (not applicable for `sqlite3`).", "loc": ["services", "grafana", "settings", "database", "user"], "readOnly": false, "type": "string"}, "services.grafana.settings.database.wal": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "For `sqlite3` only.\nSetting to enable/disable [Write-Ahead Logging](https://sqlite.org/wal.html).\n", "loc": ["services", "grafana", "settings", "database", "wal"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.paths.plugins": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "if (cfg.declarativePlugins == null) then \"${cfg.dataDir}/plugins\" else declarativePlugins"}, "description": "Directory where grafana will automatically scan and look for plugins", "loc": ["services", "grafana", "settings", "paths", "plugins"], "readOnly": false, "type": "absolute path"}, "services.grafana.settings.paths.provisioning": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"directory with links to files generated from services.grafana.provision\""}, "description": "Folder that contains provisioning config files that grafana will apply on startup and while running.\nDon't change the value of this option if you are planning to use `services.grafana.provision` options.\n", "loc": ["services", "grafana", "settings", "paths", "provisioning"], "readOnly": false, "type": "absolute path"}, "services.grafana.settings.plugins.preinstall_disabled": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "cfg.declarativePlugins != null"}, "description": "When set to `true`, disables the Background Plugin Installer, which runs before Grafana starts.\nThis component causes issues with `declarativePlugins` and is disabled by default if those are used.\n", "loc": ["services", "grafana", "settings", "plugins", "preinstall_disabled"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.admin_email": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"admin@localhost\""}, "description": "The email of the default Grafana Admin, created on startup.", "loc": ["services", "grafana", "settings", "security", "admin_email"], "readOnly": false, "type": "string"}, "services.grafana.settings.security.admin_password": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Default admin password. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n<https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#file-provider>\n", "loc": ["services", "grafana", "settings", "security", "admin_password"], "readOnly": false, "type": "string"}, "services.grafana.settings.security.admin_user": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Default admin username.", "loc": ["services", "grafana", "settings", "security", "admin_user"], "readOnly": false, "type": "string"}, "services.grafana.settings.security.allow_embedding": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When `false`, the HTTP header `X-Frame-Options: deny` will be set in Grafana HTTP responses\nwhich will instruct browsers to not allow rendering Grafana in a `<frame>`, `<iframe>`, `<embed>` or `<object>`.\nThe main goal is to mitigate the risk of [Clickjacking](https://owasp.org/www-community/attacks/Clickjacking).\n", "loc": ["services", "grafana", "settings", "security", "allow_embedding"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.content_security_policy": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to add the `Content-Security-Policy` header to your requests.\nCSP allows to control resources that the user agent can load and helps prevent XSS attacks.\n", "loc": ["services", "grafana", "settings", "security", "content_security_policy"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.content_security_policy_report_only": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to add the `Content-Security-Policy-Report-Only` header to your requests.\nCSP in Report Only mode enables you to experiment with policies by monitoring their effects without enforcing them.\nYou can enable both policies simultaneously.\n", "loc": ["services", "grafana", "settings", "security", "content_security_policy_report_only"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.cookie_samesite": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"lax\""}, "description": "Sets the `SameSite` cookie attribute and prevents the browser from sending this cookie along with cross-site requests.\nThe main goal is to mitigate the risk of cross-origin information leakage.\nThis setting also provides some protection against cross-site request forgery attacks (CSRF),\n[read more about SameSite here](https://owasp.org/www-community/SameSite).\nUsing value `disabled` does not add any `SameSite` attribute to cookies.\n", "loc": ["services", "grafana", "settings", "security", "cookie_samesite"], "readOnly": false, "type": "one of \"lax\", \"strict\", \"none\", \"disabled\""}, "services.grafana.settings.security.cookie_secure": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` if you host Grafana behind HTTPS.", "loc": ["services", "grafana", "settings", "security", "cookie_secure"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.csrf_additional_headers": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of allowed headers to be set by the user.\nSuggested to use for if authentication lives behind reverse proxies.\n", "loc": ["services", "grafana", "settings", "security", "csrf_additional_headers"], "readOnly": false, "type": "string or list of string"}, "services.grafana.settings.security.csrf_trusted_origins": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional allowed URLs to pass by the CSRF check.\nSuggested when authentication comes from an IdP.\n", "loc": ["services", "grafana", "settings", "security", "csrf_trusted_origins"], "readOnly": false, "type": "string or list of string"}, "services.grafana.settings.security.data_source_proxy_whitelist": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Define a whitelist of allowed IP addresses or domains, with ports,\nto be used in data source URLs with the Grafana data source proxy.\nFormat: `ip_or_domain:port` separated by spaces.\nPostgreSQL, MySQL, and MSSQL data sources do not use the proxy and are therefore unaffected by this setting.\n", "loc": ["services", "grafana", "settings", "security", "data_source_proxy_whitelist"], "readOnly": false, "type": "string or list of string"}, "services.grafana.settings.security.disable_brute_force_login_protection": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to disable [brute force login protection](https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#account-lockout).", "loc": ["services", "grafana", "settings", "security", "disable_brute_force_login_protection"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.disable_gravatar": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to disable the use of Gravatar for user profile images.", "loc": ["services", "grafana", "settings", "security", "disable_gravatar"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.disable_initial_admin_creation": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable creation of admin user on first start of Grafana.", "loc": ["services", "grafana", "settings", "security", "disable_initial_admin_creation"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.secret_key": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Secret key used for signing data source settings like secrets and passwords.\nSet this to a unique, random string in production, generated for example by running `openssl rand -hex 32`.\n\nIf you change this later you will need to update data source settings to re-encode them.\n\n<https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#secret_key>\n\nPlease note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n<https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#file-provider>\n", "loc": ["services", "grafana", "settings", "security", "secret_key"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.security.strict_transport_security": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` if you want to enable HTTP `Strict-Transport-Security` (HSTS) response header.\nOnly use this when HTTPS is enabled in your configuration,\nor when there is another upstream system that ensures your application does HTTPS (like a frontend load balancer).\nHSTS tells browsers that the site should only be accessed using HTTPS.\n", "loc": ["services", "grafana", "settings", "security", "strict_transport_security"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.strict_transport_security_max_age_seconds": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "86400"}, "description": "Sets how long a browser should cache HSTS in seconds.\nOnly applied if `strict_transport_security` is enabled.\n", "loc": ["services", "grafana", "settings", "security", "strict_transport_security_max_age_seconds"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.security.strict_transport_security_preload": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to enable HSTS `preloading` option.\nOnly applied if `strict_transport_security` is enabled.\n", "loc": ["services", "grafana", "settings", "security", "strict_transport_security_preload"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.strict_transport_security_subdomains": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to enable HSTS `includeSubDomains` option.\nOnly applied if `strict_transport_security` is enabled.\n", "loc": ["services", "grafana", "settings", "security", "strict_transport_security_subdomains"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.x_content_type_options": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Set to `false` to disable the `X-Content-Type-Options` response header.\nThe `X-Content-Type-Options` response HTTP header is a marker used by the server\nto indicate that the MIME types advertised in the `Content-Type` headers should not be changed and be followed.\n", "loc": ["services", "grafana", "settings", "security", "x_content_type_options"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.security.x_xss_protection": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` to enable the `X-XSS-Protection` header,\nwhich tells browsers to stop pages from loading when they detect reflected cross-site scripting (XSS) attacks.\n\n__Note:__ this is the default in Grafana, it's turned off here\nsince it's [recommended to not use this header anymore](https://owasp.org/www-project-secure-headers/#x-xss-protection).\n", "loc": ["services", "grafana", "settings", "security", "x_xss_protection"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.server.cdn_url": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify a full HTTP URL address to the root of your Grafana CDN assets.\nGrafana will add edition and version paths.\n\nFor example, given a cdn url like `https://cdn.myserver.com`\ngrafana will try to load a javascript file from `http://cdn.myserver.com/grafana-oss/7.4.0/public/build/app.<hash>.js`.\n", "loc": ["services", "grafana", "settings", "server", "cdn_url"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.server.cert_file": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the certificate file (if `protocol` is set to `https` or `h2`).\n", "loc": ["services", "grafana", "settings", "server", "cert_file"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.server.cert_key": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the certificate key file (if `protocol` is set to `https` or `h2`).\n", "loc": ["services", "grafana", "settings", "server", "cert_key"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.server.domain": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The public facing domain name used to access grafana from a browser.\n\nThis setting is only used in the default value of the `root_url` setting.\nIf you set the latter manually, this option does not have to be specified.\n", "loc": ["services", "grafana", "settings", "server", "domain"], "readOnly": false, "type": "string"}, "services.grafana.settings.server.enable_gzip": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set this option to `true` to enable HTTP compression, this can improve transfer speed and bandwidth utilization.\nIt is recommended that most users set it to `true`. By default it is set to `false` for compatibility reasons.\n", "loc": ["services", "grafana", "settings", "server", "enable_gzip"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.server.enforce_domain": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Redirect to correct domain if the host header does not match the domain.\nPrevents DNS rebinding attacks.\n", "loc": ["services", "grafana", "settings", "server", "enforce_domain"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.server.http_addr": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listening address.\n\n::: {.note}\nThis setting intentionally varies from upstream's default to be a bit more secure by default.\n:::\n", "loc": ["services", "grafana", "settings", "server", "http_addr"], "readOnly": false, "type": "string"}, "services.grafana.settings.server.http_port": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Listening port.", "loc": ["services", "grafana", "settings", "server", "http_port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.grafana.settings.server.protocol": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"http\""}, "description": "Which protocol to listen.", "loc": ["services", "grafana", "settings", "server", "protocol"], "readOnly": false, "type": "one of \"http\", \"https\", \"h2\", \"socket\""}, "services.grafana.settings.server.read_timeout": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"0\""}, "description": "Sets the maximum time using a duration format (5s/5m/5ms)\nbefore timing out read of an incoming request and closing idle connections.\n0 means there is no timeout for reading the request.\n", "loc": ["services", "grafana", "settings", "server", "read_timeout"], "readOnly": false, "type": "string"}, "services.grafana.settings.server.root_url": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"%(protocol)s://%(domain)s:%(http_port)s/\""}, "description": "This is the full URL used to access Grafana from a web browser.\nThis is important if you use Google or GitHub OAuth authentication (for the callback URL to be correct).\n\nThis setting is also important if you have a reverse proxy in front of Grafana that exposes it through a subpath.\nIn that case add the subpath to the end of this URL setting.\n", "loc": ["services", "grafana", "settings", "server", "root_url"], "readOnly": false, "type": "string"}, "services.grafana.settings.server.router_logging": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `true` for Grafana to log all HTTP requests (not just errors).\nThese are logged as Info level events to the Grafana log.\n", "loc": ["services", "grafana", "settings", "server", "router_logging"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.server.serve_from_sub_path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Serve Grafana from subpath specified in the `root_url` setting.\nBy default it is set to `false` for compatibility reasons.\n\nBy enabling this setting and using a subpath in `root_url` above,\ne.g. `root_url = \"http://localhost:3000/grafana\"`,\nGrafana is accessible on `http://localhost:3000/grafana`.\nIf accessed without subpath, Grafana will redirect to an URL with the subpath.\n", "loc": ["services", "grafana", "settings", "server", "serve_from_sub_path"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.server.socket": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"/run/grafana/grafana.sock\""}, "description": "Path where the socket should be created when `protocol=socket`.\nMake sure that Grafana has appropriate permissions before you change this setting.\n", "loc": ["services", "grafana", "settings", "server", "socket"], "readOnly": false, "type": "string"}, "services.grafana.settings.server.socket_gid": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "-1"}, "description": "GID where the socket should be set when `protocol=socket`.\nMake sure that the target group is in the group of Grafana process and that Grafana process is the file owner before you change this setting.\nIt is recommended to set the gid as http server user gid.\nNot set when the value is -1.\n", "loc": ["services", "grafana", "settings", "server", "socket_gid"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.server.socket_mode": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"0660\""}, "description": "Mode where the socket should be set when `protocol=socket`.\nMake sure that Grafana process is the file owner before you change this setting.\n", "loc": ["services", "grafana", "settings", "server", "socket_mode"], "readOnly": false, "type": "string"}, "services.grafana.settings.server.static_root_path": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"${package}/share/grafana/public\""}, "description": "Root path for static assets.", "loc": ["services", "grafana", "settings", "server", "static_root_path"], "readOnly": false, "type": "string"}, "services.grafana.settings.smtp.cert_file": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File path to a cert file.", "loc": ["services", "grafana", "settings", "smtp", "cert_file"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.smtp.ehlo_identity": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name to be used as client identity for EHLO in SMTP dialog.", "loc": ["services", "grafana", "settings", "smtp", "ehlo_identity"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.smtp.enabled": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SMTP.", "loc": ["services", "grafana", "settings", "smtp", "enabled"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.smtp.from_address": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"admin@grafana.localhost\""}, "description": "Address used when sending out emails.", "loc": ["services", "grafana", "settings", "smtp", "from_address"], "readOnly": false, "type": "string"}, "services.grafana.settings.smtp.from_name": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"Grafana\""}, "description": "Name to be used as client identity for EHLO in SMTP dialog.", "loc": ["services", "grafana", "settings", "smtp", "from_name"], "readOnly": false, "type": "string"}, "services.grafana.settings.smtp.host": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:25\""}, "description": "Host to connect to.", "loc": ["services", "grafana", "settings", "smtp", "host"], "readOnly": false, "type": "string"}, "services.grafana.settings.smtp.key_file": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File path to a key file.", "loc": ["services", "grafana", "settings", "smtp", "key_file"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.smtp.password": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Password used for authentication. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n<https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#file-provider>\n", "loc": ["services", "grafana", "settings", "smtp", "password"], "readOnly": false, "type": "string"}, "services.grafana.settings.smtp.skip_verify": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Verify SSL for SMTP server.", "loc": ["services", "grafana", "settings", "smtp", "skip_verify"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.smtp.startTLS_policy": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "StartTLS policy when connecting to server.", "loc": ["services", "grafana", "settings", "smtp", "startTLS_policy"], "readOnly": false, "type": "null or one of \"OpportunisticStartTLS\", \"MandatoryStartTLS\", \"NoStartTLS\""}, "services.grafana.settings.smtp.user": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User used for authentication.", "loc": ["services", "grafana", "settings", "smtp", "user"], "readOnly": false, "type": "null or string"}, "services.grafana.settings.users.allow_org_create": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to `false` to prohibit users from creating new organizations.", "loc": ["services", "grafana", "settings", "users", "allow_org_create"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.users.allow_sign_up": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set to false to prohibit users from being able to sign up / create user accounts.\nThe admin user can still create users.\n", "loc": ["services", "grafana", "settings", "users", "allow_sign_up"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.users.auto_assign_org": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Set to `true` to automatically add new users to the main organization (id 1).\nWhen set to `false,` new users automatically cause a new organization to be created for that new user.\nThe organization will be created even if the `allow_org_create` setting is set to `false`.\n", "loc": ["services", "grafana", "settings", "users", "auto_assign_org"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.users.auto_assign_org_id": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Set this value to automatically add new users to the provided org.\nThis requires `auto_assign_org` to be set to `true`.\nPlease make sure that this organization already exists.\n", "loc": ["services", "grafana", "settings", "users", "auto_assign_org_id"], "readOnly": false, "type": "signed integer"}, "services.grafana.settings.users.auto_assign_org_role": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"Viewer\""}, "description": "The role new users will be assigned for the main organization (if the `auto_assign_org` setting is set to `true`).\n", "loc": ["services", "grafana", "settings", "users", "auto_assign_org_role"], "readOnly": false, "type": "one of \"Viewer\", \"Editor\", \"Admin\""}, "services.grafana.settings.users.default_language": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"en-US\""}, "description": "This setting configures the default UI language, which must be a supported IETF language tag, such as `en-US`.", "loc": ["services", "grafana", "settings", "users", "default_language"], "readOnly": false, "type": "string"}, "services.grafana.settings.users.default_theme": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"dark\""}, "description": "Sets the default UI theme. `system` matches the user's system theme.", "loc": ["services", "grafana", "settings", "users", "default_theme"], "readOnly": false, "type": "one of \"dark\", \"light\", \"system\""}, "services.grafana.settings.users.hidden_users": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "This is a comma-separated list of usernames.\nUsers specified here are hidden in the Grafana UI.\nThey are still visible to Grafana administrators and to themselves.\n", "loc": ["services", "grafana", "settings", "users", "hidden_users"], "readOnly": false, "type": "string"}, "services.grafana.settings.users.home_page": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Path to a custom home page.\nUsers are only redirected to this if the default home dashboard is used.\nIt should match a frontend route and contain a leading slash.\n", "loc": ["services", "grafana", "settings", "users", "home_page"], "readOnly": false, "type": "string"}, "services.grafana.settings.users.login_hint": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"email or username\""}, "description": "Text used as placeholder text on login page for login/username input.", "loc": ["services", "grafana", "settings", "users", "login_hint"], "readOnly": false, "type": "string"}, "services.grafana.settings.users.password_hint": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"password\""}, "description": "Text used as placeholder text on login page for password input.", "loc": ["services", "grafana", "settings", "users", "password_hint"], "readOnly": false, "type": "string"}, "services.grafana.settings.users.user_invite_max_lifetime_duration": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "\"24h\""}, "description": "The duration in time a user invitation remains valid before expiring.\nThis setting should be expressed as a duration.\nExamples: `6h` (hours), `2d` (days), `1w` (week).\nThe minimum supported duration is `15m` (15 minutes).\n", "loc": ["services", "grafana", "settings", "users", "user_invite_max_lifetime_duration"], "readOnly": false, "type": "string"}, "services.grafana.settings.users.verify_email_enabled": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Require email validation before sign up completes.", "loc": ["services", "grafana", "settings", "users", "verify_email_enabled"], "readOnly": false, "type": "boolean"}, "services.grafana.settings.users.viewers_can_edit": {"declarations": ["nixos/modules/services/monitoring/grafana.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Viewers can access and use Explore and perform temporary edits on panels in dashboards they have access to.\nThey cannot save their changes.\n", "loc": ["services", "grafana", "settings", "users", "viewers_can_edit"], "readOnly": false, "type": "boolean"}, "services.grafana_reporter.addr": {"declarations": ["nixos/modules/services/monitoring/grafana-reporter.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listening address.", "loc": ["services", "grafana_reporter", "addr"], "readOnly": false, "type": "string"}, "services.grafana_reporter.enable": {"declarations": ["nixos/modules/services/monitoring/grafana-reporter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable grafana_reporter.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grafana_reporter", "enable"], "readOnly": false, "type": "boolean"}, "services.grafana_reporter.grafana.addr": {"declarations": ["nixos/modules/services/monitoring/grafana-reporter.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Grafana address.", "loc": ["services", "grafana_reporter", "grafana", "addr"], "readOnly": false, "type": "string"}, "services.grafana_reporter.grafana.port": {"declarations": ["nixos/modules/services/monitoring/grafana-reporter.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Grafana port.", "loc": ["services", "grafana_reporter", "grafana", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.grafana_reporter.grafana.protocol": {"declarations": ["nixos/modules/services/monitoring/grafana-reporter.nix"], "default": {"_type": "literalExpression", "text": "\"http\""}, "description": "Grafana protocol.", "loc": ["services", "grafana_reporter", "grafana", "protocol"], "readOnly": false, "type": "one of \"http\", \"https\""}, "services.grafana_reporter.port": {"declarations": ["nixos/modules/services/monitoring/grafana-reporter.nix"], "default": {"_type": "literalExpression", "text": "8686"}, "description": "Listening port.", "loc": ["services", "grafana_reporter", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.grafana_reporter.templateDir": {"declarations": ["nixos/modules/services/monitoring/grafana-reporter.nix"], "default": {"_type": "literalExpression", "text": "pkgs.grafana_reporter"}, "description": "Optional template directory to use custom tex templates", "loc": ["services", "grafana_reporter", "templateDir"], "readOnly": false, "type": "string or absolute path"}, "services.graphite.carbon.aggregationRules": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Defines if and how received metrics will be aggregated.", "example": {"_type": "literalExpression", "text": "''\n  <env>.applications.<app>.all.requests (60) = sum <env>.applications.<app>.*.requests\n  <env>.applications.<app>.all.latency (60) = avg <env>.applications.<app>.*.latency\n''"}, "loc": ["services", "graphite", "carbon", "aggregationRules"], "readOnly": false, "type": "null or string"}, "services.graphite.carbon.blacklist": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Any metrics received which match one of the expressions will be dropped.", "example": {"_type": "literalExpression", "text": "\"^some\\\\.noisy\\\\.metric\\\\.prefix\\\\..*\""}, "loc": ["services", "graphite", "carbon", "blacklist"], "readOnly": false, "type": "null or string"}, "services.graphite.carbon.config": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "''\n  [cache]\n  # Listen on localhost by default for security reasons\n  UDP_RECEIVER_INTERFACE = 127.0.0.1\n  PICKLE_RECEIVER_INTERFACE = 127.0.0.1\n  LINE_RECEIVER_INTERFACE = 127.0.0.1\n  CACHE_QUERY_INTERFACE = 127.0.0.1\n  # Do not log every update\n  LOG_UPDATES = False\n  LOG_CACHE_HITS = False\n''"}, "description": "Content of carbon configuration file.", "loc": ["services", "graphite", "carbon", "config"], "readOnly": false, "type": "string"}, "services.graphite.carbon.enableAggregator": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable carbon aggregator, the carbon buffering service.", "loc": ["services", "graphite", "carbon", "enableAggregator"], "readOnly": false, "type": "boolean"}, "services.graphite.carbon.enableCache": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable carbon cache, the graphite storage daemon.", "loc": ["services", "graphite", "carbon", "enableCache"], "readOnly": false, "type": "boolean"}, "services.graphite.carbon.enableRelay": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable carbon relay, the carbon replication and sharding service.", "loc": ["services", "graphite", "carbon", "enableRelay"], "readOnly": false, "type": "boolean"}, "services.graphite.carbon.relayRules": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Relay rules are used to send certain metrics to a certain backend.", "example": {"_type": "literalExpression", "text": "''\n  [example]\n  pattern = ^mydata\\.foo\\..+\n  servers = 10.1.2.3, 10.1.2.4:2004, myserver.mydomain.com\n''"}, "loc": ["services", "graphite", "carbon", "relayRules"], "readOnly": false, "type": "null or string"}, "services.graphite.carbon.rewriteRules": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Regular expression patterns that can be used to rewrite metric names\nin a search and replace fashion.\n", "example": {"_type": "literalExpression", "text": "''\n  [post]\n  _sum$ =\n  _avg$ =\n''"}, "loc": ["services", "graphite", "carbon", "rewriteRules"], "readOnly": false, "type": "null or string"}, "services.graphite.carbon.storageAggregation": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Defines how to aggregate data to lower-precision retentions.", "example": {"_type": "literalExpression", "text": "''\n  [all_min]\n  pattern = \\.min$\n  xFilesFactor = 0.1\n  aggregationMethod = min\n''"}, "loc": ["services", "graphite", "carbon", "storageAggregation"], "readOnly": false, "type": "null or string"}, "services.graphite.carbon.storageSchemas": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Defines retention rates for storing metrics.", "example": {"_type": "literalExpression", "text": "''\n  [apache_busyWorkers]\n  pattern = ^servers\\.www.*\\.workers\\.busyWorkers$\n  retentions = 15s:7d,1m:21d,15m:5y\n''"}, "loc": ["services", "graphite", "carbon", "storageSchemas"], "readOnly": false, "type": "null or string"}, "services.graphite.carbon.whitelist": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Only metrics received which match one of the expressions will be persisted.", "example": {"_type": "literalExpression", "text": "\".*\""}, "loc": ["services", "graphite", "carbon", "whitelist"], "readOnly": false, "type": "null or string"}, "services.graphite.dataDir": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "\"/var/db/graphite\""}, "description": "Data directory for graphite.\n", "loc": ["services", "graphite", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.graphite.seyren.enable": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable seyren service.", "loc": ["services", "graphite", "seyren", "enable"], "readOnly": false, "type": "boolean"}, "services.graphite.seyren.extraConfig": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra seyren configuration. See\n<https://github.com/scobal/seyren#config>\n", "example": {"_type": "literalExpression", "text": "{\n  GRAPHITE_USERNAME = \"user\";\n  GRAPHITE_PASSWORD = \"pass\";\n}\n"}, "loc": ["services", "graphite", "seyren", "extraConfig"], "readOnly": false, "type": "attribute set of string"}, "services.graphite.seyren.graphiteUrl": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "\"http://${config.services.graphite.web.listenAddress}:${toString config.services.graphite.web.port}\""}, "description": "Host where graphite service runs.", "loc": ["services", "graphite", "seyren", "graphiteUrl"], "readOnly": false, "type": "string"}, "services.graphite.seyren.mongoUrl": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "\"mongodb://${config.services.mongodb.bind_ip}:27017/seyren\""}, "description": "Mongodb connection string.", "loc": ["services", "graphite", "seyren", "mongoUrl"], "readOnly": false, "type": "string"}, "services.graphite.seyren.port": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "8081"}, "description": "Seyren listening port.", "loc": ["services", "graphite", "seyren", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.graphite.seyren.seyrenUrl": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost:${toString config.services.graphite.seyren.port}/\""}, "description": "Host where seyren is accessible.", "loc": ["services", "graphite", "seyren", "seyrenUrl"], "readOnly": false, "type": "string"}, "services.graphite.web.enable": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable graphite web frontend.", "loc": ["services", "graphite", "web", "enable"], "readOnly": false, "type": "boolean"}, "services.graphite.web.extraConfig": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Graphite webapp settings. See:\n<https://graphite.readthedocs.io/en/latest/config-local-settings.html>\n", "loc": ["services", "graphite", "web", "extraConfig"], "readOnly": false, "type": "string"}, "services.graphite.web.listenAddress": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Graphite web frontend listen address.", "loc": ["services", "graphite", "web", "listenAddress"], "readOnly": false, "type": "string"}, "services.graphite.web.port": {"declarations": ["nixos/modules/services/monitoring/graphite.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Graphite web frontend port.", "loc": ["services", "graphite", "web", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.grav.enable": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable grav.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grav", "enable"], "readOnly": false, "type": "boolean"}, "services.grav.maxUploadSize": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "\"128M\""}, "description": "The upload limit for files. This changes the relevant options in\n{file}`php.ini` and nginx if enabled.\n", "loc": ["services", "grav", "maxUploadSize"], "readOnly": false, "type": "string"}, "services.grav.package": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "pkgs.grav"}, "description": "The grav package to use.", "loc": ["services", "grav", "package"], "readOnly": false, "type": "package"}, "services.grav.phpPackage": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "pkgs.php83"}, "description": "The php83 package to use.", "loc": ["services", "grav", "phpPackage"], "readOnly": false, "type": "package"}, "services.grav.pool": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "\"grav\""}, "description": "Name of existing phpfpm pool that is used to run web-application.\nIf not specified a pool will be created automatically with\ndefault values.\n", "loc": ["services", "grav", "pool"], "readOnly": false, "type": "string"}, "services.grav.root": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/grav\""}, "description": "Root of the application.\n", "loc": ["services", "grav", "root"], "readOnly": false, "type": "absolute path"}, "services.grav.systemSettings": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "{\n  log = {\n    handler = \"syslog\";\n  };\n}"}, "description": "Settings written to {file}`user/config/system.yaml`.\n", "loc": ["services", "grav", "systemSettings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.grav.virtualHost": {"declarations": ["nixos/modules/services/web-apps/grav.nix"], "default": {"_type": "literalExpression", "text": "\"grav\""}, "description": "Name of the nginx virtualhost to use and setup. If null, do not setup\nany virtualhost.\n", "loc": ["services", "grav", "virtualHost"], "readOnly": false, "type": "null or string"}, "services.graylog.dataDir": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/graylog/data\""}, "description": "Directory used to store Graylog server state.", "loc": ["services", "graylog", "dataDir"], "readOnly": false, "type": "string"}, "services.graylog.elasticsearchHosts": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of valid URIs of the http ports of your elastic nodes. If one or more of your elasticsearch hosts require authentication, include the credentials in each node URI that requires authentication", "example": {"_type": "literalExpression", "text": "[ \"http://node1:9200\" \"http://user:password@node2:19200\" ]"}, "loc": ["services", "graylog", "elasticsearchHosts"], "readOnly": false, "type": "list of string"}, "services.graylog.enable": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Graylog, a log management solution.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "graylog", "enable"], "readOnly": false, "type": "boolean"}, "services.graylog.extraConfig": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any other configuration options you might want to add", "loc": ["services", "graylog", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.graylog.isMaster": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether this is the master instance of your Graylog cluster", "loc": ["services", "graylog", "isMaster"], "readOnly": false, "type": "boolean"}, "services.graylog.messageJournalDir": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/graylog/data/journal\""}, "description": "The directory which will be used to store the message journal. The directory must be exclusively used by Graylog and must not contain any other files than the ones created by Graylog itself", "loc": ["services", "graylog", "messageJournalDir"], "readOnly": false, "type": "string"}, "services.graylog.mongodbUri": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "\"mongodb://localhost/graylog\""}, "description": "MongoDB connection string. See http://docs.mongodb.org/manual/reference/connection-string/ for details", "loc": ["services", "graylog", "mongodbUri"], "readOnly": false, "type": "string"}, "services.graylog.nodeIdFile": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/graylog/server/node-id\""}, "description": "Path of the file containing the graylog node-id", "loc": ["services", "graylog", "nodeIdFile"], "readOnly": false, "type": "string"}, "services.graylog.package": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "pkgs.graylog"}, "description": "The graylog package to use.", "example": {"_type": "literalExpression", "text": "graylog-6_0"}, "loc": ["services", "graylog", "package"], "readOnly": false, "type": "package"}, "services.graylog.passwordSecret": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "description": "You MUST set a secret to secure/pepper the stored user passwords here. Use at least 64 characters.\nGenerate one by using for example: pwgen -N 1 -s 96\n", "loc": ["services", "graylog", "passwordSecret"], "readOnly": false, "type": "string"}, "services.graylog.plugins": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra graylog plugins", "loc": ["services", "graylog", "plugins"], "readOnly": false, "type": "list of package"}, "services.graylog.rootPasswordSha2": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "description": "You MUST specify a hash password for the root user (which you only need to initially set up the\nsystem and in case you lose connectivity to your authentication backend)\nThis password cannot be changed using the API or via the web interface. If you need to change it,\nmodify it here.\nCreate one by using for example: echo -n yourpassword | shasum -a 256\nand use the resulting hash value as string for the option\n", "example": {"_type": "literalExpression", "text": "\"e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e952\""}, "loc": ["services", "graylog", "rootPasswordSha2"], "readOnly": false, "type": "string"}, "services.graylog.rootUsername": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Name of the default administrator user", "loc": ["services", "graylog", "rootUsername"], "readOnly": false, "type": "string"}, "services.graylog.user": {"declarations": ["nixos/modules/services/logging/graylog.nix"], "default": {"_type": "literalExpression", "text": "\"graylog\""}, "description": "User account under which graylog runs", "loc": ["services", "graylog", "user"], "readOnly": false, "type": "string"}, "services.greenclip.enable": {"declarations": ["nixos/modules/services/misc/greenclip.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Greenclip, a clipboard manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "greenclip", "enable"], "readOnly": false, "type": "boolean"}, "services.greenclip.package": {"declarations": ["nixos/modules/services/misc/greenclip.nix"], "default": {"_type": "literalExpression", "text": "pkgs.haskellPackages.greenclip"}, "description": "The greenclip package to use.", "loc": ["services", "greenclip", "package"], "readOnly": false, "type": "package"}, "services.greetd.enable": {"declarations": ["nixos/modules/services/display-managers/greetd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable greetd, a minimal and flexible login manager daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "greetd", "enable"], "readOnly": false, "type": "boolean"}, "services.greetd.package": {"declarations": ["nixos/modules/services/display-managers/greetd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.greetd"}, "description": "The greetd package to use.", "loc": ["services", "greetd", "package"], "readOnly": false, "type": "package"}, "services.greetd.restart": {"declarations": ["nixos/modules/services/display-managers/greetd.nix"], "default": {"_type": "literalExpression", "text": "!(config.services.greetd.settings ? initial_session)"}, "description": "Whether to restart greetd when it terminates (e.g. on failure).\nThis is usually desirable so a user can always log in, but should be disabled when using 'settings.initial_session' (autologin),\nbecause every greetd restart will trigger the autologin again.\n", "loc": ["services", "greetd", "restart"], "readOnly": false, "type": "boolean"}, "services.greetd.settings": {"declarations": ["nixos/modules/services/display-managers/greetd.nix"], "description": "greetd configuration ([documentation](https://man.sr.ht/~kennylevinsen/greetd/))\nas a Nix attribute set.\n", "example": {"_type": "literalExpression", "text": "{\n  default_session = {\n    command = \"${pkgs.greetd}/bin/agreety --cmd sway\";\n  };\n}\n"}, "loc": ["services", "greetd", "settings"], "readOnly": false, "type": "TOML value"}, "services.greetd.useTextGreeter": {"declarations": ["nixos/modules/services/display-managers/greetd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the greeter uses text-based user interfaces (For example, tuigreet).\n\nWhen set to true, some systemd service configuration will be adjusted to avoid systemd boot messages interrupt TUI.\n", "loc": ["services", "greetd", "useTextGreeter"], "readOnly": false, "type": "boolean"}, "services.grocy.dataDir": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/grocy\""}, "description": "Home directory of the `grocy` user which contains\nthe application's state.\n", "loc": ["services", "grocy", "dataDir"], "readOnly": false, "type": "string"}, "services.grocy.enable": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable grocy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "grocy", "enable"], "readOnly": false, "type": "boolean"}, "services.grocy.extraConfig": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go at the end of config.php verbatim.\n", "example": {"_type": "literalExpression", "text": "''\n  Setting('FEATURE_FLAG_RECIPES', false);\n  Setting('FEATURE_FLAG_STOCK_PRODUCT_FREEZING', false);\n''"}, "loc": ["services", "grocy", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.grocy.hostName": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "description": "FQDN for the grocy instance.\n", "loc": ["services", "grocy", "hostName"], "readOnly": false, "type": "string"}, "services.grocy.nginx.enableSSL": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether or not to enable SSL (with ACME and let's encrypt)\nfor the grocy vhost.\n", "loc": ["services", "grocy", "nginx", "enableSSL"], "readOnly": false, "type": "boolean"}, "services.grocy.package": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.grocy"}, "description": "The grocy package to use.", "loc": ["services", "grocy", "package"], "readOnly": false, "type": "package"}, "services.grocy.phpfpm.settings": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"pm\" = \"dynamic\";\n  \"php_admin_value[error_log]\" = \"stderr\";\n  \"php_admin_flag[log_errors]\" = true;\n  \"listen.owner\" = config.services.nginx.user;\n  \"catch_workers_output\" = true;\n  \"pm.max_children\" = \"32\";\n  \"pm.start_servers\" = \"2\";\n  \"pm.min_spare_servers\" = \"2\";\n  \"pm.max_spare_servers\" = \"4\";\n  \"pm.max_requests\" = \"500\";\n}\n"}, "description": "Options for grocy's PHPFPM pool.\n", "loc": ["services", "grocy", "phpfpm", "settings"], "readOnly": false, "type": "attribute set of (signed integer or string or boolean)"}, "services.grocy.settings.calendar.firstDayOfWeek": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Which day of the week (0=Sunday, 1=Monday etc.) should be the\nfirst day.\n", "loc": ["services", "grocy", "settings", "calendar", "firstDayOfWeek"], "readOnly": false, "type": "null or one of 0, 1, 2, 3, 4, 5, 6"}, "services.grocy.settings.calendar.showWeekNumber": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Show the number of the weeks in the calendar views.\n", "loc": ["services", "grocy", "settings", "calendar", "showWeekNumber"], "readOnly": false, "type": "boolean"}, "services.grocy.settings.culture": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "\"en\""}, "description": "Display language of the frontend.\n", "loc": ["services", "grocy", "settings", "culture"], "readOnly": false, "type": "one of \"bg_BG\", \"ca\", \"cs\", \"da\", \"de\", \"el_GR\", \"en\", \"en_GB\", \"es\", \"et_EE\", \"fi\", \"fr\", \"he_IL\", \"hu\", \"it\", \"ja\", \"ko_KR\", \"lt\", \"nl\", \"no\", \"pl\", \"pt_BR\", \"pt_PT\", \"ro_RO\", \"ru\", \"sk_SK\", \"sl\", \"sv_SE\", \"ta\", \"tr\", \"uk\", \"zh_CN\", \"zh_TW\""}, "services.grocy.settings.currency": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "\"USD\""}, "description": "ISO 4217 code for the currency to display.\n", "example": {"_type": "literalExpression", "text": "\"EUR\""}, "loc": ["services", "grocy", "settings", "currency"], "readOnly": false, "type": "string"}, "services.grocy.settings.entryPage": {"declarations": ["nixos/modules/services/web-apps/grocy.nix"], "default": {"_type": "literalExpression", "text": "\"stock\""}, "description": "Specify an custom homepage if desired.\n", "loc": ["services", "grocy", "settings", "entryPage"], "readOnly": false, "type": "one of \"stock\", \"shoppinglist\", \"recipes\", \"chores\", \"tasks\", \"batteries\", \"equipment\", \"calendar\", \"mealplan\""}, "services.guacamole-client.enable": {"declarations": ["nixos/modules/services/web-apps/guacamole-client.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Apache Guacamole Client (Tomcat).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "guacamole-client", "enable"], "readOnly": false, "type": "boolean"}, "services.guacamole-client.enableWebserver": {"declarations": ["nixos/modules/services/web-apps/guacamole-client.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the Guacamole web application in a Tomcat webserver.\n", "loc": ["services", "guacamole-client", "enableWebserver"], "readOnly": false, "type": "boolean"}, "services.guacamole-client.logbackXml": {"declarations": ["nixos/modules/services/web-apps/guacamole-client.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration file that correspond to `logback.xml`.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/logback.xml\""}, "loc": ["services", "guacamole-client", "logbackXml"], "readOnly": false, "type": "null or absolute path"}, "services.guacamole-client.package": {"declarations": ["nixos/modules/services/web-apps/guacamole-client.nix"], "default": {"_type": "literalExpression", "text": "pkgs.guacamole-client"}, "description": "The guacamole-client package to use.", "loc": ["services", "guacamole-client", "package"], "readOnly": false, "type": "package"}, "services.guacamole-client.settings": {"declarations": ["nixos/modules/services/web-apps/guacamole-client.nix"], "default": {"_type": "literalExpression", "text": "{\n  guacd-hostname = \"localhost\";\n  guacd-port = 4822;\n}"}, "description": "Configuration written to `guacamole.properties`.\n\n::: {.note}\nThe Guacamole web application uses one main configuration file called\n`guacamole.properties`. This file is the common location for all\nconfiguration properties read by Guacamole or any extension of\nGuacamole, including authentication providers.\n:::\n", "loc": ["services", "guacamole-client", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string, package, bool, int or float)"}, "services.guacamole-client.userMappingXml": {"declarations": ["nixos/modules/services/web-apps/guacamole-client.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration file that correspond to `user-mapping.xml`.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/user-mapping.xml\""}, "loc": ["services", "guacamole-client", "userMappingXml"], "readOnly": false, "type": "null or absolute path"}, "services.guacamole-server.enable": {"declarations": ["nixos/modules/services/web-apps/guacamole-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Apache Guacamole Server (guacd).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "guacamole-server", "enable"], "readOnly": false, "type": "boolean"}, "services.guacamole-server.extraEnvironment": {"declarations": ["nixos/modules/services/web-apps/guacamole-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to pass to guacd.", "example": {"_type": "literalExpression", "text": "{\n  ENVIRONMENT = \"production\";\n}\n"}, "loc": ["services", "guacamole-server", "extraEnvironment"], "readOnly": false, "type": "attribute set of string"}, "services.guacamole-server.host": {"declarations": ["nixos/modules/services/web-apps/guacamole-server.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host name or IP address the server should listen to.\n", "loc": ["services", "guacamole-server", "host"], "readOnly": false, "type": "string"}, "services.guacamole-server.package": {"declarations": ["nixos/modules/services/web-apps/guacamole-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.guacamole-server"}, "description": "The guacamole-server package to use.", "loc": ["services", "guacamole-server", "package"], "readOnly": false, "type": "package"}, "services.guacamole-server.port": {"declarations": ["nixos/modules/services/web-apps/guacamole-server.nix"], "default": {"_type": "literalExpression", "text": "4822"}, "description": "The port the guacd server should listen to.\n", "loc": ["services", "guacamole-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.guix.enable": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Guix build daemon service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "guix", "enable"], "readOnly": false, "type": "boolean"}, "services.guix.extraArgs": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to the Guix daemon service.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--max-jobs=4\"\n  \"--debug\"\n]"}, "loc": ["services", "guix", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.guix.gc.dates": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "\"03:15\""}, "description": "How often the garbage collection occurs. This takes the time format\nfrom {manpage}`systemd.time(7)`.\n", "example": {"_type": "literalExpression", "text": "\"weekly\""}, "loc": ["services", "guix", "gc", "dates"], "readOnly": false, "type": "string"}, "services.guix.gc.enable": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic garbage collection service for Guix.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "guix", "gc", "enable"], "readOnly": false, "type": "boolean"}, "services.guix.gc.extraArgs": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of arguments to be passed to {command}`guix gc`.\n\nWhen given no option, it will try to collect all garbage which is\noften inconvenient so it is recommended to set [some\noptions](https://guix.gnu.org/en/manual/en/html_node/Invoking-guix-gc.html).\n", "example": {"_type": "literalExpression", "text": "[\n  \"--delete-generations=1m\"\n  \"--free-space=10G\"\n  \"--optimize\"\n]"}, "loc": ["services", "guix", "gc", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.guix.group": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "\"guixbuild\""}, "description": "The group of the Guix build user pool.\n", "example": {"_type": "literalExpression", "text": "\"guixbuild\""}, "loc": ["services", "guix", "group"], "readOnly": false, "type": "string"}, "services.guix.nrBuildUsers": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Number of Guix build users to be used in the build pool.\n", "example": {"_type": "literalExpression", "text": "20"}, "loc": ["services", "guix", "nrBuildUsers"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.guix.package": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "pkgs.guix"}, "description": "The guix package to use. It should contain {command}`guix-daemon` and {command}`guix`\nexecutable.\n", "loc": ["services", "guix", "package"], "readOnly": false, "type": "package"}, "services.guix.publish.enable": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable substitute server for your Guix store directory.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "guix", "publish", "enable"], "readOnly": false, "type": "boolean"}, "services.guix.publish.extraArgs": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to the substitute server.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--compression=zstd:6\"\n  \"--discover=no\"\n]"}, "loc": ["services", "guix", "publish", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.guix.publish.generateKeyPair": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to generate signing keys in {file}`/etc/guix` which are\nrequired to initialize a substitute server. Otherwise,\n`--public-key=$FILE` and `--private-key=$FILE` can be passed in\n{option}`services.guix.publish.extraArgs`.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "guix", "publish", "generateKeyPair"], "readOnly": false, "type": "boolean"}, "services.guix.publish.port": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "8181"}, "description": "Port of the substitute server to listen on.\n", "example": {"_type": "literalExpression", "text": "8200"}, "loc": ["services", "guix", "publish", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.guix.publish.user": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "\"guix-publish\""}, "description": "Name of the user to change once the server is up.\n", "loc": ["services", "guix", "publish", "user"], "readOnly": false, "type": "string"}, "services.guix.stateDir": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "\"/var\""}, "description": "The state directory where Guix service will store its data such as its\nuser-specific profiles, cache, and state files.\n\n::: {.warning}\nChanging it to something other than the default will rebuild the\npackage.\n:::\n", "example": {"_type": "literalExpression", "text": "\"/gnu/var\""}, "loc": ["services", "guix", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.guix.storeDir": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "\"/gnu/store\""}, "description": "The store directory where the Guix service will serve to/from. Take\nnote Guix cannot take advantage of substitutes if you set it something\nother than {file}`/gnu/store` since most of the cached builds are\nassumed to be in there.\n\n::: {.warning}\nThis will also recompile all packages because the normal cache no\nlonger applies.\n:::\n", "loc": ["services", "guix", "storeDir"], "readOnly": false, "type": "absolute path"}, "services.guix.substituters.authorizedKeys": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "''\n  The packaged signing keys from {option}`services.guix.package`.\n''"}, "description": "A list of signing keys for each substitute server to be authorized as\na source of substitutes. Without this, the listed substitute servers\nfrom {option}`services.guix.substituters.urls` would be ignored [with\nsome\nexceptions](https://guix.gnu.org/manual/en/html_node/Substitute-Authentication.html).\n", "example": {"_type": "literalExpression", "text": "options.services.guix.substituters.authorizedKeys.default ++ [\n  (builtins.fetchurl {\n    url = \"https://guix.example.com/signing-key.pub\";\n  })\n\n  (builtins.fetchurl {\n    url = \"https://guix.example.org/static/signing-key.pub\";\n  })\n]\n"}, "loc": ["services", "guix", "substituters", "authorizedKeys"], "readOnly": false, "type": "list of absolute path"}, "services.guix.substituters.urls": {"declarations": ["nixos/modules/services/misc/guix"], "default": {"_type": "literalExpression", "text": "[\n  \"https://ci.guix.gnu.org\"\n  \"https://bordeaux.guix.gnu.org\"\n  \"https://berlin.guix.gnu.org\"\n]"}, "description": "A list of substitute servers' URLs for the Guix daemon to download\nsubstitutes from.\n", "example": {"_type": "literalExpression", "text": "options.services.guix.substituters.urls.default ++ [\n  \"https://guix.example.com\"\n  \"https://guix.example.org\"\n]\n"}, "loc": ["services", "guix", "substituters", "urls"], "readOnly": false, "type": "list of string"}, "services.gvfs.enable": {"declarations": ["nixos/modules/services/desktops/gvfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable GVfs, a userspace virtual filesystem.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gvfs", "enable"], "readOnly": false, "type": "boolean"}, "services.gvfs.package": {"declarations": ["nixos/modules/services/desktops/gvfs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gnome.gvfs"}, "description": "The gvfs package to use.", "loc": ["services", "gvfs", "package"], "readOnly": false, "type": "package"}, "services.gvpe.configFile": {"declarations": ["nixos/modules/services/networking/gvpe.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "GVPE config file, if already present\n", "example": {"_type": "literalExpression", "text": "\"/root/my-gvpe-conf\""}, "loc": ["services", "gvpe", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.gvpe.configText": {"declarations": ["nixos/modules/services/networking/gvpe.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "GVPE config contents\n", "example": {"_type": "literalExpression", "text": "''\n  tcp-port = 655\n  udp-port = 655\n  mtu = 1480\n  ifname = vpn0\n  \n  node = alpha\n  hostname = alpha.example.org\n  connect = always\n  enable-udp = true\n  enable-tcp = true\n  on alpha if-up = if-up-0\n  on alpha pid-file = /var/gvpe/gvpe.pid\n''"}, "loc": ["services", "gvpe", "configText"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.gvpe.customIFSetup": {"declarations": ["nixos/modules/services/networking/gvpe.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional commands to apply in ifup script\n", "loc": ["services", "gvpe", "customIFSetup"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.gvpe.enable": {"declarations": ["nixos/modules/services/networking/gvpe.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gvpe.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "gvpe", "enable"], "readOnly": false, "type": "boolean"}, "services.gvpe.ipAddress": {"declarations": ["nixos/modules/services/networking/gvpe.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IP address to assign to GVPE interface\n", "loc": ["services", "gvpe", "ipAddress"], "readOnly": false, "type": "null or string"}, "services.gvpe.nodename": {"declarations": ["nixos/modules/services/networking/gvpe.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "GVPE node name\n", "loc": ["services", "gvpe", "nodename"], "readOnly": false, "type": "null or string"}, "services.gvpe.subnet": {"declarations": ["nixos/modules/services/networking/gvpe.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IP subnet assigned to GVPE network\n", "example": {"_type": "literalExpression", "text": "\"10.0.0.0/8\""}, "loc": ["services", "gvpe", "subnet"], "readOnly": false, "type": "null or string"}, "services.h2o.defaultHTTPListenPort": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "80"}, "description": "If hosts do not specify listen.port, use these ports for HTTP by default.\n", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["services", "h2o", "defaultHTTPListenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.h2o.defaultTLSListenPort": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "443"}, "description": "If hosts do not specify listen.port, use these ports for SSL by default.\n", "example": {"_type": "literalExpression", "text": "8443"}, "loc": ["services", "h2o", "defaultTLSListenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.h2o.defaultTLSRecommendations": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default, H2O, without prejudice, will use as many TLS versions &\ncipher suites as it & the TLS library (OpenSSL) can support. The user is\nexpected to hone settings for the security of their server. Setting some\nconstraints is recommended, & if unsure about what TLS settings to use,\nthis option gives curated TLS settings recommendations from Mozilla\u2019s\n\u2018SSL Configuration Generator\u2019 project (see\n<https://ssl-config.mozilla.org>) or read more at Mozilla\u2019s Wiki (see\n<https://wiki.mozilla.org/Security/Server_Side_TLS>).\n\nmodern\n: Services with clients that support TLS 1.3 & don\u2019t need backward\n  compatibility\n\nintermediate\n: General-purpose servers with a variety of clients, recommended for\n  almost all systems\n\nThe default for all virtual hosts can be set with\nservices.h2o.defaultTLSRecommendations, but this value can be overridden\non a per-host basis using services.h2o.hosts.<name>.tls.recommmendations.\nThe settings will also be overidden by manual values set with\nservices.settings.h2o.hosts.<name>.tls.extraSettings.\n\nNOTE: older/weaker ciphers might require overriding the OpenSSL version\nof H2O (such as `openssl_legacy`). This can be done with\nsevices.settings.h2o.package.\n", "example": {"_type": "literalExpression", "text": "\"intermediate\""}, "loc": ["services", "h2o", "defaultTLSRecommendations"], "readOnly": false, "type": "null or one of \"modern\", \"intermediate\""}, "services.h2o.enable": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable H2O web server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "h2o", "enable"], "readOnly": false, "type": "boolean"}, "services.h2o.group": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "\"h2o\""}, "description": "Group running H2O services", "loc": ["services", "h2o", "group"], "readOnly": false, "type": "non-empty string"}, "services.h2o.hosts": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The `hosts` config to be merged with the settings.\n\nNote that unlike YAML used for H2O, Nix will not support duplicate\nkeys to, for instance, have multiple listens in a host block; use the\nvirtual host options in like `http` & `tls` or use `$HOST:$PORT`\nkeys if manually specifying config.\n", "example": {"_type": "literalExpression", "text": "{\n  \"hydra.example.com\" = {\n    tls = {\n      policy = \"force\";\n      identity = [\n        {\n          key-file = \"/path/to/key\";\n          certificate-file = \"/path/to/cert\";\n        };\n      ];\n      extraSettings = {\n        minimum-version = \"TLSv1.3\";\n      };\n    };\n    settings = {\n      paths.\"/\" = {\n        \"file:dir\" = \"/var/www/default\";\n      };\n    };\n  };\n}\n"}, "loc": ["services", "h2o", "hosts"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.h2o.hosts.<name>.acme": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "ACME options for virtual host.", "loc": ["services", "h2o", "hosts", "<name>", "acme"], "readOnly": false, "type": "null or (submodule)"}, "services.h2o.hosts.<name>.acme.enable": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let\u2019s Encrypt to sign a certificate for this\nvirtual host. Alternatively, an existing host can be used thru\n{option}`acme.useHost`.\n", "loc": ["services", "h2o", "hosts", "<name>", "acme", "enable"], "readOnly": false, "type": "boolean"}, "services.h2o.hosts.<name>.acme.root": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don\u2019t put\ncerts or keys in here. Set to `null` to inherit from\nconfig.security.acme.\n", "loc": ["services", "h2o", "hosts", "<name>", "acme", "root"], "readOnly": false, "type": "null or absolute path"}, "services.h2o.hosts.<name>.acme.useHost": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An existing Let\u2019s Encrypt certificate to use for this virtual\nhost. This is useful if you have many subdomains and want to\navoid hitting the [rate\nlimit](https://letsencrypt.org/docs/rate-limits). Alternately,\nyou can generate a certificate through {option}`acme.enable`.\nNote that this option neither creates any certificates nor does\nit add subdomains to existing ones\u2009\u2014\u2009you will need to create\nthem manually using [](#opt-security.acme.certs).\n", "loc": ["services", "h2o", "hosts", "<name>", "acme", "useHost"], "readOnly": false, "type": "null or non-empty string"}, "services.h2o.hosts.<name>.host": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the host address for this virtual host. If unset, the default is to\nlisten on all network interfaces.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "h2o", "hosts", "<name>", "host"], "readOnly": false, "type": "null or non-empty string"}, "services.h2o.hosts.<name>.http": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "HTTP options for virtual host", "loc": ["services", "h2o", "hosts", "<name>", "http"], "readOnly": false, "type": "null or (submodule)"}, "services.h2o.hosts.<name>.http.port": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "config.services.h2o.defaultHTTPListenPort\n"}, "description": "Override the default HTTP port for this virtual host.\n", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["services", "h2o", "hosts", "<name>", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.h2o.hosts.<name>.serverAliases": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host\nconfiguration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "h2o", "hosts", "<name>", "serverAliases"], "readOnly": false, "type": "list of non-empty string"}, "services.h2o.hosts.<name>.serverName": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Server name to be used for this virtual host. Defaults to attribute\nname in hosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "h2o", "hosts", "<name>", "serverName"], "readOnly": false, "type": "null or non-empty string"}, "services.h2o.hosts.<name>.settings": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attrset to be transformed into YAML for host config. Note that the HTTP\n/ TLS configurations will override these config values. See\n<https://h2o.examp1e.net/configure/base_directives.html#hosts>.\n", "loc": ["services", "h2o", "hosts", "<name>", "settings"], "readOnly": false, "type": "attribute set"}, "services.h2o.hosts.<name>.tls": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "TLS options for virtual host", "loc": ["services", "h2o", "hosts", "<name>", "tls"], "readOnly": false, "type": "null or (submodule)"}, "services.h2o.hosts.<name>.tls.extraSettings": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional TLS/SSL-related configuration options. See\n<https://h2o.examp1e.net/configure/base_directives.html#listen-ssl>.\n", "example": {"_type": "literalExpression", "text": "{\n  minimum-version = \"TLSv1.3\";\n}\n"}, "loc": ["services", "h2o", "hosts", "<name>", "tls", "extraSettings"], "readOnly": false, "type": "attribute set"}, "services.h2o.hosts.<name>.tls.identity": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Key / certificate pairs for the virtual host.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    key-file = \"/path/to/rsa.key\";\n    certificate-file = \"/path/to/rsa.crt\";\n  }\n  {\n    key-file = \"/path/to/ecdsa.key\";\n    certificate-file = \"/path/to/ecdsa.crt\";\n  }\n]\n"}, "loc": ["services", "h2o", "hosts", "<name>", "tls", "identity"], "readOnly": false, "type": "list of (submodule)"}, "services.h2o.hosts.<name>.tls.identity.*.certificate-file": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "description": "Path to certificate file. See\n<https://h2o.examp1e.net/configure/base_directives.html#certificate-file>.\n", "loc": ["services", "h2o", "hosts", "<name>", "tls", "identity", "*", "certificate-file"], "readOnly": false, "type": "absolute path"}, "services.h2o.hosts.<name>.tls.identity.*.key-file": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "description": "Path to key file. See\n<https://h2o.examp1e.net/configure/base_directives.html#key-file>.\n", "loc": ["services", "h2o", "hosts", "<name>", "tls", "identity", "*", "key-file"], "readOnly": false, "type": "absolute path"}, "services.h2o.hosts.<name>.tls.policy": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "description": "`add` will additionally listen for TLS connections. `only` will\ndisable   TLS connections. `force` will redirect non-TLS traffic\nto the TLS connection.\n", "example": {"_type": "literalExpression", "text": "\"force\""}, "loc": ["services", "h2o", "hosts", "<name>", "tls", "policy"], "readOnly": false, "type": "one of \"add\", \"only\", \"force\""}, "services.h2o.hosts.<name>.tls.port": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "config.services.h2o.defaultTLSListenPort\n"}, "description": "Override the default TLS port for this virtual host.\n", "example": {"_type": "literalExpression", "text": "8443"}, "loc": ["services", "h2o", "hosts", "<name>", "tls", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.h2o.hosts.<name>.tls.quic": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enables HTTP/3 over QUIC on the UDP port for TLS. The attrset\nprovides fine-turning for QUIC behavior, but can be empty. See\n<https://h2o.examp1e.net/configure/http3_directives.html#quic-attributes>.\n", "example": {"_type": "literalExpression", "text": "{\n  amp-limit = 2;\n  handshake-timeout-rtt-multiplier = 300;\n  retry = \"ON\";\n}\n"}, "loc": ["services", "h2o", "hosts", "<name>", "tls", "quic"], "readOnly": false, "type": "null or (attribute set)"}, "services.h2o.hosts.<name>.tls.recommendations": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "By default, H2O, without prejudice, will use as many TLS versions &\ncipher suites as it & the TLS library (OpenSSL) can support. The user is\nexpected to hone settings for the security of their server. Setting some\nconstraints is recommended, & if unsure about what TLS settings to use,\nthis option gives curated TLS settings recommendations from Mozilla\u2019s\n\u2018SSL Configuration Generator\u2019 project (see\n<https://ssl-config.mozilla.org>) or read more at Mozilla\u2019s Wiki (see\n<https://wiki.mozilla.org/Security/Server_Side_TLS>).\n\nmodern\n: Services with clients that support TLS 1.3 & don\u2019t need backward\n  compatibility\n\nintermediate\n: General-purpose servers with a variety of clients, recommended for\n  almost all systems\n\nThe default for all virtual hosts can be set with\nservices.h2o.defaultTLSRecommendations, but this value can be overridden\non a per-host basis using services.h2o.hosts.<name>.tls.recommmendations.\nThe settings will also be overidden by manual values set with\nservices.settings.h2o.hosts.<name>.tls.extraSettings.\n\nNOTE: older/weaker ciphers might require overriding the OpenSSL version\nof H2O (such as `openssl_legacy`). This can be done with\nsevices.settings.h2o.package.\n", "example": {"_type": "literalExpression", "text": "\"intermediate\""}, "loc": ["services", "h2o", "hosts", "<name>", "tls", "recommendations"], "readOnly": false, "type": "null or one of \"modern\", \"intermediate\""}, "services.h2o.hosts.<name>.tls.redirectCode": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` & `forceSSL`. Possible\nusecases include temporary (302, 307) redirects, keeping the\nrequest method & body (307, 308), or explicitly resetting the\nmethod to GET (303). See\n<https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "h2o", "hosts", "<name>", "tls", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.h2o.package": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.h2o"}, "description": "The h2o package to use.", "example": {"_type": "literalExpression", "text": "pkgs.h2o.override {\n  withMruby = false;\n  openssl = pkgs.openssl_legacy;\n}\n"}, "loc": ["services", "h2o", "package"], "readOnly": false, "type": "package"}, "services.h2o.settings": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for H2O (see <https://h2o.examp1e.net/configure.html>)", "example": {"_type": "literalExpression", "text": "{\n  compress = \"ON\";\n  ssl-offload = \"kernel\";\n  http2-reprioritize-blocking-assets = \"ON\";\n  \"file.mime.addtypes\" = {\n    \"text/x-rst\" = {\n      extensions = [ \".rst\" ];\n      is_compressible = \"YES\";\n    };\n  };\n}\n"}, "loc": ["services", "h2o", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.h2o.user": {"declarations": ["nixos/modules/services/web-servers/h2o/default.nix"], "default": {"_type": "literalExpression", "text": "\"h2o\""}, "description": "User running H2O service", "loc": ["services", "h2o", "user"], "readOnly": false, "type": "non-empty string"}, "services.hadoop.containerExecutorCfg": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"feature.mount-cgroup.enabled\" = 1;\n  \"feature.terminal.enabled\" = 1;\n  \"min.user.id\" = 1000;\n  \"yarn.nodemanager.linux-container-executor.group\" = \"hadoop\";\n}"}, "description": "Yarn container-executor.cfg definition\n<https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/SecureContainer.html>\n", "example": {"_type": "literalExpression", "text": "options.services.hadoop.containerExecutorCfg.default // {\n  \"feature.terminal.enabled\" = 0;\n}\n"}, "loc": ["services", "hadoop", "containerExecutorCfg"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.coreSite": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Hadoop core-site.xml definition\n<https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml>\n", "example": {"_type": "literalExpression", "text": "{\n  \"fs.defaultFS\" = \"hdfs://localhost\";\n}\n"}, "loc": ["services", "hadoop", "coreSite"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.extraConfDirs": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Directories containing additional config files to be added to HADOOP_CONF_DIR", "example": {"_type": "literalExpression", "text": "[\n  ./extraHDFSConfs\n  ./extraYARNConfs\n]\n"}, "loc": ["services", "hadoop", "extraConfDirs"], "readOnly": false, "type": "list of absolute path"}, "services.hadoop.gatewayRole.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable gateway role for deploying hadoop configs.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "gatewayRole", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.gatewayRole.enableHbaseCli": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HBase CLI tools.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "gatewayRole", "enableHbaseCli"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.master.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HBase master.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hbase", "master", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.master.environment": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables passed to master.", "example": {"_type": "literalExpression", "text": "{\n  HBASE_MASTER_OPTS = \"-Dcom.sun.management.jmxremote.ssl=true\";\n}\n"}, "loc": ["services", "hadoop", "hbase", "master", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hbase.master.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags for the master service.", "example": {"_type": "literalExpression", "text": "[ \"--backup\" ]"}, "loc": ["services", "hadoop", "hbase", "master", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hbase.master.initHDFS": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable initialization of the hbase directory on HDFS.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hbase", "master", "initHDFS"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.master.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HBase master.", "loc": ["services", "hadoop", "hbase", "master", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.master.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Restart master con config change.", "loc": ["services", "hadoop", "hbase", "master", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.package": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hbase"}, "description": "The hbase package to use.", "loc": ["services", "hadoop", "hbase", "package"], "readOnly": false, "type": "package"}, "services.hadoop.hbase.regionServer.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HBase regionServer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hbase", "regionServer", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.regionServer.environment": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables passed to regionServer.", "example": {"_type": "literalExpression", "text": "{\n  HBASE_MASTER_OPTS = \"-Dcom.sun.management.jmxremote.ssl=true\";\n}\n"}, "loc": ["services", "hadoop", "hbase", "regionServer", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hbase.regionServer.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags for the regionServer service.", "example": {"_type": "literalExpression", "text": "[ \"--backup\" ]"}, "loc": ["services", "hadoop", "hbase", "regionServer", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hbase.regionServer.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HBase regionServer.", "loc": ["services", "hadoop", "hbase", "regionServer", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.regionServer.overrideHosts": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Remove /etc/hosts entries for \"127.0.0.2\" and \"::1\" defined in nixos/modules/config/networking.nix\nRegionservers must be able to resolve their hostnames to their IP addresses, through PTR records\nor /etc/hosts entries.\n", "loc": ["services", "hadoop", "hbase", "regionServer", "overrideHosts"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.regionServer.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Restart regionServer con config change.", "loc": ["services", "hadoop", "hbase", "regionServer", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.rest.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HBase rest.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hbase", "rest", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.rest.environment": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables passed to rest.", "example": {"_type": "literalExpression", "text": "{\n  HBASE_MASTER_OPTS = \"-Dcom.sun.management.jmxremote.ssl=true\";\n}\n"}, "loc": ["services", "hadoop", "hbase", "rest", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hbase.rest.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags for the rest service.", "example": {"_type": "literalExpression", "text": "[ \"--backup\" ]"}, "loc": ["services", "hadoop", "hbase", "rest", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hbase.rest.infoPort": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "8085"}, "description": "web UI port", "loc": ["services", "hadoop", "hbase", "rest", "infoPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hadoop.hbase.rest.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HBase rest.", "loc": ["services", "hadoop", "hbase", "rest", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.rest.port": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "RPC port", "loc": ["services", "hadoop", "hbase", "rest", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hadoop.hbase.rest.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Restart rest con config change.", "loc": ["services", "hadoop", "hbase", "rest", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.rootdir": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "\"/hbase\""}, "description": "This option will set \"hbase.rootdir\" in hbase-site.xml and determine\nthe directory shared by region servers and into which HBase persists.\nThe URL should be 'fully-qualified' to include the filesystem scheme.\nIf a core-site.xml is provided, the FS scheme defaults to the value\nof \"fs.defaultFS\".\n\nFilesystems other than HDFS (like S3, QFS, Swift) are also supported.\n", "example": {"_type": "literalExpression", "text": "\"hdfs://nameservice1/hbase\""}, "loc": ["services", "hadoop", "hbase", "rootdir"], "readOnly": false, "type": "string"}, "services.hadoop.hbase.thrift.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HBase thrift.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hbase", "thrift", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.thrift.environment": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables passed to thrift.", "example": {"_type": "literalExpression", "text": "{\n  HBASE_MASTER_OPTS = \"-Dcom.sun.management.jmxremote.ssl=true\";\n}\n"}, "loc": ["services", "hadoop", "hbase", "thrift", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hbase.thrift.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags for the thrift service.", "example": {"_type": "literalExpression", "text": "[ \"--backup\" ]"}, "loc": ["services", "hadoop", "hbase", "thrift", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hbase.thrift.infoPort": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "9095"}, "description": "web UI port", "loc": ["services", "hadoop", "hbase", "thrift", "infoPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hadoop.hbase.thrift.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HBase thrift.", "loc": ["services", "hadoop", "hbase", "thrift", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.thrift.port": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "9090"}, "description": "RPC port", "loc": ["services", "hadoop", "hbase", "thrift", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hadoop.hbase.thrift.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Restart thrift con config change.", "loc": ["services", "hadoop", "hbase", "thrift", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hbase.zookeeperQuorum": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "This option will set \"hbase.zookeeper.quorum\" in hbase-site.xml.\nComma separated list of servers in the ZooKeeper ensemble.\n", "example": {"_type": "literalExpression", "text": "\"zk1.internal,zk2.internal,zk3.internal\""}, "loc": ["services", "hadoop", "hbase", "zookeeperQuorum"], "readOnly": false, "type": "null or strings concatenated with \",\""}, "services.hadoop.hbaseSite": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional options and overrides for hbase-site.xml\n<https://github.com/apache/hbase/blob/rel/2.4.11/hbase-common/src/main/resources/hbase-default.xml>\n", "example": {"_type": "literalExpression", "text": "{\n  \"hbase.hregion.max.filesize\" = 20*1024*1024*1024;\n  \"hbase.table.normalization.enabled\" = \"true\";\n}\n"}, "loc": ["services", "hadoop", "hbaseSite"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.hbaseSiteDefault": {"declarations": ["nixos/modules/services/cluster/hadoop/hbase.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"hbase.cluster.distributed\" = \"true\";\n  \"hbase.master.info.bindAddress\" = \"0.0.0.0\";\n  \"hbase.master.ipc.address\" = \"0.0.0.0\";\n  \"hbase.regionserver.info.bindAddress\" = \"0.0.0.0\";\n  \"hbase.regionserver.ipc.address\" = \"0.0.0.0\";\n}"}, "description": "Default options for hbase-site.xml\n", "loc": ["services", "hadoop", "hbaseSiteDefault"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.hdfs.datanode.dataDirs": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Tier and path definitions for datanode storage.", "loc": ["services", "hadoop", "hdfs", "datanode", "dataDirs"], "readOnly": false, "type": "null or (list of (submodule))"}, "services.hadoop.hdfs.datanode.dataDirs.*.path": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "description": "Determines where on the local filesystem a data node should store its blocks.", "example": {"_type": "literalExpression", "text": "[\n  \"/var/lib/hadoop/hdfs/dn\"\n]"}, "loc": ["services", "hadoop", "hdfs", "datanode", "dataDirs", "*", "path"], "readOnly": false, "type": "absolute path"}, "services.hadoop.hdfs.datanode.dataDirs.*.type": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "description": "Storage types ([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK]) for HDFS storage policies.\n", "loc": ["services", "hadoop", "hdfs", "datanode", "dataDirs", "*", "type"], "readOnly": false, "type": "one of \"SSD\", \"DISK\", \"ARCHIVE\", \"RAM_DISK\""}, "services.hadoop.hdfs.datanode.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HDFS DataNode.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hdfs", "datanode", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.datanode.extraEnv": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables for HDFS DataNode", "loc": ["services", "hadoop", "hdfs", "datanode", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hdfs.datanode.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line flags to pass to HDFS DataNode", "example": {"_type": "literalExpression", "text": "[\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.port=8010\"\n]"}, "loc": ["services", "hadoop", "hdfs", "datanode", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hdfs.datanode.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HDFS DataNode.", "loc": ["services", "hadoop", "hdfs", "datanode", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.datanode.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "hadoop", "hdfs", "datanode", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.httpfs.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HDFS JournalNode.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hdfs", "httpfs", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.httpfs.extraEnv": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables for HDFS JournalNode", "loc": ["services", "hadoop", "hdfs", "httpfs", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hdfs.httpfs.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line flags to pass to HDFS JournalNode", "example": {"_type": "literalExpression", "text": "[\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.port=8010\"\n]"}, "loc": ["services", "hadoop", "hdfs", "httpfs", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hdfs.httpfs.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HDFS JournalNode.", "loc": ["services", "hadoop", "hdfs", "httpfs", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.httpfs.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "hadoop", "hdfs", "httpfs", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.httpfs.tempPath": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "\"/tmp/hadoop/httpfs\""}, "description": "HTTPFS_TEMP path used by HTTPFS", "loc": ["services", "hadoop", "hdfs", "httpfs", "tempPath"], "readOnly": false, "type": "absolute path"}, "services.hadoop.hdfs.journalnode.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HDFS JournalNode.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hdfs", "journalnode", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.journalnode.extraEnv": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables for HDFS JournalNode", "loc": ["services", "hadoop", "hdfs", "journalnode", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hdfs.journalnode.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line flags to pass to HDFS JournalNode", "example": {"_type": "literalExpression", "text": "[\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.port=8010\"\n]"}, "loc": ["services", "hadoop", "hdfs", "journalnode", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hdfs.journalnode.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HDFS JournalNode.", "loc": ["services", "hadoop", "hdfs", "journalnode", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.journalnode.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "hadoop", "hdfs", "journalnode", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.namenode.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HDFS NameNode.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hdfs", "namenode", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.namenode.extraEnv": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables for HDFS NameNode", "loc": ["services", "hadoop", "hdfs", "namenode", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hdfs.namenode.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line flags to pass to HDFS NameNode", "example": {"_type": "literalExpression", "text": "[\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.port=8010\"\n]"}, "loc": ["services", "hadoop", "hdfs", "namenode", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hdfs.namenode.formatOnInit": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Format HDFS namenode on first start. This is useful for quickly spinning up\nephemeral HDFS clusters with a single namenode.\nFor HA clusters, initialization involves multiple steps across multiple nodes.\nFollow this guide to initialize an HA cluster manually:\n<https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html>\n", "loc": ["services", "hadoop", "hdfs", "namenode", "formatOnInit"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.namenode.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for HDFS NameNode.", "loc": ["services", "hadoop", "hdfs", "namenode", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.namenode.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "hadoop", "hdfs", "namenode", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.zkfc.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HDFS ZooKeeper failover controller.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "hdfs", "zkfc", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfs.zkfc.extraEnv": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables for HDFS ZooKeeper failover controller", "loc": ["services", "hadoop", "hdfs", "zkfc", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.hdfs.zkfc.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line flags to pass to HDFS ZooKeeper failover controller", "example": {"_type": "literalExpression", "text": "[\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.port=8010\"\n]"}, "loc": ["services", "hadoop", "hdfs", "zkfc", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.hdfs.zkfc.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/hdfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "hadoop", "hdfs", "zkfc", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.hdfsSite": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional options and overrides for hdfs-site.xml\n<https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml>\n", "example": {"_type": "literalExpression", "text": "{\n  \"dfs.nameservices\" = \"namenode1\";\n}\n"}, "loc": ["services", "hadoop", "hdfsSite"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.hdfsSiteDefault": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"dfs.namenode.http-address\" = \"0.0.0.0:9870\";\n  \"dfs.namenode.http-bind-host\" = \"0.0.0.0\";\n  \"dfs.namenode.rpc-bind-host\" = \"0.0.0.0\";\n  \"dfs.namenode.servicerpc-bind-host\" = \"0.0.0.0\";\n}"}, "description": "Default options for hdfs-site.xml\n", "loc": ["services", "hadoop", "hdfsSiteDefault"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.httpfsSite": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Hadoop httpfs-site.xml definition\n<https://hadoop.apache.org/docs/current/hadoop-hdfs-httpfs/httpfs-default.html>\n", "example": {"_type": "literalExpression", "text": "{\n  \"hadoop.http.max.threads\" = 500;\n}\n"}, "loc": ["services", "hadoop", "httpfsSite"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.log4jProperties": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.hadoop.package}/etc/hadoop/log4j.properties\"\n"}, "description": "log4j.properties file added to HADOOP_CONF_DIR", "example": {"_type": "literalExpression", "text": "\"${pkgs.hadoop}/etc/hadoop/log4j.properties\";\n"}, "loc": ["services", "hadoop", "log4jProperties"], "readOnly": false, "type": "absolute path"}, "services.hadoop.mapredSite": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional options and overrides for mapred-site.xml\n<https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml>\n", "example": {"_type": "literalExpression", "text": "{\n  \"mapreduce.map.java.opts\" = \"-Xmx900m -XX:+UseParallelGC\";\n}\n"}, "loc": ["services", "hadoop", "mapredSite"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.mapredSiteDefault": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"mapreduce.framework.name\" = \"yarn\";\n  \"yarn.app.mapreduce.am.env\" = \"HADOOP_MAPRED_HOME=${config.services.hadoop.package}\";\n  \"mapreduce.map.env\" = \"HADOOP_MAPRED_HOME=${config.services.hadoop.package}\";\n  \"mapreduce.reduce.env\" = \"HADOOP_MAPRED_HOME=${config.services.hadoop.package}\";\n}\n"}, "description": "Default options for mapred-site.xml\n", "loc": ["services", "hadoop", "mapredSiteDefault"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.package": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hadoop"}, "description": "The hadoop package to use.", "loc": ["services", "hadoop", "package"], "readOnly": false, "type": "package"}, "services.hadoop.yarn.nodemanager.addBinBash": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Add /bin/bash. This is needed by the linux container executor's launch script.\n", "loc": ["services", "hadoop", "yarn", "nodemanager", "addBinBash"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarn.nodemanager.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Hadoop YARN NodeManager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "yarn", "nodemanager", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarn.nodemanager.extraEnv": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables", "loc": ["services", "hadoop", "yarn", "nodemanager", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.yarn.nodemanager.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line flags to pass to the service", "example": {"_type": "literalExpression", "text": "[\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.port=8010\"\n]"}, "loc": ["services", "hadoop", "yarn", "nodemanager", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.yarn.nodemanager.localDir": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "List of directories to store localized files in.", "example": {"_type": "literalExpression", "text": "[\n  \"/var/lib/hadoop/yarn/nm\"\n]"}, "loc": ["services", "hadoop", "yarn", "nodemanager", "localDir"], "readOnly": false, "type": "null or (list of absolute path)"}, "services.hadoop.yarn.nodemanager.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for nodemanager.\nBecause containers can listen on any ephemeral port, TCP ports 1024\u201365535 will be opened.\n", "loc": ["services", "hadoop", "yarn", "nodemanager", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarn.nodemanager.resource.cpuVCores": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of vcores that can be allocated for containers.", "loc": ["services", "hadoop", "yarn", "nodemanager", "resource", "cpuVCores"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.hadoop.yarn.nodemanager.resource.maximumAllocationMB": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum physical memory any container can be allocated.", "loc": ["services", "hadoop", "yarn", "nodemanager", "resource", "maximumAllocationMB"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.hadoop.yarn.nodemanager.resource.maximumAllocationVCores": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The maximum virtual CPU cores any container can be allocated.", "loc": ["services", "hadoop", "yarn", "nodemanager", "resource", "maximumAllocationVCores"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.hadoop.yarn.nodemanager.resource.memoryMB": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Amount of physical memory, in MB, that can be allocated for containers.", "loc": ["services", "hadoop", "yarn", "nodemanager", "resource", "memoryMB"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.hadoop.yarn.nodemanager.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "hadoop", "yarn", "nodemanager", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarn.nodemanager.useCGroups": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use cgroups to enforce resource limits on containers\n", "loc": ["services", "hadoop", "yarn", "nodemanager", "useCGroups"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarn.resourcemanager.enable": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Hadoop YARN ResourceManager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hadoop", "yarn", "resourcemanager", "enable"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarn.resourcemanager.extraEnv": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables", "loc": ["services", "hadoop", "yarn", "resourcemanager", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hadoop.yarn.resourcemanager.extraFlags": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line flags to pass to the service", "example": {"_type": "literalExpression", "text": "[\n  \"-Dcom.sun.management.jmxremote\"\n  \"-Dcom.sun.management.jmxremote.port=8010\"\n]"}, "loc": ["services", "hadoop", "yarn", "resourcemanager", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.hadoop.yarn.resourcemanager.openFirewall": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open firewall ports for resourcemanager\n", "loc": ["services", "hadoop", "yarn", "resourcemanager", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarn.resourcemanager.restartIfChanged": {"declarations": ["nixos/modules/services/cluster/hadoop/yarn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically restart the service on config change.\nThis can be set to false to defer restarts on clusters running critical applications.\nPlease consider the security implications of inadvertently running an older version,\nand the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.\n", "loc": ["services", "hadoop", "yarn", "resourcemanager", "restartIfChanged"], "readOnly": false, "type": "boolean"}, "services.hadoop.yarnSite": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional options and overrides for yarn-site.xml\n<https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml>\n", "example": {"_type": "literalExpression", "text": "{\n  \"yarn.resourcemanager.hostname\" = \"${config.networking.hostName}\";\n}\n"}, "loc": ["services", "hadoop", "yarnSite"], "readOnly": false, "type": "attribute set of anything"}, "services.hadoop.yarnSiteDefault": {"declarations": ["nixos/modules/services/cluster/hadoop/default.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"yarn.nodemanager.admin-env\" = \"PATH=$PATH\";\n  \"yarn.nodemanager.aux-services\" = \"mapreduce_shuffle\";\n  \"yarn.nodemanager.aux-services.mapreduce_shuffle.class\" = \"org.apache.hadoop.mapred.ShuffleHandler\";\n  \"yarn.nodemanager.bind-host\" = \"0.0.0.0\";\n  \"yarn.nodemanager.container-executor.class\" = \"org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor\";\n  \"yarn.nodemanager.env-whitelist\" = \"JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,LANG,TZ\";\n  \"yarn.nodemanager.linux-container-executor.group\" = \"hadoop\";\n  \"yarn.nodemanager.linux-container-executor.path\" = \"/run/wrappers/yarn-nodemanager/bin/container-executor\";\n  \"yarn.nodemanager.log-dirs\" = \"/var/log/hadoop/yarn/nodemanager\";\n  \"yarn.resourcemanager.bind-host\" = \"0.0.0.0\";\n  \"yarn.resourcemanager.scheduler.class\" = \"org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler\";\n}"}, "description": "Default options for yarn-site.xml\n", "loc": ["services", "hadoop", "yarnSiteDefault"], "readOnly": false, "type": "attribute set of anything"}, "services.handheld-daemon.adjustor.enable": {"declarations": ["nixos/modules/services/hardware/handheld-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Handheld Daemon TDP control plugin.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "handheld-daemon", "adjustor", "enable"], "readOnly": false, "type": "boolean"}, "services.handheld-daemon.adjustor.loadAcpiCallModule": {"declarations": ["nixos/modules/services/hardware/handheld-daemon.nix"], "description": "Whether to load the acpi_call kernel module.\nRequired for TDP control by adjustor on most devices.\n", "loc": ["services", "handheld-daemon", "adjustor", "loadAcpiCallModule"], "readOnly": false, "type": "boolean"}, "services.handheld-daemon.enable": {"declarations": ["nixos/modules/services/hardware/handheld-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Handheld Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "handheld-daemon", "enable"], "readOnly": false, "type": "boolean"}, "services.handheld-daemon.package": {"declarations": ["nixos/modules/services/hardware/handheld-daemon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.handheld-daemon"}, "description": "The handheld-daemon package to use.", "loc": ["services", "handheld-daemon", "package"], "readOnly": false, "type": "package"}, "services.handheld-daemon.ui.enable": {"declarations": ["nixos/modules/services/hardware/handheld-daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Handheld Daemon UI.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "handheld-daemon", "ui", "enable"], "readOnly": false, "type": "boolean"}, "services.handheld-daemon.ui.package": {"declarations": ["nixos/modules/services/hardware/handheld-daemon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.handheld-daemon-ui"}, "description": "The handheld-daemon-ui package to use.", "loc": ["services", "handheld-daemon", "ui", "package"], "readOnly": false, "type": "package"}, "services.handheld-daemon.user": {"declarations": ["nixos/modules/services/hardware/handheld-daemon.nix"], "description": "The user to run Handheld Daemon with.\n", "loc": ["services", "handheld-daemon", "user"], "readOnly": false, "type": "string"}, "services.hans.clients": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Each attribute of this option defines a systemd service that\nruns hans. Many or none may be defined.\nThe name of each service is\n`hans-\u00abname\u00bb`\nwhere \u00abname\u00bb is the name of the\ncorresponding attribute name.\n", "example": {"_type": "literalExpression", "text": "{\n  foo = {\n    server = \"192.0.2.1\";\n    extraConfig = \"-v\";\n  }\n}\n"}, "loc": ["services", "hans", "clients"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.hans.clients.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional command line parameters", "example": {"_type": "literalExpression", "text": "\"-v\""}, "loc": ["services", "hans", "clients", "<name>", "extraConfig"], "readOnly": false, "type": "string"}, "services.hans.clients.<name>.passwordFile": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "File that contains password", "loc": ["services", "hans", "clients", "<name>", "passwordFile"], "readOnly": false, "type": "string"}, "services.hans.clients.<name>.server": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "IP address of server running hans", "example": {"_type": "literalExpression", "text": "\"192.0.2.1\""}, "loc": ["services", "hans", "clients", "<name>", "server"], "readOnly": false, "type": "string"}, "services.hans.server.enable": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "enable hans server", "loc": ["services", "hans", "server", "enable"], "readOnly": false, "type": "boolean"}, "services.hans.server.extraConfig": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional command line parameters", "example": {"_type": "literalExpression", "text": "\"-v\""}, "loc": ["services", "hans", "server", "extraConfig"], "readOnly": false, "type": "string"}, "services.hans.server.ip": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The assigned ip range", "example": {"_type": "literalExpression", "text": "\"198.51.100.0\""}, "loc": ["services", "hans", "server", "ip"], "readOnly": false, "type": "string"}, "services.hans.server.passwordFile": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "File that contains password", "loc": ["services", "hans", "server", "passwordFile"], "readOnly": false, "type": "string"}, "services.hans.server.respondToSystemPings": {"declarations": ["nixos/modules/services/networking/hans.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force hans respond to ordinary pings", "loc": ["services", "hans", "server", "respondToSystemPings"], "readOnly": false, "type": "boolean"}, "services.haproxy.config": {"declarations": ["nixos/modules/services/networking/haproxy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Contents of the HAProxy configuration file,\n{file}`haproxy.conf`.\n", "loc": ["services", "haproxy", "config"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.haproxy.enable": {"declarations": ["nixos/modules/services/networking/haproxy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HAProxy, the reliable, high performance TCP/HTTP load balancer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "haproxy", "enable"], "readOnly": false, "type": "boolean"}, "services.haproxy.group": {"declarations": ["nixos/modules/services/networking/haproxy.nix"], "default": {"_type": "literalExpression", "text": "\"haproxy\""}, "description": "Group account under which haproxy runs.", "loc": ["services", "haproxy", "group"], "readOnly": false, "type": "string"}, "services.haproxy.package": {"declarations": ["nixos/modules/services/networking/haproxy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.haproxy"}, "description": "The haproxy package to use.", "loc": ["services", "haproxy", "package"], "readOnly": false, "type": "package"}, "services.haproxy.user": {"declarations": ["nixos/modules/services/networking/haproxy.nix"], "default": {"_type": "literalExpression", "text": "\"haproxy\""}, "description": "User account under which haproxy runs.", "loc": ["services", "haproxy", "user"], "readOnly": false, "type": "string"}, "services.hardware.argonone.enable": {"declarations": ["nixos/modules/services/hardware/argonone.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the driver for Argon One Raspberry Pi case fan and power button.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hardware", "argonone", "enable"], "readOnly": false, "type": "boolean"}, "services.hardware.argonone.package": {"declarations": ["nixos/modules/services/hardware/argonone.nix"], "default": {"_type": "literalExpression", "text": "pkgs.argononed"}, "description": "The argononed package to use.", "loc": ["services", "hardware", "argonone", "package"], "readOnly": false, "type": "package"}, "services.hardware.bolt.enable": {"declarations": ["nixos/modules/services/hardware/bolt.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Bolt, a userspace daemon to enable\nsecurity levels for Thunderbolt 3 on GNU/Linux.\n\nBolt is used by GNOME 3 to handle Thunderbolt settings.\n", "loc": ["services", "hardware", "bolt", "enable"], "readOnly": false, "type": "boolean"}, "services.hardware.bolt.package": {"declarations": ["nixos/modules/services/hardware/bolt.nix"], "default": {"_type": "literalExpression", "text": "pkgs.bolt"}, "description": "The bolt package to use.", "loc": ["services", "hardware", "bolt", "package"], "readOnly": false, "type": "package"}, "services.hardware.deepcool-digital-linux.enable": {"declarations": ["nixos/modules/services/hardware/deepcool-digital-linux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable DeepCool Digital monitoring daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hardware", "deepcool-digital-linux", "enable"], "readOnly": false, "type": "boolean"}, "services.hardware.deepcool-digital-linux.extraArgs": {"declarations": ["nixos/modules/services/hardware/deepcool-digital-linux.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments to be passed to the deepcool-digital-linux daemon.\n", "example": {"_type": "literalExpression", "text": "[\n  # Change the update interval\n  \"--update 750\"\n  # Enable the alarm\n  \"--alarm\"\n]\n"}, "loc": ["services", "hardware", "deepcool-digital-linux", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.hardware.deepcool-digital-linux.package": {"declarations": ["nixos/modules/services/hardware/deepcool-digital-linux.nix"], "default": {"_type": "literalExpression", "text": "pkgs.deepcool-digital-linux"}, "description": "The deepcool-digital-linux package to use.", "loc": ["services", "hardware", "deepcool-digital-linux", "package"], "readOnly": false, "type": "package"}, "services.hardware.dell-bios-fan-control.enable": {"declarations": ["nixos/modules/services/hardware/dell-bios-fan-control.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable One-shot service to disable dell bios fan control on startup.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hardware", "dell-bios-fan-control", "enable"], "readOnly": false, "type": "boolean"}, "services.hardware.dell-bios-fan-control.package": {"declarations": ["nixos/modules/services/hardware/dell-bios-fan-control.nix"], "default": {"_type": "literalExpression", "text": "pkgs.dell-bios-fan-control"}, "description": "The dell-bios-fan-control package to use.", "loc": ["services", "hardware", "dell-bios-fan-control", "package"], "readOnly": false, "type": "package"}, "services.hardware.lcd.client.enable": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the LCD panel client (LCDproc)", "loc": ["services", "hardware", "lcd", "client", "enable"], "readOnly": false, "type": "boolean"}, "services.hardware.lcd.client.extraConfig": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional configuration added verbatim to the client config.", "loc": ["services", "hardware", "lcd", "client", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.hardware.lcd.client.restartForever": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Try restarting the client forever.", "loc": ["services", "hardware", "lcd", "client", "restartForever"], "readOnly": false, "type": "boolean"}, "services.hardware.lcd.server.enable": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the LCD panel server (LCDd)", "loc": ["services", "hardware", "lcd", "server", "enable"], "readOnly": false, "type": "boolean"}, "services.hardware.lcd.server.extraConfig": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional configuration added verbatim to the server config.", "loc": ["services", "hardware", "lcd", "server", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.hardware.lcd.server.openPorts": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the ports in the firewall", "loc": ["services", "hardware", "lcd", "server", "openPorts"], "readOnly": false, "type": "boolean"}, "services.hardware.lcd.server.usbGroup": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "\"dialout\""}, "description": "The group to use for settings permissions. This group must exist or you will have to create it.", "loc": ["services", "hardware", "lcd", "server", "usbGroup"], "readOnly": false, "type": "string"}, "services.hardware.lcd.server.usbPermissions": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Set group-write permissions on a USB device.\n\nA USB connected LCD panel will most likely require having its\npermissions modified for lcdd to write to it. Enabling this option\nsets group-write permissions on the device identified by\n{option}`services.hardware.lcd.usbVid` and\n{option}`services.hardware.lcd.usbPid`. In order to find the\nvalues, you can run the {command}`lsusb` command. Example\noutput:\n\n```\nBus 005 Device 002: ID 0403:c630 Future Technology Devices International, Ltd lcd2usb interface\n```\n\nIn this case the vendor id is 0403 and the product id is c630.\n", "loc": ["services", "hardware", "lcd", "server", "usbPermissions"], "readOnly": false, "type": "boolean"}, "services.hardware.lcd.server.usbPid": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The product ID of the USB device to claim.", "loc": ["services", "hardware", "lcd", "server", "usbPid"], "readOnly": false, "type": "string"}, "services.hardware.lcd.server.usbVid": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The vendor ID of the USB device to claim.", "loc": ["services", "hardware", "lcd", "server", "usbVid"], "readOnly": false, "type": "string"}, "services.hardware.lcd.serverHost": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Host on which LCDd is listening.", "loc": ["services", "hardware", "lcd", "serverHost"], "readOnly": false, "type": "string"}, "services.hardware.lcd.serverPort": {"declarations": ["nixos/modules/services/hardware/lcd.nix"], "default": {"_type": "literalExpression", "text": "13666"}, "description": "Port on which LCDd is listening.", "loc": ["services", "hardware", "lcd", "serverPort"], "readOnly": false, "type": "signed integer"}, "services.hardware.openrgb.enable": {"declarations": ["nixos/modules/services/hardware/openrgb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable OpenRGB server, for RGB lighting control.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hardware", "openrgb", "enable"], "readOnly": false, "type": "boolean"}, "services.hardware.openrgb.motherboard": {"declarations": ["nixos/modules/services/hardware/openrgb.nix"], "default": {"_type": "literalMD", "text": "if config.hardware.cpu.intel.updateMicrocode then \"intel\"\nelse if config.hardware.cpu.amd.updateMicrocode then \"amd\"\nelse null;\n"}, "description": "CPU family of motherboard. Allows for addition motherboard i2c support.", "loc": ["services", "hardware", "openrgb", "motherboard"], "readOnly": false, "type": "null or one of \"amd\", \"intel\""}, "services.hardware.openrgb.package": {"declarations": ["nixos/modules/services/hardware/openrgb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.openrgb"}, "description": "The openrgb package to use.", "loc": ["services", "hardware", "openrgb", "package"], "readOnly": false, "type": "package"}, "services.hardware.openrgb.server.port": {"declarations": ["nixos/modules/services/hardware/openrgb.nix"], "default": {"_type": "literalExpression", "text": "6742"}, "description": "Set server port of openrgb.", "loc": ["services", "hardware", "openrgb", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hardware.openrgb.startupProfile": {"declarations": ["nixos/modules/services/hardware/openrgb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The profile file to load from \"/var/lib/OpenRGB\" at startup.", "loc": ["services", "hardware", "openrgb", "startupProfile"], "readOnly": false, "type": "null or string"}, "services.hardware.pommed.configFile": {"declarations": ["nixos/modules/services/hardware/pommed.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the {file}`pommed.conf` file. Leave\nto null to use the default config file\n({file}`/etc/pommed.conf.mactel`). See the\nfiles {file}`/etc/pommed.conf.mactel` and\n{file}`/etc/pommed.conf.pmac` for examples to\nbuild on.\n", "loc": ["services", "hardware", "pommed", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.hardware.pommed.enable": {"declarations": ["nixos/modules/services/hardware/pommed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use the pommed tool to handle Apple laptop\nkeyboard hotkeys.\n", "loc": ["services", "hardware", "pommed", "enable"], "readOnly": false, "type": "boolean"}, "services.harmonia.cache.enable": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Harmonia: Nix binary cache written in Rust.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "harmonia", "cache", "enable"], "readOnly": false, "type": "boolean"}, "services.harmonia.cache.settings": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings to merge with the default configuration.\nFor the list of the default configuration, see <https://github.com/nix-community/harmonia/tree/master#configuration>.\n", "loc": ["services", "harmonia", "cache", "settings"], "readOnly": false, "type": "TOML value"}, "services.harmonia.cache.signKeyPath": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "DEPRECATED: Use `services.harmonia.cache.signKeyPaths` instead. Path to the signing key to use for signing the cache", "loc": ["services", "harmonia", "cache", "signKeyPath"], "readOnly": false, "type": "null or absolute path"}, "services.harmonia.cache.signKeyPaths": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Paths to the signing keys to use for signing the cache", "loc": ["services", "harmonia", "cache", "signKeyPaths"], "readOnly": false, "type": "list of absolute path"}, "services.harmonia.daemon.dbPath": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "\"/nix/var/nix/db/db.sqlite\""}, "description": "Path to the Nix database", "loc": ["services", "harmonia", "daemon", "dbPath"], "readOnly": false, "type": "string"}, "services.harmonia.daemon.enable": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Harmonia daemon: Nix daemon protocol implementation.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "harmonia", "daemon", "enable"], "readOnly": false, "type": "boolean"}, "services.harmonia.daemon.logLevel": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Log level for the daemon", "loc": ["services", "harmonia", "daemon", "logLevel"], "readOnly": false, "type": "string"}, "services.harmonia.daemon.socketPath": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "\"/run/harmonia-daemon/socket\""}, "description": "Path where the daemon socket will be created", "loc": ["services", "harmonia", "daemon", "socketPath"], "readOnly": false, "type": "string"}, "services.harmonia.daemon.storeDir": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "\"/nix/store\""}, "description": "Path to the Nix store directory", "loc": ["services", "harmonia", "daemon", "storeDir"], "readOnly": false, "type": "string"}, "services.harmonia.package": {"declarations": ["nixos/modules/services/networking/harmonia.nix"], "default": {"_type": "literalExpression", "text": "pkgs.harmonia"}, "description": "The harmonia package to use.", "loc": ["services", "harmonia", "package"], "readOnly": false, "type": "package"}, "services.haste-server.enable": {"declarations": ["nixos/modules/services/editors/haste.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable haste-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "haste-server", "enable"], "readOnly": false, "type": "boolean"}, "services.haste-server.openFirewall": {"declarations": ["nixos/modules/services/editors/haste.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable firewall passthrough for haste-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "haste-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.haste-server.settings": {"declarations": ["nixos/modules/services/editors/haste.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration for haste-server.\nFor documentation see [project readme](https://github.com/toptal/haste-server#settings)\n", "loc": ["services", "haste-server", "settings"], "readOnly": false, "type": "JSON value"}, "services.hatsu.enable": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Self-hosted and fully-automated ActivityPub bridge for static sites.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hatsu", "enable"], "readOnly": false, "type": "boolean"}, "services.hatsu.package": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hatsu"}, "description": "The hatsu package to use.", "loc": ["services", "hatsu", "package"], "readOnly": false, "type": "package"}, "services.hatsu.settings": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Hatsu, see\n<link xlink:href=\"https://hatsu.cli.rs/admins/environments.html\"/>\nfor supported values.\n", "loc": ["services", "hatsu", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or boolean or signed integer or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or string)"}, "services.hatsu.settings.HATSU_DATABASE_URL": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite:///var/lib/hatsu/hatsu.sqlite?mode=rwc\""}, "description": "Database URL.", "example": {"_type": "literalExpression", "text": "\"postgres://username:password@host/database\""}, "loc": ["services", "hatsu", "settings", "HATSU_DATABASE_URL"], "readOnly": false, "type": "string"}, "services.hatsu.settings.HATSU_DOMAIN": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "description": "The domain name of your instance (eg 'hatsu.local').", "loc": ["services", "hatsu", "settings", "HATSU_DOMAIN"], "readOnly": false, "type": "string"}, "services.hatsu.settings.HATSU_LISTEN_HOST": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Host where hatsu should listen for incoming requests.", "loc": ["services", "hatsu", "settings", "HATSU_LISTEN_HOST"], "readOnly": false, "type": "string"}, "services.hatsu.settings.HATSU_LISTEN_PORT": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "default": {"_type": "literalExpression", "text": "3939"}, "description": "Port where hatsu should listen for incoming requests.", "loc": ["services", "hatsu", "settings", "HATSU_LISTEN_PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hatsu.settings.HATSU_PRIMARY_ACCOUNT": {"declarations": ["nixos/modules/services/web-apps/hatsu.nix"], "description": "The primary account of your instance (eg 'example.com').", "loc": ["services", "hatsu", "settings", "HATSU_PRIMARY_ACCOUNT"], "readOnly": false, "type": "string"}, "services.haveged.enable": {"declarations": ["nixos/modules/services/security/haveged.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable haveged entropy daemon, which refills /dev/random when low.\nNOTE: does nothing on kernels newer than 5.6\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "haveged", "enable"], "readOnly": false, "type": "boolean"}, "services.haveged.refill_threshold": {"declarations": ["nixos/modules/services/security/haveged.nix"], "default": {"_type": "literalExpression", "text": "1024"}, "description": "The number of bits of available entropy beneath which\nhaveged should refill the entropy pool.\n", "loc": ["services", "haveged", "refill_threshold"], "readOnly": false, "type": "signed integer"}, "services.haven.blastrRelays": {"declarations": ["nixos/modules/services/web-apps/haven.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of relay configurations for blastr", "example": {"_type": "literalExpression", "text": "[\n  \"relay.example.com\"\n]\n"}, "loc": ["services", "haven", "blastrRelays"], "readOnly": false, "type": "list of string"}, "services.haven.enable": {"declarations": ["nixos/modules/services/web-apps/haven.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable haven.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "haven", "enable"], "readOnly": false, "type": "boolean"}, "services.haven.environmentFile": {"declarations": ["nixos/modules/services/web-apps/haven.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing sensitive environment variables. See <https://github.com/bitvora/haven> for documentation.\nThe file should contain environment-variable assignments like:\nS3_SECRET_KEY=mysecretkey\nS3_ACCESS_KEY_ID=myaccesskey\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/haven/secrets.env\""}, "loc": ["services", "haven", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.haven.importRelays": {"declarations": ["nixos/modules/services/web-apps/haven.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of relay configurations for importing historical events", "example": {"_type": "literalExpression", "text": "[\n  \"relay.example.com\"\n]\n"}, "loc": ["services", "haven", "importRelays"], "readOnly": false, "type": "list of string"}, "services.haven.package": {"declarations": ["nixos/modules/services/web-apps/haven.nix"], "default": {"_type": "literalExpression", "text": "pkgs.haven"}, "description": "The haven package to use.", "loc": ["services", "haven", "package"], "readOnly": false, "type": "package"}, "services.haven.settings": {"declarations": ["nixos/modules/services/web-apps/haven.nix"], "default": {"_type": "literalExpression", "text": "\"See <https://github.com/bitvora/haven/blob/master/.env.example>\""}, "description": "See <https://github.com/bitvora/haven> for documentation.", "example": {"_type": "literalExpression", "text": "{\n  RELAY_URL = \"relay.example.com\";\n  OWNER_NPUB = \"npub1...\";\n}\n"}, "loc": ["services", "haven", "settings"], "readOnly": false, "type": "unspecified value"}, "services.hbase-standalone.dataDir": {"declarations": ["nixos/modules/services/databases/hbase-standalone.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/hbase\""}, "description": "Specifies location of HBase database files. This location should be\nwritable and readable for the user the HBase service runs as\n(hbase by default).\n", "loc": ["services", "hbase-standalone", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.hbase-standalone.enable": {"declarations": ["nixos/modules/services/databases/hbase-standalone.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HBase master in standalone mode with embedded regionserver and zookeper.\nDo not use this configuration for production nor for evaluating HBase performance\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hbase-standalone", "enable"], "readOnly": false, "type": "boolean"}, "services.hbase-standalone.group": {"declarations": ["nixos/modules/services/databases/hbase-standalone.nix"], "default": {"_type": "literalExpression", "text": "\"hbase\""}, "description": "Group account under which HBase runs.\n", "loc": ["services", "hbase-standalone", "group"], "readOnly": false, "type": "string"}, "services.hbase-standalone.logDir": {"declarations": ["nixos/modules/services/databases/hbase-standalone.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/hbase\""}, "description": "Specifies the location of HBase log files.\n", "loc": ["services", "hbase-standalone", "logDir"], "readOnly": false, "type": "absolute path"}, "services.hbase-standalone.package": {"declarations": ["nixos/modules/services/databases/hbase-standalone.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hbase"}, "description": "The hbase package to use.", "loc": ["services", "hbase-standalone", "package"], "readOnly": false, "type": "package"}, "services.hbase-standalone.settings": {"declarations": ["nixos/modules/services/databases/hbase-standalone.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"hbase.rootdir\" = \"file://${config.services.hbase-standalone.dataDir}/hbase\";\n  \"hbase.zookeeper.property.dataDir\" = \"${config.services.hbase-standalone.dataDir}/zookeeper\";\n}\n"}, "description": "configurations in hbase-site.xml, see <https://github.com/apache/hbase/blob/master/hbase-server/src/test/resources/hbase-site.xml> for details.\n", "loc": ["services", "hbase-standalone", "settings"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.hbase-standalone.user": {"declarations": ["nixos/modules/services/databases/hbase-standalone.nix"], "default": {"_type": "literalExpression", "text": "\"hbase\""}, "description": "User account under which HBase runs.\n", "loc": ["services", "hbase-standalone", "user"], "readOnly": false, "type": "string"}, "services.hdapsd.enable": {"declarations": ["nixos/modules/services/monitoring/hdaps.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Hard Drive Active Protection System Daemon,\ndevices are detected and managed automatically by udev and systemd\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hdapsd", "enable"], "readOnly": false, "type": "boolean"}, "services.hddfancontrol.enable": {"declarations": ["nixos/modules/services/hardware/hddfancontrol.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hddfancontrol daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hddfancontrol", "enable"], "readOnly": false, "type": "boolean"}, "services.hddfancontrol.package": {"declarations": ["nixos/modules/services/hardware/hddfancontrol.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hddfancontrol"}, "description": "The hddfancontrol package to use.", "loc": ["services", "hddfancontrol", "package"], "readOnly": false, "type": "package"}, "services.hddfancontrol.settings": {"declarations": ["nixos/modules/services/hardware/hddfancontrol.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Parameter-sets for each instance of hddfancontrol.\n", "example": {"_type": "literalExpression", "text": "{\n  harddrives = {\n    disks = [\n      \"/dev/sda\"\n      \"/dev/sdb\"\n      \"/dev/sdc\"\n    ];\n    pwmPaths = [\n      \"/sys/class/hwmon/hwmon1/pwm1:25:10\"\n    ];\n    logVerbosity = \"DEBUG\";\n  };\n  ssddrives = {\n    disks = [\n      \"/dev/sdd\"\n      \"/dev/sde\"\n      \"/dev/sdf\"\n    ];\n    pwmPaths = [\n      \"/sys/class/hwmon/hwmon1/pwm2:25:10\"\n    ];\n    extraArgs = [\n      \"--interval=30s\"\n    ];\n  };\n}\n"}, "loc": ["services", "hddfancontrol", "settings"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.hddfancontrol.settings.<drive-bay-name>.disks": {"declarations": ["nixos/modules/services/hardware/hddfancontrol.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Drive(s) to get temperature from\n\nCan also use command substitution to automatically grab all matching drives; such as all scsi (sas) drives\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev/sda\"\n  \"`find /dev/disk/by-id -name \\\"scsi*\\\" -and -not -name \\\"*-part*\\\" -printf \\\"%p \\\"`\"\n]"}, "loc": ["services", "hddfancontrol", "settings", "<drive-bay-name>", "disks"], "readOnly": false, "type": "list of string"}, "services.hddfancontrol.settings.<drive-bay-name>.extraArgs": {"declarations": ["nixos/modules/services/hardware/hddfancontrol.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra commandline arguments for hddfancontrol\n", "example": {"_type": "literalExpression", "text": "[\n  \"--min-fan-speed-prct=10\"\n  \"--interval=1min\"\n]"}, "loc": ["services", "hddfancontrol", "settings", "<drive-bay-name>", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.hddfancontrol.settings.<drive-bay-name>.logVerbosity": {"declarations": ["nixos/modules/services/hardware/hddfancontrol.nix"], "default": {"_type": "literalExpression", "text": "\"INFO\""}, "description": "Verbosity of the log level\n", "loc": ["services", "hddfancontrol", "settings", "<drive-bay-name>", "logVerbosity"], "readOnly": false, "type": "one of \"TRACE\", \"DEBUG\", \"INFO\", \"WARN\", \"ERROR\""}, "services.hddfancontrol.settings.<drive-bay-name>.pwmPaths": {"declarations": ["nixos/modules/services/hardware/hddfancontrol.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "PWM filepath(s) to control fan speed (under /sys), followed by initial and fan-stop PWM values\nCan also use command substitution to ensure the correct hwmonX is selected on every boot\n", "example": {"_type": "literalExpression", "text": "[\n  \"/sys/class/hwmon/hwmon2/pwm1:30:10\"\n  \"`echo /sys/devices/platform/nct6775.656/hwmon/hwmon[[:print:]]`/pwm4:80:20\"\n]"}, "loc": ["services", "hddfancontrol", "settings", "<drive-bay-name>", "pwmPaths"], "readOnly": false, "type": "list of string"}, "services.headphones.configFile": {"declarations": ["nixos/modules/services/misc/headphones.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.headphones.dataDir}/config.ini\""}, "description": "Path to config file.", "loc": ["services", "headphones", "configFile"], "readOnly": false, "type": "absolute path"}, "services.headphones.dataDir": {"declarations": ["nixos/modules/services/misc/headphones.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/headphones\""}, "description": "Path where to store data files.", "loc": ["services", "headphones", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.headphones.enable": {"declarations": ["nixos/modules/services/misc/headphones.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the headphones server.", "loc": ["services", "headphones", "enable"], "readOnly": false, "type": "boolean"}, "services.headphones.group": {"declarations": ["nixos/modules/services/misc/headphones.nix"], "default": {"_type": "literalExpression", "text": "\"headphones\""}, "description": "Group to run the service as", "loc": ["services", "headphones", "group"], "readOnly": false, "type": "string"}, "services.headphones.host": {"declarations": ["nixos/modules/services/misc/headphones.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Host to listen on.", "loc": ["services", "headphones", "host"], "readOnly": false, "type": "string"}, "services.headphones.port": {"declarations": ["nixos/modules/services/misc/headphones.nix"], "default": {"_type": "literalExpression", "text": "8181"}, "description": "Port to bind to.", "loc": ["services", "headphones", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.headphones.user": {"declarations": ["nixos/modules/services/misc/headphones.nix"], "default": {"_type": "literalExpression", "text": "\"headphones\""}, "description": "User to run the service as", "loc": ["services", "headphones", "user"], "readOnly": false, "type": "string"}, "services.headplane.agent.package": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "pkgs.headplane-agent"}, "description": "The headplane-agent package to use.", "loc": ["services", "headplane", "agent", "package"], "readOnly": false, "type": "package"}, "services.headplane.debug": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logging.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "headplane", "debug"], "readOnly": false, "type": "boolean"}, "services.headplane.enable": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Headplane.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "headplane", "enable"], "readOnly": false, "type": "boolean"}, "services.headplane.package": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "pkgs.headplane"}, "description": "The headplane package to use.", "loc": ["services", "headplane", "package"], "readOnly": false, "type": "package"}, "services.headplane.settings": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Headplane configuration options. Generates a YAML config file.\nSee: https://github.com/tale/headplane/blob/main/config.example.yaml\n", "loc": ["services", "headplane", "settings"], "readOnly": false, "type": "submodule"}, "services.headplane.settings.headscale": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Headscale specific settings for Headplane integration.", "loc": ["services", "headplane", "settings", "headscale"], "readOnly": false, "type": "submodule"}, "services.headplane.settings.headscale.config_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "config.services.headscale.configFile"}, "description": "Path to the Headscale configuration file.\nThis is optional, but HIGHLY recommended for the best experience.\nIf this is read only, Headplane will show your configuration settings\nin the Web UI, but they cannot be changed.\n", "example": {"_type": "literalExpression", "text": "\"/etc/headscale/config.yaml\""}, "loc": ["services", "headplane", "settings", "headscale", "config_path"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.headscale.config_strict": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Headplane internally validates the Headscale configuration\nto ensure that it changes the configuration in a safe way.\nDisabled by default because it clashes with how the Headplane works in NixOS.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "headplane", "settings", "headscale", "config_strict"], "readOnly": false, "type": "boolean"}, "services.headplane.settings.headscale.dns_records_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If you are using `dns.extra_records_path` in your Headscale configuration, you need to set this to the path for Headplane to be able to read the DNS records.\nEnsure that the file is both readable and writable by the Headplane process.\nWhen using this, Headplane will no longer need to automatically restart Headscale for DNS record changes.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/headplane/extra_records.json\""}, "loc": ["services", "headplane", "settings", "headscale", "dns_records_path"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.headscale.public_url": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "config.services.headscale.settings.server_url"}, "description": "Public URL if different. This affects certain parts of the web UI.", "example": {"_type": "literalExpression", "text": "\"https://headscale.example.com\""}, "loc": ["services", "headplane", "settings", "headscale", "public_url"], "readOnly": false, "type": "null or string"}, "services.headplane.settings.headscale.tls_cert_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the TLS certificate.\n", "example": {"_type": "literalExpression", "text": "config.sops.secrets.tls_cert.path"}, "loc": ["services", "headplane", "settings", "headscale", "tls_cert_path"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.headscale.url": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "http://127.0.0.1:${toString config.services.headscale.port}"}, "description": "The URL to your Headscale instance.\nAll API requests are routed through this URL.\nTHIS IS NOT the gRPC endpoint, but the HTTP endpoint.\nIMPORTANT: If you are using TLS this MUST be set to `https://`.\n", "example": {"_type": "literalExpression", "text": "\"https://headscale.example.com\""}, "loc": ["services", "headplane", "settings", "headscale", "url"], "readOnly": false, "type": "string"}, "services.headplane.settings.integration": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Integration configurations for Headplane to interact with Headscale.", "loc": ["services", "headplane", "settings", "integration"], "readOnly": false, "type": "submodule"}, "services.headplane.settings.integration.agent": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Agent configuration for the Headplane agent.", "loc": ["services", "headplane", "settings", "integration", "agent"], "readOnly": false, "type": "null or (submodule)"}, "services.headplane.settings.integration.agent.cache_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/headplane/agent_cache.json\""}, "description": "The path to store the agent's cache.", "loc": ["services", "headplane", "settings", "integration", "agent", "cache_path"], "readOnly": false, "type": "absolute path"}, "services.headplane.settings.integration.agent.cache_ttl": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Deprecated cache TTL for the agent. This option is accepted\nby Headplane 0.6.2 but has no effect.\n", "loc": ["services", "headplane", "settings", "integration", "agent", "cache_ttl"], "readOnly": false, "type": "null or signed integer"}, "services.headplane.settings.integration.agent.enabled": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "The Headplane agent allows retrieving information about nodes.\nThis allows the UI to display version, OS, and connectivity data.\nYou will see the Headplane agent in your Tailnet as a node when it connects.\n", "loc": ["services", "headplane", "settings", "integration", "agent", "enabled"], "readOnly": false, "type": "boolean"}, "services.headplane.settings.integration.agent.executable_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.headplane.agent.package}/bin/hp_agent\""}, "description": "Path to the headplane agent binary.\n", "loc": ["services", "headplane", "settings", "integration", "agent", "executable_path"], "readOnly": true, "type": "absolute path"}, "services.headplane.settings.integration.agent.host_name": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"headplane-agent\""}, "description": "Optionally change the name of the agent in the Tailnet.", "loc": ["services", "headplane", "settings", "integration", "agent", "host_name"], "readOnly": false, "type": "string"}, "services.headplane.settings.integration.agent.pre_authkey_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing a Headscale pre-auth key for the agent.\n", "example": {"_type": "literalExpression", "text": "config.sops.secrets.headplane_pre_authkey.path"}, "loc": ["services", "headplane", "settings", "integration", "agent", "pre_authkey_path"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.integration.agent.work_dir": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/headplane/agent\""}, "description": "Do not change this unless you are running a custom deployment.\nThe work_dir represents where the agent will store its data to be able to automatically reauthenticate with your Tailnet.\nIt needs to be writable by the user running the Headplane process.\n", "loc": ["services", "headplane", "settings", "integration", "agent", "work_dir"], "readOnly": false, "type": "absolute path"}, "services.headplane.settings.integration.proc": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Native process integration settings.", "loc": ["services", "headplane", "settings", "integration", "proc"], "readOnly": false, "type": "submodule"}, "services.headplane.settings.integration.proc.enabled": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable \"Native\" integration that works when Headscale and\nHeadplane are running outside of a container. There is no additional\nconfiguration, but you need to ensure that the Headplane process\ncan terminate the Headscale process.\n", "loc": ["services", "headplane", "settings", "integration", "proc", "enabled"], "readOnly": false, "type": "boolean"}, "services.headplane.settings.oidc": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "OIDC Configuration for authentication.", "loc": ["services", "headplane", "settings", "oidc"], "readOnly": false, "type": "null or (submodule)"}, "services.headplane.settings.oidc.authorization_endpoint": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Custom authorization endpoint URL.", "example": {"_type": "literalExpression", "text": "\"https://provider.example.com/authorize\""}, "loc": ["services", "headplane", "settings", "oidc", "authorization_endpoint"], "readOnly": false, "type": "null or string"}, "services.headplane.settings.oidc.client_id": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "description": "The client ID for the OIDC client.", "example": {"_type": "literalExpression", "text": "\"your-client-id\""}, "loc": ["services", "headplane", "settings", "oidc", "client_id"], "readOnly": false, "type": "string"}, "services.headplane.settings.oidc.client_secret_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the OIDC client secret.\n", "example": {"_type": "literalExpression", "text": "config.sops.secrets.oidc_client_secret.path"}, "loc": ["services", "headplane", "settings", "oidc", "client_secret_path"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.oidc.disable_api_key_login": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable API key login.", "loc": ["services", "headplane", "settings", "oidc", "disable_api_key_login"], "readOnly": false, "type": "boolean"}, "services.headplane.settings.oidc.enabled": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Explicitly control OIDC availability.\nSet to false to define OIDC config without enabling it.\n", "loc": ["services", "headplane", "settings", "oidc", "enabled"], "readOnly": false, "type": "boolean"}, "services.headplane.settings.oidc.extra_params": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra parameters to send to the OIDC provider.", "example": {"_type": "literalExpression", "text": "{\n  prompt = \"consent\";\n}"}, "loc": ["services", "headplane", "settings", "oidc", "extra_params"], "readOnly": false, "type": "null or (attribute set of string)"}, "services.headplane.settings.oidc.headscale_api_key_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the Headscale API key.\nRequired for OIDC authentication.\n", "example": {"_type": "literalExpression", "text": "config.sops.secrets.headscale_api_key.path"}, "loc": ["services", "headplane", "settings", "oidc", "headscale_api_key_path"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.oidc.issuer": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "description": "URL to OpenID issuer.", "example": {"_type": "literalExpression", "text": "\"https://provider.example.com/issuer-url\""}, "loc": ["services", "headplane", "settings", "oidc", "issuer"], "readOnly": false, "type": "string"}, "services.headplane.settings.oidc.profile_picture_source": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"oidc\""}, "description": "Source for user profile pictures.", "loc": ["services", "headplane", "settings", "oidc", "profile_picture_source"], "readOnly": false, "type": "one of \"oidc\", \"gravatar\""}, "services.headplane.settings.oidc.redirect_uri": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Deprecated OIDC redirect URI. Use services.headplane.settings.server.base_url\ninstead; Headplane derives the callback URL from it.\n", "example": {"_type": "literalExpression", "text": "\"https://headplane.example.com/admin/oidc/callback\""}, "loc": ["services", "headplane", "settings", "oidc", "redirect_uri"], "readOnly": false, "type": "null or string"}, "services.headplane.settings.oidc.scope": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"openid email profile\""}, "description": "OIDC scope to request.", "loc": ["services", "headplane", "settings", "oidc", "scope"], "readOnly": false, "type": "string"}, "services.headplane.settings.oidc.strict_validation": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Deprecated OIDC validation setting. This option is accepted\nby Headplane 0.6.2 but has no effect.\n", "loc": ["services", "headplane", "settings", "oidc", "strict_validation"], "readOnly": false, "type": "null or boolean"}, "services.headplane.settings.oidc.token_endpoint": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Custom token endpoint URL.", "example": {"_type": "literalExpression", "text": "\"https://provider.example.com/token\""}, "loc": ["services", "headplane", "settings", "oidc", "token_endpoint"], "readOnly": false, "type": "null or string"}, "services.headplane.settings.oidc.token_endpoint_auth_method": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The token endpoint authentication method.\nIf not set, Headplane will auto-detect the best method\nand fall back to client_secret_basic.\n", "loc": ["services", "headplane", "settings", "oidc", "token_endpoint_auth_method"], "readOnly": false, "type": "null or one of \"client_secret_post\", \"client_secret_basic\", \"client_secret_jwt\""}, "services.headplane.settings.oidc.use_pkce": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use PKCE when authenticating users.\nYour OIDC provider must support PKCE and it must be enabled on the client.\n", "loc": ["services", "headplane", "settings", "oidc", "use_pkce"], "readOnly": false, "type": "boolean"}, "services.headplane.settings.oidc.user_storage_file": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Deprecated path to the pre-0.6.2 JSON user database.\nHeadplane uses this once to migrate users into its internal database.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/headplane/users.json\""}, "loc": ["services", "headplane", "settings", "oidc", "user_storage_file"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.oidc.userinfo_endpoint": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Custom userinfo endpoint URL.", "example": {"_type": "literalExpression", "text": "\"https://provider.example.com/userinfo\""}, "loc": ["services", "headplane", "settings", "oidc", "userinfo_endpoint"], "readOnly": false, "type": "null or string"}, "services.headplane.settings.server": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Server configuration for Headplane web application.", "loc": ["services", "headplane", "settings", "server"], "readOnly": false, "type": "submodule"}, "services.headplane.settings.server.base_url": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The base URL for Headplane. Used for OIDC redirect callback URL\ndetection. Should not include the dashboard prefix (/admin).\n", "example": {"_type": "literalExpression", "text": "\"https://headplane.example.com\""}, "loc": ["services", "headplane", "settings", "server", "base_url"], "readOnly": false, "type": "null or string"}, "services.headplane.settings.server.cookie_domain": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Restrict the cookie to a specific domain.\nThis may not work as expected if not using a reverse proxy.\n", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "headplane", "settings", "server", "cookie_domain"], "readOnly": false, "type": "null or string"}, "services.headplane.settings.server.cookie_max_age": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "86400"}, "description": "The maximum age of the session cookie in seconds.", "loc": ["services", "headplane", "settings", "server", "cookie_max_age"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.headplane.settings.server.cookie_secret_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the cookie secret.\nThe secret must be exactly 32 characters long.\n", "example": {"_type": "literalExpression", "text": "config.sops.secrets.headplane_cookie.path"}, "loc": ["services", "headplane", "settings", "server", "cookie_secret_path"], "readOnly": false, "type": "null or absolute path"}, "services.headplane.settings.server.cookie_secure": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Should the cookies only work over HTTPS?\nSet to false if running via HTTP without a proxy.\nRecommended to be true in production.\n", "loc": ["services", "headplane", "settings", "server", "cookie_secure"], "readOnly": false, "type": "boolean"}, "services.headplane.settings.server.data_path": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/headplane\""}, "description": "The path to persist Headplane specific data.\nAll data going forward is stored in this directory, including the internal database and any cache related files.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/headplane\""}, "loc": ["services", "headplane", "settings", "server", "data_path"], "readOnly": false, "type": "absolute path"}, "services.headplane.settings.server.host": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host address to bind to.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "headplane", "settings", "server", "host"], "readOnly": false, "type": "string"}, "services.headplane.settings.server.port": {"declarations": ["nixos/modules/services/networking/headplane.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port to listen on.", "loc": ["services", "headplane", "settings", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.headscale.address": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listening address of headscale.\n", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "headscale", "address"], "readOnly": false, "type": "string"}, "services.headscale.configFile": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "(pkgs.formats.yaml { }).generate \"headscale.yaml\" config.services.headscale.settings"}, "description": "Path to the configuration file of headscale.\n", "loc": ["services", "headscale", "configFile"], "readOnly": true, "type": "absolute path"}, "services.headscale.enable": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable headscale, Open Source coordination server for Tailscale.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "headscale", "enable"], "readOnly": false, "type": "boolean"}, "services.headscale.group": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"headscale\""}, "description": "Group under which headscale runs.\n\n::: {.note}\nIf left as the default value this group will automatically be created\non system activation, otherwise you are responsible for\nensuring the user exists before the headscale service starts.\n:::\n", "loc": ["services", "headscale", "group"], "readOnly": false, "type": "string"}, "services.headscale.package": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "pkgs.headscale"}, "description": "The headscale package to use.", "loc": ["services", "headscale", "package"], "readOnly": false, "type": "package"}, "services.headscale.port": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Listening port of headscale.\n", "example": {"_type": "literalExpression", "text": "443"}, "loc": ["services", "headscale", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.headscale.settings": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "description": "Overrides to {file}`config.yaml` as a Nix attribute set.\nCheck the [example config](https://github.com/juanfont/headscale/blob/main/config-example.yaml)\nfor possible options.\n", "loc": ["services", "headscale", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.headscale.settings.database.postgres.host": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database host address.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "headscale", "settings", "database", "postgres", "host"], "readOnly": false, "type": "null or string"}, "services.headscale.settings.database.postgres.name": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database name.", "example": {"_type": "literalExpression", "text": "\"headscale\""}, "loc": ["services", "headscale", "settings", "database", "postgres", "name"], "readOnly": false, "type": "null or string"}, "services.headscale.settings.database.postgres.password_file": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/headscale-dbpassword\""}, "loc": ["services", "headscale", "settings", "database", "postgres", "password_file"], "readOnly": false, "type": "null or absolute path"}, "services.headscale.settings.database.postgres.port": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database host port.", "example": {"_type": "literalExpression", "text": "3306"}, "loc": ["services", "headscale", "settings", "database", "postgres", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.headscale.settings.database.postgres.user": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Database user.", "example": {"_type": "literalExpression", "text": "\"headscale\""}, "loc": ["services", "headscale", "settings", "database", "postgres", "user"], "readOnly": false, "type": "null or string"}, "services.headscale.settings.database.sqlite.path": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/headscale/db.sqlite\""}, "description": "Path to the sqlite3 database file.", "loc": ["services", "headscale", "settings", "database", "sqlite", "path"], "readOnly": false, "type": "null or string"}, "services.headscale.settings.database.sqlite.write_ahead_log": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable WAL mode for SQLite. This is recommended for production environments.\n<https://www.sqlite.org/wal.html>\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "headscale", "settings", "database", "sqlite", "write_ahead_log"], "readOnly": false, "type": "boolean"}, "services.headscale.settings.database.type": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Database engine to use.\nPlease note that using Postgres is highly discouraged as it is only supported for legacy reasons.\nAll new development, testing and optimisations are done with SQLite in mind.\n", "example": {"_type": "literalExpression", "text": "\"postgres\""}, "loc": ["services", "headscale", "settings", "database", "type"], "readOnly": false, "type": "one of \"sqlite\", \"sqlite3\", \"postgres\""}, "services.headscale.settings.derp.auto_update_enabled": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to automatically update DERP maps on a set frequency.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "headscale", "settings", "derp", "auto_update_enabled"], "readOnly": false, "type": "boolean"}, "services.headscale.settings.derp.paths": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of file paths containing DERP maps.\nSee [How Tailscale works](https://tailscale.com/blog/how-tailscale-works/) for more information on DERP maps.\n", "loc": ["services", "headscale", "settings", "derp", "paths"], "readOnly": false, "type": "list of absolute path"}, "services.headscale.settings.derp.server.private_key_path": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/headscale/derp_server_private.key\""}, "description": "Path to derp private key file, generated automatically if it does not exist.\n", "loc": ["services", "headscale", "settings", "derp", "server", "private_key_path"], "readOnly": false, "type": "absolute path"}, "services.headscale.settings.derp.update_frequency": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"24h\""}, "description": "Frequency to update DERP maps.\n", "example": {"_type": "literalExpression", "text": "\"5m\""}, "loc": ["services", "headscale", "settings", "derp", "update_frequency"], "readOnly": false, "type": "string"}, "services.headscale.settings.derp.urls": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"https://controlplane.tailscale.com/derpmap/default\"\n]"}, "description": "List of urls containing DERP maps.\nSee [How Tailscale works](https://tailscale.com/blog/how-tailscale-works/) for more information on DERP maps.\n", "loc": ["services", "headscale", "settings", "derp", "urls"], "readOnly": false, "type": "list of string"}, "services.headscale.settings.dns.base_domain": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Defines the base domain to create the hostnames for MagicDNS.\nThis domain must be different from the {option}`server_url`\ndomain.\n{option}`base_domain` must be a FQDN, without the trailing dot.\nThe FQDN of the hosts will be `hostname.base_domain` (e.g.\n`myhost.tailnet.example.com`).\n", "example": {"_type": "literalExpression", "text": "\"tailnet.example.com\""}, "loc": ["services", "headscale", "settings", "dns", "base_domain"], "readOnly": false, "type": "string"}, "services.headscale.settings.dns.extra_records": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra DNS records to expose to clients.\n", "example": {"_type": "literalExpression", "text": "''\n  [ {\n    name = \"grafana.tailnet.example.com\";\n    type = \"A\";\n    example = \"100.64.0.3\";\n  } ]\n''"}, "loc": ["services", "headscale", "settings", "dns", "extra_records"], "readOnly": false, "type": "null or (list of (submodule))"}, "services.headscale.settings.dns.extra_records.*.name": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "description": "DNS record name.", "example": {"_type": "literalExpression", "text": "\"grafana.tailnet.example.com\""}, "loc": ["services", "headscale", "settings", "dns", "extra_records", "*", "name"], "readOnly": false, "type": "string"}, "services.headscale.settings.dns.extra_records.*.type": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "description": "DNS record type.", "example": {"_type": "literalExpression", "text": "\"A\""}, "loc": ["services", "headscale", "settings", "dns", "extra_records", "*", "type"], "readOnly": false, "type": "one of \"A\", \"AAAA\""}, "services.headscale.settings.dns.extra_records.*.value": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "description": "DNS record value (IP address).", "example": {"_type": "literalExpression", "text": "\"100.64.0.3\""}, "loc": ["services", "headscale", "settings", "dns", "extra_records", "*", "value"], "readOnly": false, "type": "string"}, "services.headscale.settings.dns.magic_dns": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/).\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "headscale", "settings", "dns", "magic_dns"], "readOnly": false, "type": "boolean"}, "services.headscale.settings.dns.nameservers.global": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of nameservers to pass to Tailscale clients.\n", "loc": ["services", "headscale", "settings", "dns", "nameservers", "global"], "readOnly": false, "type": "list of string"}, "services.headscale.settings.dns.override_local_dns": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to [override clients' DNS servers](https://tailscale.com/kb/1054/dns#override-dns-servers).\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "headscale", "settings", "dns", "override_local_dns"], "readOnly": false, "type": "boolean"}, "services.headscale.settings.dns.search_domains": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Search domains to inject to Tailscale clients.\n", "example": {"_type": "literalExpression", "text": "[\n  \"mydomain.internal\"\n]"}, "loc": ["services", "headscale", "settings", "dns", "search_domains"], "readOnly": false, "type": "list of string"}, "services.headscale.settings.dns.split": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Split DNS configuration (map of domains and which DNS server to use for each).\nSee <https://tailscale.com/kb/1054/dns/>.\n", "example": {"_type": "literalExpression", "text": "{\n  \"foo.bar.com\" = [\n    \"1.1.1.1\"\n  ];\n}"}, "loc": ["services", "headscale", "settings", "dns", "split"], "readOnly": false, "type": "attribute set of list of string"}, "services.headscale.settings.ephemeral_node_inactivity_timeout": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"30m\""}, "description": "Time before an inactive ephemeral node is deleted.\n", "example": {"_type": "literalExpression", "text": "\"5m\""}, "loc": ["services", "headscale", "settings", "ephemeral_node_inactivity_timeout"], "readOnly": false, "type": "string"}, "services.headscale.settings.log.format": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"text\""}, "description": "headscale log format.\n", "example": {"_type": "literalExpression", "text": "\"json\""}, "loc": ["services", "headscale", "settings", "log", "format"], "readOnly": false, "type": "string"}, "services.headscale.settings.log.level": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "headscale log level.\n", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "headscale", "settings", "log", "level"], "readOnly": false, "type": "string"}, "services.headscale.settings.noise.private_key_path": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/headscale/noise_private.key\""}, "description": "Path to noise private key file, generated automatically if it does not exist.\n", "loc": ["services", "headscale", "settings", "noise", "private_key_path"], "readOnly": false, "type": "absolute path"}, "services.headscale.settings.oidc.allowed_domains": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Allowed principal domains. if an authenticated user's domain\nis not in this list authentication request will be rejected.\n", "example": {"_type": "literalExpression", "text": "[\n  \"example.com\"\n]"}, "loc": ["services", "headscale", "settings", "oidc", "allowed_domains"], "readOnly": false, "type": "list of string"}, "services.headscale.settings.oidc.allowed_users": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Users allowed to authenticate even if not in allowedDomains.\n", "example": {"_type": "literalExpression", "text": "[\n  \"alice@example.com\"\n]"}, "loc": ["services", "headscale", "settings", "oidc", "allowed_users"], "readOnly": false, "type": "list of string"}, "services.headscale.settings.oidc.client_id": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "OpenID Connect client ID.\n", "loc": ["services", "headscale", "settings", "oidc", "client_id"], "readOnly": false, "type": "string"}, "services.headscale.settings.oidc.client_secret_path": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to OpenID Connect client secret file. Expands environment variables in format ${VAR}.\n", "loc": ["services", "headscale", "settings", "oidc", "client_secret_path"], "readOnly": false, "type": "null or string"}, "services.headscale.settings.oidc.extra_params": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Custom query parameters to send with the Authorize Endpoint request.\n", "example": {"_type": "literalExpression", "text": "{\n  domain_hint = \"example.com\";\n}"}, "loc": ["services", "headscale", "settings", "oidc", "extra_params"], "readOnly": false, "type": "attribute set of string"}, "services.headscale.settings.oidc.issuer": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "URL to OpenID issuer.\n", "example": {"_type": "literalExpression", "text": "\"https://openid.example.com\""}, "loc": ["services", "headscale", "settings", "oidc", "issuer"], "readOnly": false, "type": "string"}, "services.headscale.settings.oidc.pkce.enabled": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable or disable PKCE (Proof Key for Code Exchange) support.\nPKCE adds an additional layer of security to the OAuth 2.0\nauthorization code flow by preventing authorization code\ninterception attacks\nSee https://datatracker.ietf.org/doc/html/rfc7636\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "headscale", "settings", "oidc", "pkce", "enabled"], "readOnly": false, "type": "boolean"}, "services.headscale.settings.oidc.pkce.method": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"S256\""}, "description": "PKCE method to use:\n  - plain: Use plain code verifier\n  - S256: Use SHA256 hashed code verifier (default, recommended)\n", "loc": ["services", "headscale", "settings", "oidc", "pkce", "method"], "readOnly": false, "type": "string"}, "services.headscale.settings.oidc.scope": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"openid\"\n  \"profile\"\n  \"email\"\n]"}, "description": "Scopes used in the OIDC flow.\n", "loc": ["services", "headscale", "settings", "oidc", "scope"], "readOnly": false, "type": "list of string"}, "services.headscale.settings.policy.mode": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"file\""}, "description": "The mode can be \"file\" or \"database\" that defines\nwhere the ACL policies are stored and read from.\n", "loc": ["services", "headscale", "settings", "policy", "mode"], "readOnly": false, "type": "one of \"file\", \"database\""}, "services.headscale.settings.policy.path": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If the mode is set to \"file\", the path to a\nHuJSON file containing ACL policies.\n", "loc": ["services", "headscale", "settings", "policy", "path"], "readOnly": false, "type": "null or absolute path"}, "services.headscale.settings.prefixes.allocation": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"sequential\""}, "description": "Strategy used for allocation of IPs to nodes, available options:\n- sequential (default): assigns the next free IP from the previous given IP.\n- random: assigns the next free IP from a pseudo-random IP generator (crypto/rand).\n", "example": {"_type": "literalExpression", "text": "\"random\""}, "loc": ["services", "headscale", "settings", "prefixes", "allocation"], "readOnly": false, "type": "one of \"sequential\", \"random\""}, "services.headscale.settings.prefixes.v4": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"100.64.0.0/10\""}, "description": "Each prefix consists of either an IPv4 or IPv6 address,\nand the associated prefix length, delimited by a slash.\nIt must be within IP ranges supported by the Tailscale\nclient - i.e., subnets of 100.64.0.0/10 and fd7a:115c:a1e0::/48.\n", "loc": ["services", "headscale", "settings", "prefixes", "v4"], "readOnly": false, "type": "string"}, "services.headscale.settings.prefixes.v6": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"fd7a:115c:a1e0::/48\""}, "description": "Each prefix consists of either an IPv4 or IPv6 address,\nand the associated prefix length, delimited by a slash.\nIt must be within IP ranges supported by the Tailscale\nclient - i.e., subnets of 100.64.0.0/10 and fd7a:115c:a1e0::/48.\n", "loc": ["services", "headscale", "settings", "prefixes", "v6"], "readOnly": false, "type": "string"}, "services.headscale.settings.server_url": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"http://127.0.0.1:8080\""}, "description": "The url clients will connect to.\n", "example": {"_type": "literalExpression", "text": "\"https://myheadscale.example.com:443\""}, "loc": ["services", "headscale", "settings", "server_url"], "readOnly": false, "type": "string"}, "services.headscale.settings.tls_cert_path": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to already created certificate.\n", "loc": ["services", "headscale", "settings", "tls_cert_path"], "readOnly": false, "type": "null or absolute path"}, "services.headscale.settings.tls_key_path": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to key for already created certificate.\n", "loc": ["services", "headscale", "settings", "tls_key_path"], "readOnly": false, "type": "null or absolute path"}, "services.headscale.settings.tls_letsencrypt_challenge_type": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"HTTP-01\""}, "description": "Type of ACME challenge to use, currently supported types:\n`HTTP-01` or `TLS-ALPN-01`.\n", "loc": ["services", "headscale", "settings", "tls_letsencrypt_challenge_type"], "readOnly": false, "type": "one of \"TLS-ALPN-01\", \"HTTP-01\""}, "services.headscale.settings.tls_letsencrypt_hostname": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Domain name to request a TLS certificate for.\n", "loc": ["services", "headscale", "settings", "tls_letsencrypt_hostname"], "readOnly": false, "type": "null or string"}, "services.headscale.settings.tls_letsencrypt_listen": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\":http\""}, "description": "When HTTP-01 challenge is chosen, letsencrypt must set up a\nverification endpoint, and it will be listening on:\n`:http = port 80`.\n", "loc": ["services", "headscale", "settings", "tls_letsencrypt_listen"], "readOnly": false, "type": "null or string"}, "services.headscale.user": {"declarations": ["nixos/modules/services/networking/headscale.nix"], "default": {"_type": "literalExpression", "text": "\"headscale\""}, "description": "User account under which headscale runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise you are responsible for\nensuring the user exists before the headscale service starts.\n:::\n", "loc": ["services", "headscale", "user"], "readOnly": false, "type": "string"}, "services.healthchecks.dataDir": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/healthchecks\""}, "description": "The directory used to store all data for healthchecks.\n\n::: {.note}\nIf left as the default value this directory will automatically be created before\nthe healthchecks server starts, otherwise you are responsible for ensuring the\ndirectory exists with appropriate ownership and permissions.\n:::\n", "loc": ["services", "healthchecks", "dataDir"], "readOnly": false, "type": "string"}, "services.healthchecks.enable": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable healthchecks.\nIt is expected to be run behind a HTTP reverse proxy.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "healthchecks", "enable"], "readOnly": false, "type": "boolean"}, "services.healthchecks.group": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "\"healthchecks\""}, "description": "Group account under which healthchecks runs.\n\n::: {.note}\nIf left as the default value this group will automatically be created\non system activation, otherwise you are responsible for\nensuring the group exists before the healthchecks service starts.\n:::\n", "loc": ["services", "healthchecks", "group"], "readOnly": false, "type": "string"}, "services.healthchecks.listenAddress": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address the server will listen on.", "loc": ["services", "healthchecks", "listenAddress"], "readOnly": false, "type": "string"}, "services.healthchecks.package": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "pkgs.healthchecks"}, "description": "The healthchecks package to use.", "loc": ["services", "healthchecks", "package"], "readOnly": false, "type": "package"}, "services.healthchecks.port": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "8000"}, "description": "Port the server will listen on.", "loc": ["services", "healthchecks", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.healthchecks.settings": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "description": "Environment variables which are read by healthchecks `(local)_settings.py`.\n\nSettings which are explicitly covered in options below, are type-checked and/or transformed\nbefore added to the environment, everything else is passed as a string.\n\nSee <https://healthchecks.io/docs/self_hosted_configuration/>\nfor a full documentation of settings.\n\nWe add additional variables to this list inside the packages `local_settings.py.`\n- `STATIC_ROOT` to set a state directory for dynamically generated static files.\n- `SECRET_KEY_FILE` to read `SECRET_KEY` from a file at runtime and keep it out of\n  /nix/store.\n- `_FILE` variants for several values that hold sensitive information in\n  [Healthchecks configuration](https://healthchecks.io/docs/self_hosted_configuration/) so\n  that they also can be read from a file and kept out of /nix/store. To see which values\n  have support for a `_FILE` variant, run:\n  - `nix-instantiate --eval --expr '(import <nixpkgs> {}).healthchecks.secrets'`\n  - or `nix eval 'nixpkgs#healthchecks.secrets'` if the flake support has been enabled.\n\nIf the same variable is set in both `settings` and `settingsFile` the value from `settingsFile` has priority.\n", "loc": ["services", "healthchecks", "settings"], "readOnly": false, "type": "open submodule of attribute set of string"}, "services.healthchecks.settings.ALLOWED_HOSTS": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "The host/domain names that this site can serve.", "loc": ["services", "healthchecks", "settings", "ALLOWED_HOSTS"], "readOnly": false, "type": "list of string"}, "services.healthchecks.settings.DB": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Database engine to use.", "loc": ["services", "healthchecks", "settings", "DB"], "readOnly": false, "type": "one of \"sqlite\", \"postgres\", \"mysql\""}, "services.healthchecks.settings.DB_NAME": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "if config.services.healthchecks.settings.DB == \"sqlite\"\nthen \"${config.services.healthchecks.dataDir}/healthchecks.sqlite\"\nelse \"hc\"\n"}, "description": "Database name.", "loc": ["services", "healthchecks", "settings", "DB_NAME"], "readOnly": false, "type": "string"}, "services.healthchecks.settings.DEBUG": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable debug mode.", "loc": ["services", "healthchecks", "settings", "DEBUG"], "readOnly": false, "type": "boolean"}, "services.healthchecks.settings.REGISTRATION_OPEN": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "A boolean that controls whether site visitors can create new accounts.\nSet it to false if you are setting up a private Healthchecks instance,\nbut it needs to be publicly accessible (so, for example, your cloud\nservices can send pings to it).\nIf you close new user registration, you can still selectively invite\nusers to your team account.\n", "loc": ["services", "healthchecks", "settings", "REGISTRATION_OPEN"], "readOnly": false, "type": "boolean"}, "services.healthchecks.settings.SECRET_KEY_FILE": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the secret key.", "loc": ["services", "healthchecks", "settings", "SECRET_KEY_FILE"], "readOnly": false, "type": "null or absolute path"}, "services.healthchecks.settingsFile": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment variables which are read by healthchecks `(local)_settings.py`.\n\nSettings which are explicitly covered in options below, are type-checked and/or transformed\nbefore added to the environment, everything else is passed as a string.\n\nSee <https://healthchecks.io/docs/self_hosted_configuration/>\nfor a full documentation of settings.\n\nWe add additional variables to this list inside the packages `local_settings.py.`\n- `STATIC_ROOT` to set a state directory for dynamically generated static files.\n- `SECRET_KEY_FILE` to read `SECRET_KEY` from a file at runtime and keep it out of\n  /nix/store.\n- `_FILE` variants for several values that hold sensitive information in\n  [Healthchecks configuration](https://healthchecks.io/docs/self_hosted_configuration/) so\n  that they also can be read from a file and kept out of /nix/store. To see which values\n  have support for a `_FILE` variant, run:\n  - `nix-instantiate --eval --expr '(import <nixpkgs> {}).healthchecks.secrets'`\n  - or `nix eval 'nixpkgs#healthchecks.secrets'` if the flake support has been enabled.\n\nIf the same variable is set in both `settings` and `settingsFile` the value from `settingsFile` has priority.\n", "loc": ["services", "healthchecks", "settingsFile"], "readOnly": false, "type": "null or absolute path"}, "services.healthchecks.user": {"declarations": ["nixos/modules/services/web-apps/healthchecks.nix"], "default": {"_type": "literalExpression", "text": "\"healthchecks\""}, "description": "User account under which healthchecks runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise you are responsible for\nensuring the user exists before the healthchecks service starts.\n:::\n", "loc": ["services", "healthchecks", "user"], "readOnly": false, "type": "string"}, "services.heapster.enable": {"declarations": ["nixos/modules/services/monitoring/heapster.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Heapster monitoring.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "heapster", "enable"], "readOnly": false, "type": "boolean"}, "services.heapster.extraOpts": {"declarations": ["nixos/modules/services/monitoring/heapster.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Heapster extra options", "loc": ["services", "heapster", "extraOpts"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.heapster.package": {"declarations": ["nixos/modules/services/monitoring/heapster.nix"], "default": {"_type": "literalExpression", "text": "pkgs.heapster"}, "description": "The heapster package to use.", "loc": ["services", "heapster", "package"], "readOnly": false, "type": "package"}, "services.heapster.sink": {"declarations": ["nixos/modules/services/monitoring/heapster.nix"], "description": "Heapster metic sink", "example": {"_type": "literalExpression", "text": "\"influxdb:http://localhost:8086\""}, "loc": ["services", "heapster", "sink"], "readOnly": false, "type": "string"}, "services.heapster.source": {"declarations": ["nixos/modules/services/monitoring/heapster.nix"], "description": "Heapster metric source", "example": {"_type": "literalExpression", "text": "\"kubernetes:https://kubernetes.default\""}, "loc": ["services", "heapster", "source"], "readOnly": false, "type": "string"}, "services.heartbeat.enable": {"declarations": ["nixos/modules/services/logging/heartbeat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable heartbeat, uptime monitoring.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "heartbeat", "enable"], "readOnly": false, "type": "boolean"}, "services.heartbeat.extraConfig": {"declarations": ["nixos/modules/services/logging/heartbeat.nix"], "default": {"_type": "literalExpression", "text": "''\n  heartbeat.monitors:\n  - type: http\n    urls: [\"http://localhost:9200\"]\n    schedule: '@every 10s'\n''"}, "description": "Any other configuration options you want to add", "loc": ["services", "heartbeat", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.heartbeat.name": {"declarations": ["nixos/modules/services/logging/heartbeat.nix"], "default": {"_type": "literalExpression", "text": "\"heartbeat\""}, "description": "Name of the beat", "loc": ["services", "heartbeat", "name"], "readOnly": false, "type": "string"}, "services.heartbeat.package": {"declarations": ["nixos/modules/services/logging/heartbeat.nix"], "default": {"_type": "literalExpression", "text": "pkgs.heartbeat"}, "description": "The heartbeat package to use.", "example": {"_type": "literalExpression", "text": "heartbeat7"}, "loc": ["services", "heartbeat", "package"], "readOnly": false, "type": "package"}, "services.heartbeat.stateDir": {"declarations": ["nixos/modules/services/logging/heartbeat.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/heartbeat\""}, "description": "The state directory. heartbeat's own logs and other data are stored here.", "loc": ["services", "heartbeat", "stateDir"], "readOnly": false, "type": "string"}, "services.heartbeat.tags": {"declarations": ["nixos/modules/services/logging/heartbeat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Tags to place on the shipped log messages", "loc": ["services", "heartbeat", "tags"], "readOnly": false, "type": "list of string"}, "services.hebbot.botPasswordFile": {"declarations": ["nixos/modules/services/matrix/hebbot.nix"], "description": "A path to the password file for your bot.\n\nConsider using a path that does not end up in your Nix store\nas it would be world readable.\n", "loc": ["services", "hebbot", "botPasswordFile"], "readOnly": false, "type": "absolute path"}, "services.hebbot.enable": {"declarations": ["nixos/modules/services/matrix/hebbot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hebbot.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hebbot", "enable"], "readOnly": false, "type": "boolean"}, "services.hebbot.package": {"declarations": ["nixos/modules/services/matrix/hebbot.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hebbot"}, "description": "The hebbot package to use.", "loc": ["services", "hebbot", "package"], "readOnly": false, "type": "package"}, "services.hebbot.settings": {"declarations": ["nixos/modules/services/matrix/hebbot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Hebbot, see, for examples:\n\n- <https://github.com/matrix-org/twim-config/blob/master/config.toml>\n- <https://gitlab.gnome.org/Teams/Websites/thisweek.gnome.org/-/blob/main/hebbot/config.toml>\n", "loc": ["services", "hebbot", "settings"], "readOnly": false, "type": "TOML value"}, "services.hebbot.templates.project": {"declarations": ["nixos/modules/services/matrix/hebbot.nix"], "description": "A path to the Markdown file for the project template.\n", "loc": ["services", "hebbot", "templates", "project"], "readOnly": false, "type": "absolute path"}, "services.hebbot.templates.report": {"declarations": ["nixos/modules/services/matrix/hebbot.nix"], "description": "A path to the Markdown file for the report template.\n", "loc": ["services", "hebbot", "templates", "report"], "readOnly": false, "type": "absolute path"}, "services.hebbot.templates.section": {"declarations": ["nixos/modules/services/matrix/hebbot.nix"], "description": "A path to the Markdown file for the section template.\n", "loc": ["services", "hebbot", "templates", "section"], "readOnly": false, "type": "absolute path"}, "services.hedgedoc.configureNginx": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure nginx as a reverse proxy.", "loc": ["services", "hedgedoc", "configureNginx"], "readOnly": false, "type": "boolean"}, "services.hedgedoc.enable": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HedgeDoc Markdown Editor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hedgedoc", "enable"], "readOnly": false, "type": "boolean"}, "services.hedgedoc.environmentFile": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file as defined in {manpage}`systemd.exec(5)`.\n\nSecrets may be passed to the service without adding them to the world-readable\nNix store, by specifying placeholder variables as the option value in Nix and\nsetting these variables accordingly in the environment file.\n\n\nSnippet of HedgeDoc config containing a secret:\n```\nservices.hedgedoc.settings.dbURL = \"postgres://hedgedoc:\\${DB_PASSWORD}@db-host:5432/hedgedocdb\";\n```\n\nand the content of this environment file:\n````\n  DB_PASSWORD=verysecretdbpassword\n```\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/hedgedoc/hedgedoc.env\""}, "loc": ["services", "hedgedoc", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.hedgedoc.package": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hedgedoc"}, "description": "The hedgedoc package to use.", "loc": ["services", "hedgedoc", "package"], "readOnly": false, "type": "package"}, "services.hedgedoc.settings": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "description": "HedgeDoc configuration, see\n<https://docs.hedgedoc.org/configuration/>\nfor documentation.\n", "loc": ["services", "hedgedoc", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.hedgedoc.settings.allowGravatar": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable [Libravatar](https://wiki.libravatar.org/) as\nprofile picture source on your instance.\n\nDespite the naming of the setting, Hedgedoc replaced Gravatar\nwith Libravatar in [CodiMD 1.4.0](https://hedgedoc.org/releases/1.4.0/)\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hedgedoc", "settings", "allowGravatar"], "readOnly": false, "type": "boolean"}, "services.hedgedoc.settings.allowOrigin": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "with config.services.hedgedoc.settings; [ host ] ++ lib.optionals (domain != null) [ domain ]\n"}, "description": "List of domains to whitelist.\n", "example": {"_type": "literalExpression", "text": "[\n  \"localhost\"\n  \"hedgedoc.org\"\n]"}, "loc": ["services", "hedgedoc", "settings", "allowOrigin"], "readOnly": false, "type": "list of string"}, "services.hedgedoc.settings.db": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "{\n  dialect = \"sqlite\";\n  storage = \"/var/lib/hedgedoc/db.sqlite\";\n}\n"}, "description": "Specify the configuration for sequelize.\nHedgeDoc supports `mysql`, `postgres`, `sqlite` and `mssql`.\nSee <https://sequelize.readthedocs.io/en/v3/>\nfor more information.\n\n::: {.note}\n  The relevant parts will be overriden if you set {option}`dbURL`.\n:::\n", "example": {"_type": "literalExpression", "text": "db = {\n  username = \"hedgedoc\";\n  database = \"hedgedoc\";\n  host = \"localhost:5432\";\n  # or via socket\n  # host = \"/run/postgresql\";\n  dialect = \"postgresql\";\n};\n"}, "loc": ["services", "hedgedoc", "settings", "db"], "readOnly": false, "type": "attribute set"}, "services.hedgedoc.settings.domain": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Domain to use for website.\n\nThis is useful if you are trying to run hedgedoc behind\na reverse proxy.\n", "example": {"_type": "literalExpression", "text": "\"hedgedoc.org\""}, "loc": ["services", "hedgedoc", "settings", "domain"], "readOnly": false, "type": "null or string"}, "services.hedgedoc.settings.host": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address to listen on.\n", "loc": ["services", "hedgedoc", "settings", "host"], "readOnly": false, "type": "null or string"}, "services.hedgedoc.settings.path": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to UNIX domain socket to listen on\n\n::: {.note}\n  If specified, {option}`host` and {option}`port` will be ignored.\n:::\n", "example": {"_type": "literalExpression", "text": "\"/run/hedgedoc/hedgedoc.sock\""}, "loc": ["services", "hedgedoc", "settings", "path"], "readOnly": false, "type": "null or absolute path"}, "services.hedgedoc.settings.port": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port to listen on.\n", "example": {"_type": "literalExpression", "text": "80"}, "loc": ["services", "hedgedoc", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hedgedoc.settings.protocolUseSSL": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use `https://` for all links.\n\nThis is useful if you are trying to run hedgedoc behind\na reverse proxy.\n\n::: {.note}\n  Only applied if {option}`domain` is set.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hedgedoc", "settings", "protocolUseSSL"], "readOnly": false, "type": "boolean"}, "services.hedgedoc.settings.uploadsPath": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/hedgedoc/uploads\""}, "description": "Directory for storing uploaded images.\n", "loc": ["services", "hedgedoc", "settings", "uploadsPath"], "readOnly": false, "type": "absolute path"}, "services.hedgedoc.settings.urlPath": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL path for the website.\n\nThis is useful if you are hosting hedgedoc on a path like\n`www.example.com/hedgedoc`\n", "example": {"_type": "literalExpression", "text": "\"hedgedoc\""}, "loc": ["services", "hedgedoc", "settings", "urlPath"], "readOnly": false, "type": "null or string"}, "services.hedgedoc.settings.useSSL": {"declarations": ["nixos/modules/services/web-apps/hedgedoc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable to use SSL server.\n\n::: {.note}\n  This will also enable {option}`protocolUseSSL`.\n\n  It will also require you to set the following:\n\n  - {option}`sslKeyPath`\n  - {option}`sslCertPath`\n  - {option}`sslCAPath`\n  - {option}`dhParamPath`\n:::\n", "loc": ["services", "hedgedoc", "settings", "useSSL"], "readOnly": false, "type": "boolean"}, "services.heisenbridge.address": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to listen on. IPv6 does not seem to be supported.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "heisenbridge", "address"], "readOnly": false, "type": "string"}, "services.heisenbridge.debug": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "More verbose logging. Recommended during initial setup.", "loc": ["services", "heisenbridge", "debug"], "readOnly": false, "type": "boolean"}, "services.heisenbridge.enable": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Matrix to IRC bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "heisenbridge", "enable"], "readOnly": false, "type": "boolean"}, "services.heisenbridge.extraArgs": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Heisenbridge is configured over the command line. Append extra arguments here", "loc": ["services", "heisenbridge", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.heisenbridge.homeserver": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "description": "The URL to the home server for client-server API calls", "example": {"_type": "literalExpression", "text": "\"http://localhost:8008\""}, "loc": ["services", "heisenbridge", "homeserver"], "readOnly": false, "type": "string"}, "services.heisenbridge.identd.enable": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable identd service support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "heisenbridge", "identd", "enable"], "readOnly": false, "type": "boolean"}, "services.heisenbridge.identd.port": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "113"}, "description": "identd listen port", "loc": ["services", "heisenbridge", "identd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.heisenbridge.namespaces": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "{\n  aliases = [ ];\n  rooms = [ ];\n  users = [\n    {\n      exclusive = true;\n      regex = \"@irc_.*\";\n    }\n  ];\n}"}, "description": "Configure the 'namespaces' section of the registration.yml for the bridge and the server", "loc": ["services", "heisenbridge", "namespaces"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.heisenbridge.owner": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set owner MXID otherwise first talking local user will claim the bridge\n", "example": {"_type": "literalExpression", "text": "\"@admin:example.org\""}, "loc": ["services", "heisenbridge", "owner"], "readOnly": false, "type": "null or string"}, "services.heisenbridge.package": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "pkgs.heisenbridge"}, "description": "The heisenbridge package to use.", "loc": ["services", "heisenbridge", "package"], "readOnly": false, "type": "package"}, "services.heisenbridge.port": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "9898"}, "description": "The port to listen on", "loc": ["services", "heisenbridge", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.heisenbridge.registrationUrl": {"declarations": ["nixos/modules/services/misc/heisenbridge.nix"], "default": {"_type": "literalExpression", "text": "\"http://$\\${cfg.address}:$\\${toString cfg.port}\""}, "description": "The URL where the application service is listening for HS requests, from the Matrix HS perspective.#\nThe default value assumes the bridge runs on the same host as the home server, in the same network.\n", "example": {"_type": "literalExpression", "text": "\"https://matrix.example.org\""}, "loc": ["services", "heisenbridge", "registrationUrl"], "readOnly": false, "type": "string"}, "services.hickory-dns.configFile": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "let toml = pkgs.formats.toml { }; in toml.generate \"hickory-dns.toml\" cfg.settings\n"}, "description": "Path to an existing toml file to configure hickory-dns with.\n\nThis can usually be left unspecified, in which case it will be\ngenerated from the values in `settings`.\nIf manually specified, then the options in `settings` are ignored.\n", "loc": ["services", "hickory-dns", "configFile"], "readOnly": false, "type": "absolute path"}, "services.hickory-dns.debug": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Log DEBUG, INFO, WARN and ERROR messages.\nThis option is mutually exclusive with the `debug` option.\nIf neither `quiet` nor `debug` are enabled, logging defaults to the INFO level.\n", "loc": ["services", "hickory-dns", "debug"], "readOnly": false, "type": "boolean"}, "services.hickory-dns.enable": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hickory-dns.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hickory-dns", "enable"], "readOnly": false, "type": "boolean"}, "services.hickory-dns.package": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hickory-dns"}, "description": "The hickory-dns package to use. ::: {.note}\nThe package must provide `meta.mainProgram` which names the server binary; any other utilities (client, resolver) are not needed.\n:::\n", "loc": ["services", "hickory-dns", "package"], "readOnly": false, "type": "package"}, "services.hickory-dns.quiet": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Log ERROR level messages only.\nThis option is mutually exclusive with the `debug` option.\nIf neither `quiet` nor `debug` are enabled, logging defaults to the INFO level.\n", "loc": ["services", "hickory-dns", "quiet"], "readOnly": false, "type": "boolean"}, "services.hickory-dns.settings": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "description": "Settings for hickory-dns. The options enumerated here are not exhaustive.\nRefer to upstream documentation for all available options:\n- [Example settings](https://github.com/hickory-dns/hickory-dns/blob/main/tests/test-data/test_configs/example.toml)\n", "loc": ["services", "hickory-dns", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.hickory-dns.settings.directory": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/hickory-dns\""}, "description": "The directory in which hickory-dns should look for .zone files,\nwhenever zones aren't specified by absolute path.\n", "loc": ["services", "hickory-dns", "settings", "directory"], "readOnly": false, "type": "string"}, "services.hickory-dns.settings.listen_addrs_ipv4": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"0.0.0.0\"\n]"}, "description": "List of ipv4 addresses on which to listen for DNS queries.\n", "loc": ["services", "hickory-dns", "settings", "listen_addrs_ipv4"], "readOnly": false, "type": "list of string"}, "services.hickory-dns.settings.listen_addrs_ipv6": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "lib.optional config.networking.enableIPv6 \"::0\""}, "description": "List of ipv6 addresses on which to listen for DNS queries.\n", "loc": ["services", "hickory-dns", "settings", "listen_addrs_ipv6"], "readOnly": false, "type": "list of string"}, "services.hickory-dns.settings.listen_port": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "53"}, "description": "Port to listen on (applies to all listen addresses).\n", "loc": ["services", "hickory-dns", "settings", "listen_port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hickory-dns.settings.zones": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of zones to serve.", "loc": ["services", "hickory-dns", "settings", "zones"], "readOnly": false, "type": "list of ((open submodule of (TOML value)) or string convertible to it)"}, "services.hickory-dns.settings.zones.*.file": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "if config.zone_type != \"External\" then \"${config.zone}.zone\" else null"}, "description": "Path to the .zone file.\nIf not fully-qualified, this path will be interpreted relative to the `directory` option.\nIf omitted, defaults to the value of the `zone` option suffixed with \".zone\" when `zone_type` isn't External; otherwise, defaults to `null`.\n", "loc": ["services", "hickory-dns", "settings", "zones", "*", "file"], "readOnly": false, "type": "null or absolute path or string"}, "services.hickory-dns.settings.zones.*.zone": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "description": "Zone name, like \"example.com\", \"localhost\", or \"0.0.127.in-addr.arpa\".\n", "loc": ["services", "hickory-dns", "settings", "zones", "*", "zone"], "readOnly": false, "type": "string"}, "services.hickory-dns.settings.zones.*.zone_type": {"declarations": ["nixos/modules/services/networking/hickory-dns.nix"], "default": {"_type": "literalExpression", "text": "\"Primary\""}, "description": "One of:\n- \"Primary\" (the master, authority for the zone).\n- \"Secondary\" (the slave, replicated from the primary).\n- \"External\" (a cached zone that queries other nameservers).\n\nFor more details about these zone types, consult the documentation for BIND,\nthough note that hickory-dns supports only a subset of BIND's zone types:\n<https://bind9.readthedocs.io/en/v9_18_4/reference.html#type>\n", "loc": ["services", "hickory-dns", "settings", "zones", "*", "zone_type"], "readOnly": false, "type": "one of \"Primary\", \"Secondary\", \"External\""}, "services.hitch.backend": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "description": "The host and port Hitch connects to when receiving\na connection in the form [HOST]:PORT\n", "loc": ["services", "hitch", "backend"], "readOnly": false, "type": "string"}, "services.hitch.ciphers": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "\"EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH\""}, "description": "The list of ciphers to use", "loc": ["services", "hitch", "ciphers"], "readOnly": false, "type": "string"}, "services.hitch.enable": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Hitch Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hitch", "enable"], "readOnly": false, "type": "boolean"}, "services.hitch.extraConfig": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional configuration lines", "loc": ["services", "hitch", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.hitch.frontend": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "\"[127.0.0.1]:443\""}, "description": "The port and interface of the listen endpoint in the\nform [HOST]:PORT[+CERT].\n", "loc": ["services", "hitch", "frontend"], "readOnly": false, "type": "string or list of string"}, "services.hitch.group": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "\"hitch\""}, "description": "The group to run as", "loc": ["services", "hitch", "group"], "readOnly": false, "type": "string"}, "services.hitch.ocsp-stapling.enabled": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable OCSP Stapling", "loc": ["services", "hitch", "ocsp-stapling", "enabled"], "readOnly": false, "type": "boolean"}, "services.hitch.pem-files": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "PEM files to use", "loc": ["services", "hitch", "pem-files"], "readOnly": false, "type": "list of absolute path"}, "services.hitch.user": {"declarations": ["nixos/modules/services/web-servers/hitch/default.nix"], "default": {"_type": "literalExpression", "text": "\"hitch\""}, "description": "The user to run as", "loc": ["services", "hitch", "user"], "readOnly": false, "type": "string"}, "services.hledger-web.allow": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "\"view\""}, "description": "User's access level for changing data.\n\n* view: view only permission.\n* add: view and add permissions.\n* edit: view, add, and edit permissions.\n* sandstorm: permissions from the `X-Sandstorm-Permissions` request header.\n", "loc": ["services", "hledger-web", "allow"], "readOnly": false, "type": "one of \"view\", \"add\", \"edit\", \"sandstorm\""}, "services.hledger-web.baseUrl": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Base URL, when sharing over a network.\n", "example": {"_type": "literalExpression", "text": "\"https://example.org\""}, "loc": ["services", "hledger-web", "baseUrl"], "readOnly": false, "type": "null or string"}, "services.hledger-web.enable": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hledger-web service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hledger-web", "enable"], "readOnly": false, "type": "boolean"}, "services.hledger-web.extraOptions": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments to pass to hledger-web.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--forecast\"\n]"}, "loc": ["services", "hledger-web", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.hledger-web.host": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to listen on.\n", "loc": ["services", "hledger-web", "host"], "readOnly": false, "type": "string"}, "services.hledger-web.journalFiles": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "[\n  \".hledger.journal\"\n]"}, "description": "Paths to journal files relative to {option}`services.hledger-web.stateDir`.\n", "loc": ["services", "hledger-web", "journalFiles"], "readOnly": false, "type": "list of string"}, "services.hledger-web.port": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "Port to listen on.\n", "example": {"_type": "literalExpression", "text": "80"}, "loc": ["services", "hledger-web", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hledger-web.serveApi": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable serving only the JSON web API, without the web UI.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hledger-web", "serveApi"], "readOnly": false, "type": "boolean"}, "services.hledger-web.stateDir": {"declarations": ["nixos/modules/services/web-apps/hledger-web.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/hledger-web\""}, "description": "Path the service has access to. If left as the default value this\ndirectory will automatically be created before the hledger-web server\nstarts, otherwise the sysadmin is responsible for ensuring the\ndirectory exists with appropriate ownership and permissions.\n", "loc": ["services", "hledger-web", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.hockeypuck.enable": {"declarations": ["nixos/modules/services/security/hockeypuck.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Hockeypuck OpenPGP Key Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hockeypuck", "enable"], "readOnly": false, "type": "boolean"}, "services.hockeypuck.port": {"declarations": ["nixos/modules/services/security/hockeypuck.nix"], "default": {"_type": "literalExpression", "text": "11371"}, "description": "HKP port to listen on.", "loc": ["services", "hockeypuck", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hockeypuck.settings": {"declarations": ["nixos/modules/services/security/hockeypuck.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration file for hockeypuck, here you can override\ncertain settings (`loglevel` and\n`openpgp.db.dsn`) by just setting those values.\n\nFor other settings you need to use lib.mkForce to override them.\n\nThis service doesn't provision or enable postgres on your\nsystem, it rather assumes that you enable postgres and create\nthe database yourself.\n\nExample:\n```\n  services.postgresql = {\n    enable = true;\n    ensureDatabases = [ \"hockeypuck\" ];\n    ensureUsers = [{\n      name = \"hockeypuck\";\n      ensureDBOwnership = true;\n    }];\n  };\n```\n", "example": {"_type": "literalExpression", "text": "{\n  hockeypuck = {\n    loglevel = \"INFO\";\n    logfile = \"/var/log/hockeypuck/hockeypuck.log\";\n    indexTemplate = \"${pkgs.hockeypuck-web}/share/templates/index.html.tmpl\";\n    vindexTemplate = \"${pkgs.hockeypuck-web}/share/templates/index.html.tmpl\";\n    statsTemplate = \"${pkgs.hockeypuck-web}/share/templates/stats.html.tmpl\";\n    webroot = \"${pkgs.hockeypuck-web}/share/webroot\";\n\n    hkp.bind = \":${toString cfg.port}\";\n\n    openpgp.db = {\n      driver = \"postgres-jsonb\";\n      dsn = \"database=hockeypuck host=/var/run/postgresql sslmode=disable\";\n    };\n  };\n}\n"}, "loc": ["services", "hockeypuck", "settings"], "readOnly": false, "type": "TOML value"}, "services.hologram-agent.dialAddress": {"declarations": ["nixos/modules/services/security/hologram-agent.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:3100\""}, "description": "Hologram server and port.", "loc": ["services", "hologram-agent", "dialAddress"], "readOnly": false, "type": "string"}, "services.hologram-agent.enable": {"declarations": ["nixos/modules/services/security/hologram-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Hologram agent for AWS instance credentials", "loc": ["services", "hologram-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.hologram-agent.httpPort": {"declarations": ["nixos/modules/services/security/hologram-agent.nix"], "default": {"_type": "literalExpression", "text": "\"80\""}, "description": "Port for metadata service to listen on.", "loc": ["services", "hologram-agent", "httpPort"], "readOnly": false, "type": "string"}, "services.hologram-server.awsAccount": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "description": "AWS account number", "loc": ["services", "hologram-server", "awsAccount"], "readOnly": false, "type": "string"}, "services.hologram-server.awsDefaultRole": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "description": "AWS default role", "loc": ["services", "hologram-server", "awsDefaultRole"], "readOnly": false, "type": "string"}, "services.hologram-server.cacheTimeoutSeconds": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "3600"}, "description": "How often (in seconds) to refresh the LDAP cache", "loc": ["services", "hologram-server", "cacheTimeoutSeconds"], "readOnly": false, "type": "signed integer"}, "services.hologram-server.enable": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Hologram server for AWS instance credentials", "loc": ["services", "hologram-server", "enable"], "readOnly": false, "type": "boolean"}, "services.hologram-server.enableLdapRoles": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to assign user roles based on the user's LDAP group memberships", "loc": ["services", "hologram-server", "enableLdapRoles"], "readOnly": false, "type": "boolean"}, "services.hologram-server.groupClassAttr": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "\"groupOfNames\""}, "description": "The objectclass attribute to search for groups when enableLdapRoles is true", "loc": ["services", "hologram-server", "groupClassAttr"], "readOnly": false, "type": "string"}, "services.hologram-server.ldapBaseDN": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "description": "The base DN for your Hologram users", "loc": ["services", "hologram-server", "ldapBaseDN"], "readOnly": false, "type": "string"}, "services.hologram-server.ldapBindDN": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "description": "DN of account to use to query the LDAP server", "loc": ["services", "hologram-server", "ldapBindDN"], "readOnly": false, "type": "string"}, "services.hologram-server.ldapBindPassword": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "description": "Password of account to use to query the LDAP server", "loc": ["services", "hologram-server", "ldapBindPassword"], "readOnly": false, "type": "string"}, "services.hologram-server.ldapHost": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "description": "Address of the LDAP server to use", "loc": ["services", "hologram-server", "ldapHost"], "readOnly": false, "type": "string"}, "services.hologram-server.ldapInsecure": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to connect to LDAP over SSL or not", "loc": ["services", "hologram-server", "ldapInsecure"], "readOnly": false, "type": "boolean"}, "services.hologram-server.ldapUserAttr": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "\"cn\""}, "description": "The LDAP attribute for usernames", "loc": ["services", "hologram-server", "ldapUserAttr"], "readOnly": false, "type": "string"}, "services.hologram-server.listenAddress": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0:3100\""}, "description": "Address and port to listen on", "loc": ["services", "hologram-server", "listenAddress"], "readOnly": false, "type": "string"}, "services.hologram-server.roleAttr": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "\"businessCategory\""}, "description": "Which LDAP group attribute to search for authorized role ARNs", "loc": ["services", "hologram-server", "roleAttr"], "readOnly": false, "type": "string"}, "services.hologram-server.statsAddress": {"declarations": ["nixos/modules/services/security/hologram-server.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Address of statsd server", "loc": ["services", "hologram-server", "statsAddress"], "readOnly": false, "type": "string"}, "services.home-assistant-matter-hub.accessTokenFile": {"declarations": ["nixos/modules/services/home-automation/home-assistant-matter-hub.nix"], "description": "Path to a file containing a Home Assistant long-lived access token.\nThe file is loaded as a systemd credential and read into\n`HAMH_HOME_ASSISTANT_ACCESS_TOKEN` at service start.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/home-assistant-matter-hub-token\""}, "loc": ["services", "home-assistant-matter-hub", "accessTokenFile"], "readOnly": false, "type": "absolute path not in the Nix store"}, "services.home-assistant-matter-hub.enable": {"declarations": ["nixos/modules/services/home-automation/home-assistant-matter-hub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable home-assistant-matter-hub, a Matter bridge for Home Assistant.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "home-assistant-matter-hub", "enable"], "readOnly": false, "type": "boolean"}, "services.home-assistant-matter-hub.openFirewall": {"declarations": ["nixos/modules/services/home-automation/home-assistant-matter-hub.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the Matter commissioning ports (UDP/TCP 5540) in the\nfirewall.\n", "loc": ["services", "home-assistant-matter-hub", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.home-assistant-matter-hub.package": {"declarations": ["nixos/modules/services/home-automation/home-assistant-matter-hub.nix"], "default": {"_type": "literalExpression", "text": "pkgs.home-assistant-matter-hub"}, "description": "The home-assistant-matter-hub package to use.", "loc": ["services", "home-assistant-matter-hub", "package"], "readOnly": false, "type": "package"}, "services.home-assistant-matter-hub.settings": {"declarations": ["nixos/modules/services/home-automation/home-assistant-matter-hub.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration written to a JSON file and passed to\n`home-assistant-matter-hub start --config`. Keys use camelCase, matching\nthe long-form CLI flags. See\n<https://riddix.github.io/home-assistant-matter-hub/getting-started/installation#23-configuration-options>\nfor the full list of options.\n", "example": {"_type": "literalExpression", "text": "{\n  homeAssistantUrl = config.services.home-assistant.config.homeassistant.internal_url;\n}\n"}, "loc": ["services", "home-assistant-matter-hub", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.home-assistant-matter-hub.settings.homeAssistantUrl": {"declarations": ["nixos/modules/services/home-automation/home-assistant-matter-hub.nix"], "description": "HTTP URL of the Home Assistant instance to bridge.", "example": {"_type": "literalExpression", "text": "config.services.home-assistant.config.homeassistant.internal_url"}, "loc": ["services", "home-assistant-matter-hub", "settings", "homeAssistantUrl"], "readOnly": false, "type": "string"}, "services.home-assistant-matter-hub.settings.httpPort": {"declarations": ["nixos/modules/services/home-automation/home-assistant-matter-hub.nix"], "default": {"_type": "literalExpression", "text": "8482"}, "description": "Port the web interface listens on.", "loc": ["services", "home-assistant-matter-hub", "settings", "httpPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.homebox.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/homebox.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configure local PostgreSQL database server for Homebox.\n", "loc": ["services", "homebox", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.homebox.enable": {"declarations": ["nixos/modules/services/web-apps/homebox.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable homebox.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homebox", "enable"], "readOnly": false, "type": "boolean"}, "services.homebox.group": {"declarations": ["nixos/modules/services/web-apps/homebox.nix"], "default": {"_type": "literalExpression", "text": "\"homebox\""}, "description": "Group under which Homebox runs.", "loc": ["services", "homebox", "group"], "readOnly": false, "type": "string"}, "services.homebox.package": {"declarations": ["nixos/modules/services/web-apps/homebox.nix"], "default": {"_type": "literalExpression", "text": "pkgs.homebox"}, "description": "The homebox package to use.", "loc": ["services", "homebox", "package"], "readOnly": false, "type": "package"}, "services.homebox.settings": {"declarations": ["nixos/modules/services/web-apps/homebox.nix"], "default": {"_type": "literalExpression", "text": "{\n  HBOX_STORAGE_CONN_STRING = \"file:///var/lib/homebox\";\n  HBOX_STORAGE_PREFIX_PATH = \"data\";\n  HBOX_DATABASE_DRIVER = \"sqlite3\";\n  HBOX_DATABASE_SQLITE_PATH = \"/var/lib/homebox/data/homebox.db?_pragma=busy_timeout=999&_pragma=journal_mode=WAL&_fk=1\";\n  HBOX_OPTIONS_ALLOW_REGISTRATION = \"false\";\n  HBOX_OPTIONS_GITHUB_RELEASE_CHECK = \"false\";\n  HBOX_MODE = \"production\";\n  HOME = \"/var/lib/homebox\";\n  TMPDIR = \"/var/lib/homebox/tmp\";\n}\n"}, "description": "The homebox configuration as environment variables. For definitions and available options see the upstream\n[documentation](https://homebox.software/en/configure/#configure-homebox).\n", "loc": ["services", "homebox", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string)"}, "services.homebox.user": {"declarations": ["nixos/modules/services/web-apps/homebox.nix"], "default": {"_type": "literalExpression", "text": "\"homebox\""}, "description": "User account under which Homebox runs.", "loc": ["services", "homebox", "user"], "readOnly": false, "type": "string"}, "services.homebridge.enable": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Homebridge: Homekit home automation.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homebridge", "enable"], "readOnly": false, "type": "boolean"}, "services.homebridge.environmentFile": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to an environment-file which may contain secrets.\n", "loc": ["services", "homebridge", "environmentFile"], "readOnly": false, "type": "null or string"}, "services.homebridge.group": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"homebridge\""}, "description": "Group to run homebridge as.", "loc": ["services", "homebridge", "group"], "readOnly": false, "type": "string"}, "services.homebridge.openFirewall": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the Homebridge web interface and service.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homebridge", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.homebridge.pluginPath": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/homebridge/node_modules\""}, "description": "Path to the plugin download directory (needs to be writeable).\nSeems this needs to end with node_modules, as Homebridge will run npm\non the parent directory.\n", "loc": ["services", "homebridge", "pluginPath"], "readOnly": false, "type": "string"}, "services.homebridge.settings": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration options for homebridge.\n\nFor more details, see [the homebridge documentation](https://github.com/homebridge/homebridge/wiki/Homebridge-Config-JSON-Explained).\n", "loc": ["services", "homebridge", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.homebridge.settings.accessories": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Homebridge Accessories", "loc": ["services", "homebridge", "settings", "accessories"], "readOnly": false, "type": "list of (open submodule of (JSON value))"}, "services.homebridge.settings.accessories.*.accessory": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "description": "Accessory type", "loc": ["services", "homebridge", "settings", "accessories", "*", "accessory"], "readOnly": false, "type": "string"}, "services.homebridge.settings.accessories.*.name": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "description": "Name of the accessory", "loc": ["services", "homebridge", "settings", "accessories", "*", "name"], "readOnly": false, "type": "string"}, "services.homebridge.settings.bridge.name": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"Homebridge\""}, "description": "Name of the homebridge", "loc": ["services", "homebridge", "settings", "bridge", "name"], "readOnly": false, "type": "string"}, "services.homebridge.settings.bridge.port": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "51826"}, "description": "The port homebridge listens on", "loc": ["services", "homebridge", "settings", "bridge", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.homebridge.settings.description": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"Homebridge\""}, "description": "Description of the homebridge instance.", "loc": ["services", "homebridge", "settings", "description"], "readOnly": true, "type": "string"}, "services.homebridge.settings.platforms": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Homebridge Platforms", "loc": ["services", "homebridge", "settings", "platforms"], "readOnly": false, "type": "list of (open submodule of (JSON value))"}, "services.homebridge.settings.platforms.*.name": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "description": "Name of the platform", "loc": ["services", "homebridge", "settings", "platforms", "*", "name"], "readOnly": false, "type": "string"}, "services.homebridge.settings.platforms.*.platform": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "description": "Platform type", "loc": ["services", "homebridge", "settings", "platforms", "*", "platform"], "readOnly": false, "type": "string"}, "services.homebridge.uiSettings": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration options for homebridge config UI plugin.\n\nFor more details, see [the homebridge-config-ui-x documentation](https://github.com/homebridge/homebridge-config-ui-x/wiki/Config-Options).\n", "loc": ["services", "homebridge", "uiSettings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.homebridge.uiSettings.log.method": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"systemd\""}, "description": "Method to use for logging", "loc": ["services", "homebridge", "uiSettings", "log", "method"], "readOnly": true, "type": "string"}, "services.homebridge.uiSettings.log.service": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"homebridge\""}, "description": "Name of the systemd service to log to", "loc": ["services", "homebridge", "uiSettings", "log", "service"], "readOnly": true, "type": "string"}, "services.homebridge.uiSettings.name": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"Config\""}, "description": "Name of the homebridge UI platform", "loc": ["services", "homebridge", "uiSettings", "name"], "readOnly": true, "type": "string"}, "services.homebridge.uiSettings.platform": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"config\""}, "description": "Type of the homebridge UI platform", "loc": ["services", "homebridge", "uiSettings", "platform"], "readOnly": true, "type": "string"}, "services.homebridge.uiSettings.port": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "8581"}, "description": "The port the UI web service should listen on", "loc": ["services", "homebridge", "uiSettings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.homebridge.uiSettings.restart": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"sudo -n systemctl restart homebridge\""}, "description": "Command to restart the homebridge UI service", "loc": ["services", "homebridge", "uiSettings", "restart"], "readOnly": true, "type": "string"}, "services.homebridge.user": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"homebridge\""}, "description": "User to run homebridge as.", "loc": ["services", "homebridge", "user"], "readOnly": false, "type": "string"}, "services.homebridge.userStoragePath": {"declarations": ["nixos/modules/services/home-automation/homebridge.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/homebridge\""}, "description": "Path to store homebridge user files (needs to be writeable).\n", "loc": ["services", "homebridge", "userStoragePath"], "readOnly": false, "type": "string"}, "services.homed.enable": {"declarations": ["nixos/modules/system/boot/systemd/homed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable systemd home area/user account manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homed", "enable"], "readOnly": false, "type": "boolean"}, "services.homed.promptOnFirstBoot": {"declarations": ["nixos/modules/system/boot/systemd/homed.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable interactively prompting for user creation on first boot\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homed", "promptOnFirstBoot"], "readOnly": false, "type": "boolean"}, "services.homed.settings.Home": {"declarations": ["nixos/modules/system/boot/systemd/homed.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for systemd-homed. See {manpage}`homed.conf(5)` man page for\navailable options.\n", "example": {"_type": "literalExpression", "text": "{\n  DefaultFileSystemType = \"btrfs\";\n  DefaultStorage = \"luks\";\n}"}, "loc": ["services", "homed", "settings", "Home"], "readOnly": false, "type": "open submodule of attribute set of (systemd option)"}, "services.homepage-dashboard.allowedHosts": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:8082,127.0.0.1:8082\""}, "description": "Hosts that homepage-dashboard will be running under.\nYou will want to change this in order to acess homepage from anything other than localhost.\nsee the upsream documentation:\n\n<https://gethomepage.dev/installation/#homepage_allowed_hosts>\n", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "homepage-dashboard", "allowedHosts"], "readOnly": false, "type": "string"}, "services.homepage-dashboard.bookmarks": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Homepage bookmarks configuration.\n\nSee <https://gethomepage.dev/configs/bookmarks/>.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    Developer = [\n      {\n        Github = [\n          {\n            abbr = \"GH\";\n            href = \"https://github.com/\";\n          }\n        ];\n      }\n    ];\n  }\n  {\n    Entertainment = [\n      {\n        YouTube = [\n          {\n            abbr = \"YT\";\n            href = \"https://youtube.com/\";\n          }\n        ];\n      }\n    ];\n  }\n]"}, "loc": ["services", "homepage-dashboard", "bookmarks"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homepage-dashboard.customCSS": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Custom CSS for styling Homepage.\n\nSee <https://gethomepage.dev/configs/custom-css-js/>.\n", "loc": ["services", "homepage-dashboard", "customCSS"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.homepage-dashboard.customJS": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Custom Javascript for Homepage.\n\nSee <https://gethomepage.dev/configs/custom-css-js/>.\n", "loc": ["services", "homepage-dashboard", "customJS"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.homepage-dashboard.docker": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Homepage docker configuration.\n\nSee <https://gethomepage.dev/configs/docker/>.\n", "loc": ["services", "homepage-dashboard", "docker"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homepage-dashboard.enable": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Homepage Dashboard, a highly customizable application dashboard.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homepage-dashboard", "enable"], "readOnly": false, "type": "boolean"}, "services.homepage-dashboard.environmentFiles": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of paths to environment files that contain environment variables to pass\nto the homepage-dashboard service, for the purpose of passing secrets to\nthe service.\n\nSee the upstream documentation:\n\n<https://gethomepage.dev/installation/docker/#using-environment-secrets>\n", "loc": ["services", "homepage-dashboard", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.homepage-dashboard.kubernetes": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Homepage kubernetes configuration.\n\nSee <https://gethomepage.dev/configs/kubernetes/>.\n", "loc": ["services", "homepage-dashboard", "kubernetes"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homepage-dashboard.listenPort": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "8082"}, "description": "Port for Homepage to bind to.", "loc": ["services", "homepage-dashboard", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.homepage-dashboard.openFirewall": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for Homepage.", "loc": ["services", "homepage-dashboard", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.homepage-dashboard.package": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "pkgs.homepage-dashboard"}, "description": "The homepage-dashboard package to use.", "loc": ["services", "homepage-dashboard", "package"], "readOnly": false, "type": "package"}, "services.homepage-dashboard.proxmox": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Homepage proxmox configuration.\n\nSee <https://gethomepage.dev/configs/proxmox/>.\n", "loc": ["services", "homepage-dashboard", "proxmox"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homepage-dashboard.services": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Homepage services configuration.\n\nSee <https://gethomepage.dev/configs/services/>.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    \"My First Group\" = [\n      {\n        \"My First Service\" = {\n          description = \"Homepage is awesome\";\n          href = \"http://localhost/\";\n        };\n      }\n    ];\n  }\n  {\n    \"My Second Group\" = [\n      {\n        \"My Second Service\" = {\n          description = \"Homepage is the best\";\n          href = \"http://localhost/\";\n        };\n      }\n    ];\n  }\n]"}, "loc": ["services", "homepage-dashboard", "services"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homepage-dashboard.settings": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Homepage settings.\n\nSee <https://gethomepage.dev/configs/settings/>.\n", "loc": ["services", "homepage-dashboard", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homepage-dashboard.widgets": {"declarations": ["nixos/modules/services/misc/homepage-dashboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Homepage widgets configuration.\n\nSee <https://gethomepage.dev/widgets/>.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    resources = {\n      cpu = true;\n      disk = \"/\";\n      memory = true;\n    };\n  }\n  {\n    search = {\n      provider = \"duckduckgo\";\n      target = \"_blank\";\n    };\n  }\n]"}, "loc": ["services", "homepage-dashboard", "widgets"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homer.enable": {"declarations": ["nixos/modules/services/web-apps/homer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homer", "enable"], "readOnly": false, "type": "boolean"}, "services.homer.package": {"declarations": ["nixos/modules/services/web-apps/homer.nix"], "default": {"_type": "literalExpression", "text": "pkgs.homer"}, "description": "The homer package to use.", "loc": ["services", "homer", "package"], "readOnly": false, "type": "package"}, "services.homer.settings": {"declarations": ["nixos/modules/services/web-apps/homer.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings serialized into {file}`config.yml` before build.\nIf left empty, the default configuration shipped with the package will be used instead.\nFor more information, see the [official documentation](https://github.com/bastienwirtz/homer/blob/main/docs/configuration.md).\n\nNote that the full configuration will be written to the nix store as world readable, which may include secrets such as [api-keys](https://github.com/bastienwirtz/homer/blob/main/docs/customservices.md).\n\nTo add files such as icons or backgrounds, you can reference them in line such as\n```nix\nicon = \"${./icon.png}\";\n```\nThis will add the file to the nix store upon build, referencing it by file path as expected by Homer.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    title = \"App dashboard\";\n    subtitle = \"Homer\";\n    logo = \"assets/logo.png\";\n    header = true;\n    footer = '''\n      <p>Created with <span class=\"has-text-danger\">\u2764\ufe0f</span> with\n      <a href=\"https://bulma.io/\">bulma</a>,\n      <a href=\"https://vuejs.org/\">vuejs</a> &\n      <a href=\"https://fontawesome.com/\">font awesome</a> //\n      Fork me on <a href=\"https://github.com/bastienwirtz/homer\">\n      <i class=\"fab fa-github-alt\"></i></a></p>\n    ''';\n    columns = \"3\";\n    connectivityCheck = true;\n  \n    proxy = {\n      useCredentials = false;\n      headers = {\n        Test = \"Example\";\n        Test1 = \"Example1\";\n      };\n    };\n  \n    defaults = {\n      layout = \"columns\";\n      colorTheme = \"auto\";\n    };\n  \n    theme = \"default\";\n  \n    message = {\n      style = \"is-warning\";\n      title = \"Optional message!\";\n      icon = \"fa fa-exclamation-triangle\";\n      content = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\";\n    };\n  \n    links = [\n      {\n        name = \"Link 1\";\n        icon = \"fab fa-github\";\n        url = \"https://github.com/bastienwirtz/homer\";\n        target = \"_blank\";\n      }\n      {\n        name = \"link 2\";\n        icon = \"fas fa-book\";\n        url = \"https://github.com/bastienwirtz/homer\";\n      }\n    ];\n  \n    services = [\n      {\n        name = \"Application\";\n        icon = \"fas fa-code-branch\";\n        items = [\n          {\n            name = \"Awesome app\";\n            logo = \"assets/tools/sample.png\";\n            subtitle = \"Bookmark example\";\n            tag = \"app\";\n            keywords = \"self hosted reddit\";\n            url = \"https://www.reddit.com/r/selfhosted/\";\n            target = \"_blank\";\n          }\n          {\n            name = \"Another one\";\n            logo = \"assets/tools/sample2.png\";\n            subtitle = \"Another application\";\n            tag = \"app\";\n            tagstyle = \"is-success\";\n            url = \"#\";\n          }\n        ];\n      }\n      {\n        name = \"Other group\";\n        icon = \"fas fa-heartbeat\";\n        items = [\n          {\n            name = \"Pi-hole\";\n            logo = \"assets/tools/sample.png\";\n            tag = \"other\";\n            url = \"http://192.168.0.151/admin\";\n            type = \"PiHole\";\n            target = \"_blank\";\n          }\n        ];\n      }\n    ];\n  }\n  \n''"}, "loc": ["services", "homer", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.homer.virtualHost.caddy.enable": {"declarations": ["nixos/modules/services/web-apps/homer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a virtualhost to serve homer through caddy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homer", "virtualHost", "caddy", "enable"], "readOnly": false, "type": "boolean"}, "services.homer.virtualHost.domain": {"declarations": ["nixos/modules/services/web-apps/homer.nix"], "description": "Domain to use for the virtual host.\n\nThis can be used to change nginx options like\n```nix\nservices.nginx.virtualHosts.\"$\\{config.services.homer.virtualHost.domain}\".listen = [ ... ]\n```\nor\n```nix\nservices.nginx.virtualHosts.\"example.com\".listen = [ ... ]\n```\n", "loc": ["services", "homer", "virtualHost", "domain"], "readOnly": false, "type": "string"}, "services.homer.virtualHost.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/homer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a virtualhost to serve homer through nginx.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "homer", "virtualHost", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.honk.enable": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Honk server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "honk", "enable"], "readOnly": false, "type": "boolean"}, "services.honk.extraCSS": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An extra CSS file to be loaded by the client.\n", "loc": ["services", "honk", "extraCSS"], "readOnly": false, "type": "null or absolute path"}, "services.honk.extraJS": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An extra JavaScript file to be loaded by the client.\n", "loc": ["services", "honk", "extraJS"], "readOnly": false, "type": "null or absolute path"}, "services.honk.host": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host name or IP address the server should listen to.\n", "loc": ["services", "honk", "host"], "readOnly": false, "type": "string"}, "services.honk.package": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "default": {"_type": "literalExpression", "text": "pkgs.honk"}, "description": "The honk package to use.", "loc": ["services", "honk", "package"], "readOnly": false, "type": "package"}, "services.honk.passwordFile": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "description": "Password for admin account.\nNOTE: Should be string not a store path, to prevent the password from being world readable\n", "loc": ["services", "honk", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.honk.port": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port the server should listen to.\n", "loc": ["services", "honk", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.honk.servername": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "description": "The server name.\n", "loc": ["services", "honk", "servername"], "readOnly": false, "type": "string"}, "services.honk.username": {"declarations": ["nixos/modules/services/web-apps/honk.nix"], "description": "The admin account username.\n", "loc": ["services", "honk", "username"], "readOnly": false, "type": "string"}, "services.hoogle.enable": {"declarations": ["nixos/modules/services/development/hoogle.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Haskell documentation server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hoogle", "enable"], "readOnly": false, "type": "boolean"}, "services.hoogle.extraOptions": {"declarations": ["nixos/modules/services/development/hoogle.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command-line arguments to pass to\n{command}`hoogle server`\n", "example": {"_type": "literalExpression", "text": "[\n  \"--no-security-headers\"\n]"}, "loc": ["services", "hoogle", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.hoogle.haskellPackages": {"declarations": ["nixos/modules/services/development/hoogle.nix"], "default": {"_type": "literalExpression", "text": "pkgs.haskellPackages"}, "description": "Which haskell package set to use.", "loc": ["services", "hoogle", "haskellPackages"], "readOnly": false, "type": "attribute set"}, "services.hoogle.home": {"declarations": ["nixos/modules/services/development/hoogle.nix"], "default": {"_type": "literalExpression", "text": "\"https://hoogle.haskell.org\""}, "description": "Url for hoogle logo", "loc": ["services", "hoogle", "home"], "readOnly": false, "type": "string"}, "services.hoogle.host": {"declarations": ["nixos/modules/services/development/hoogle.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Set the host to bind on.", "loc": ["services", "hoogle", "host"], "readOnly": false, "type": "string"}, "services.hoogle.packages": {"declarations": ["nixos/modules/services/development/hoogle.nix"], "default": {"_type": "literalExpression", "text": "hp: []"}, "description": "The Haskell packages to generate documentation for.\n\nThe option value is a function that takes the package set specified in\nthe {var}`haskellPackages` option as its sole parameter and\nreturns a list of packages.\n", "example": {"_type": "literalExpression", "text": "hp: with hp; [ text lens ]"}, "loc": ["services", "hoogle", "packages"], "readOnly": false, "type": "function that evaluates to a(n) list of package"}, "services.hoogle.port": {"declarations": ["nixos/modules/services/development/hoogle.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port number Hoogle will be listening to.\n", "loc": ["services", "hoogle", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hostapd.enable": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hostapd, a user space daemon for access point and\nauthentication servers. It implements IEEE 802.11 access point management,\nIEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS\nauthentication server\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hostapd", "enable"], "readOnly": false, "type": "boolean"}, "services.hostapd.package": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hostapd"}, "description": "The hostapd package to use.", "loc": ["services", "hostapd", "package"], "readOnly": false, "type": "package"}, "services.hostapd.radios": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option allows you to define APs for one or multiple physical radios.\nAt least one radio must be specified.\n\nFor each radio, hostapd requires a separate logical interface (like wlp3s0, wlp3s1, ...).\nA default interface is usually be created automatically by your system, but to use\nmultiple radios of a single device, it may be required to create additional logical interfaces\nfor example by using {option}`networking.wlanInterfaces`.\n\nEach physical radio can only support a single hardware-mode that is configured via\n({option}`services.hostapd.radios.<radio>.band`). To create a dual-band\nor tri-band AP, you will have to use a device that has multiple physical radios\nand supports configuring multiple APs (Refer to valid interface combinations in\n{command}`iw list`).\n", "example": {"_type": "literalExpression", "text": "{\n  # Simple 2.4GHz AP\n  wlp2s0 = {\n    # countryCode = \"US\";\n    networks.wlp2s0 = {\n      ssid = \"AP 1\";\n      authentication.saePasswords = [{ passwordFile = \"/run/secrets/my-password\"; }];\n    };\n  };\n\n  # WiFi 5 (5GHz) with two advertised networks\n  wlp3s0 = {\n    band = \"5g\";\n    channel = 0; # Enable automatic channel selection (ACS). Use only if your hardware supports it.\n    # countryCode = \"US\";\n    networks.wlp3s0 = {\n      ssid = \"My AP\";\n      authentication.saePasswords = [{ passwordFile = \"/run/secrets/my-password\"; }];\n    };\n    networks.wlp3s0-1 = {\n      ssid = \"Open AP with WiFi5\";\n      authentication.mode = \"none\";\n    };\n  };\n\n  # Legacy WPA2 example\n  wlp4s0 = {\n    # countryCode = \"US\";\n    networks.wlp4s0 = {\n      ssid = \"AP 2\";\n      authentication = {\n        mode = \"wpa2-sha256\";\n        wpaPassword = \"a flakey password\"; # Use wpaPasswordFile if possible.\n      };\n    };\n  };\n}\n"}, "loc": ["services", "hostapd", "radios"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.hostapd.radios.<name>.band": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"2g\""}, "description": "Specifies the frequency band to use, possible values are 2g for 2.4 GHz,\n5g for 5 GHz, 6g for 6 GHz and 60g for 60 GHz.\n", "loc": ["services", "hostapd", "radios", "<name>", "band"], "readOnly": false, "type": "one of \"2g\", \"5g\", \"6g\", \"60g\""}, "services.hostapd.radios.<name>.channel": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The channel to operate on. Use 0 to enable ACS (Automatic Channel Selection).\nBeware that not every device supports ACS in which case {command}`hostapd`\nwill fail to start.\n", "example": {"_type": "literalExpression", "text": "11"}, "loc": ["services", "hostapd", "radios", "<name>", "channel"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.hostapd.radios.<name>.countryCode": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Country code (ISO/IEC 3166-1). Used to set regulatory domain.\nSet as needed to indicate country in which device is operating.\nThis can limit available channels and transmit power.\nThese two octets are used as the first two octets of the Country String\n(dot11CountryString).\n\nSetting this will force you to also enable IEEE 802.11d and IEEE 802.11h.\n\nIEEE 802.11d: This advertises the countryCode and the set of allowed channels\nand transmit power levels based on the regulatory limits.\n\nIEEE802.11h: This enables radar detection and DFS (Dynamic Frequency Selection)\nsupport if available. DFS support is required on outdoor 5 GHz channels in most\ncountries of the world.\n", "example": {"_type": "literalExpression", "text": "\"US\""}, "loc": ["services", "hostapd", "radios", "<name>", "countryCode"], "readOnly": false, "type": "null or string"}, "services.hostapd.radios.<name>.driver": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"nl80211\""}, "description": "The driver {command}`hostapd` will use.\n{var}`nl80211` is used with all Linux mac80211 drivers.\n{var}`none` is used if building a standalone RADIUS server that does\nnot control any wireless/wired driver.\nMost applications will probably use the default.\n", "example": {"_type": "literalExpression", "text": "\"none\""}, "loc": ["services", "hostapd", "radios", "<name>", "driver"], "readOnly": false, "type": "string"}, "services.hostapd.radios.<name>.dynamicConfigScripts": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All of these scripts will be executed in lexicographical order before hostapd\nis started, right after the global segment was generated and may dynamically\nappend global options the generated configuration file.\n\nThe first argument will point to the configuration file that you may append to.\n", "example": {"_type": "literalExpression", "text": "{\n  exampleDynamicConfig = pkgs.writeShellScript \"dynamic-config\" ''\n    HOSTAPD_CONFIG=$1\n\n    cat >> \"$HOSTAPD_CONFIG\" << EOF\n    # Add some dynamically generated statements here,\n    # for example based on the physical adapter in use\n    EOF\n  '';\n}\n"}, "loc": ["services", "hostapd", "radios", "<name>", "dynamicConfigScripts"], "readOnly": false, "type": "attribute set of absolute path"}, "services.hostapd.radios.<name>.networks": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This defines a BSS, colloquially known as a WiFi network.\nYou have to specify at least one.\n", "example": {"_type": "literalExpression", "text": "{\n  wlp2s0 = {\n    ssid = \"Primary advertised network\";\n    authentication.saePasswords = [{ passwordFile = \"/run/secrets/my-password\"; }];\n  };\n  wlp2s0-1 = {\n    ssid = \"Secondary advertised network (Open)\";\n    authentication.mode = \"none\";\n  };\n}\n"}, "loc": ["services", "hostapd", "radios", "<name>", "networks"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.hostapd.radios.<name>.networks.<name>.apIsolate": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Isolate traffic between stations (clients) and prevent them from\ncommunicating with each other.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "apIsolate"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.networks.<name>.authentication.enableRecommendedPairwiseCiphers": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Additionally enable the recommended set of pairwise ciphers.\nThis enables newer secure ciphers, additionally to those defined in {option}`pairwiseCiphers`.\nYou will have to test whether your hardware supports these by trial-and-error, because\neven if `iw list` indicates hardware support, your driver might not expose it.\n\nBeware {command}`hostapd` will most likely not return a useful error message in case\nthis is enabled despite the driver or hardware not supporting the newer ciphers.\nLook out for messages like `Failed to set beacon parameters`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "enableRecommendedPairwiseCiphers"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.networks.<name>.authentication.mode": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"wpa3-sae\""}, "description": "Selects the authentication mode for this AP.\n\n- {var}`\"none\"`: Don't configure any authentication. This will disable wpa alltogether\n  and create an open AP. Use {option}`settings` together with this option if you\n  want to configure the authentication manually. Any password options will still be\n  effective, if set.\n- {var}`\"wpa2-sha1\"`: Not recommended. WPA2-Personal using HMAC-SHA1. Passwords are set\n  using {option}`wpaPassword` or preferably by {option}`wpaPasswordFile` or {option}`wpaPskFile`.\n- {var}`\"wpa2-sha256\"`: WPA2-Personal using HMAC-SHA256 (IEEE 802.11i/RSN). Passwords are set\n  using {option}`wpaPassword` or preferably by {option}`wpaPasswordFile` or {option}`wpaPskFile`.\n- {var}`\"wpa3-sae-transition\"`: Use WPA3-Personal (SAE) if possible, otherwise fallback\n  to WPA2-SHA256. Only use if necessary and switch to the newer WPA3-SAE when possible.\n  You will have to specify both {option}`wpaPassword` and {option}`saePasswords` (or one of their alternatives).\n- {var}`\"wpa3-sae\"`: Use WPA3-Personal (SAE). This is currently the recommended way to\n  setup a secured WiFi AP (as of March 2023) and therefore the default. Passwords are set\n  using either {option}`saePasswords` or {option}`saePasswordsFile`.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "mode"], "readOnly": false, "type": "one of \"none\", \"wpa2-sha1\", \"wpa2-sha256\", \"wpa3-sae-transition\", \"wpa3-sae\""}, "services.hostapd.radios.<name>.networks.<name>.authentication.pairwiseCiphers": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"CCMP\"\n]"}, "description": "Set of accepted cipher suites (encryption algorithms) for pairwise keys (unicast packets).\nBy default this allows just CCMP, which is the only commonly supported secure option.\nUse {option}`enableRecommendedPairwiseCiphers` to also enable newer recommended ciphers.\n\nPlease refer to the hostapd documentation for allowed values. Generally, only\nCCMP or GCMP modes should be considered safe options. Most devices support CCMP while\nGCMP and GCMP-256 is often only available with devices supporting WiFi 5 (IEEE 802.11ac) or higher.\nCCMP-256 support is rare.\n", "example": {"_type": "literalExpression", "text": "[\n  \"GCMP\"\n  \"GCMP-256\"\n]"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "pairwiseCiphers"], "readOnly": false, "type": "list of string"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saeAddToMacAllow": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If set, all sae password entries that have a non-wildcard MAC associated to\nthem will additionally be used to populate the MAC allow list. This is\nadditional to any entries set via {option}`macAllow` or {option}`macAllowFile`.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saeAddToMacAllow"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswords": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Sets allowed passwords for WPA3-SAE.\n\nThe last matching (based on peer MAC address and identifier) entry is used to\nselect which password to use. An empty string has the special meaning of\nremoving all previously added entries.\n\nWarning: These entries will get put into a world-readable file in\nthe Nix store! Using {option}`saePasswordFile` instead is recommended.\n\nNot used when {option}`mode` is {var}`\"wpa2-sha1\"` or {var}`\"wpa2-sha256\"`.\n", "example": {"_type": "literalExpression", "text": "[\n  # Any client may use these passwords\n  { password = \"Wi-Figure it out\"; }\n  { passwordFile = \"/run/secrets/my-password-file\"; mac = \"ff:ff:ff:ff:ff:ff\"; }\n\n  # Only the client with MAC-address 11:22:33:44:55:66 can use this password\n  { password = \"sekret pazzword\"; mac = \"11:22:33:44:55:66\"; }\n]\n"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswords"], "readOnly": false, "type": "list of (submodule)"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswords.*.id": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If this attribute is given with non-zero length, it will set the password identifier\nfor this entry. It can then only be used with that identifier.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswords", "*", "id"], "readOnly": false, "type": "null or string"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswords.*.mac": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If this attribute is not included, or if is set to the wildcard address (`ff:ff:ff:ff:ff:ff`),\nthe entry is available for any station (client) to use. If a specific peer MAC address is included,\nonly a station with that MAC address is allowed to use the entry.\n", "example": {"_type": "literalExpression", "text": "\"11:22:33:44:55:66\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswords", "*", "mac"], "readOnly": false, "type": "null or string"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswords.*.password": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The password for this entry. SAE technically imposes no restrictions on\npassword length or character set. But due to limitations of {command}`hostapd`'s\nconfig file format, a true newline character cannot be parsed.\n\nWarning: This password will get put into a world-readable file in\nthe Nix store! Prefer using the sibling option {option}`passwordFile` or directly set {option}`saePasswordsFile`.\n", "example": {"_type": "literalExpression", "text": "\"a flakey password\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswords", "*", "password"], "readOnly": false, "type": "null or string"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswords.*.passwordFile": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The password for this entry, read from the given file when starting hostapd.\nSAE technically imposes no restrictions on password length or character set.\nBut due to limitations of {command}`hostapd`'s config file format, a true newline\ncharacter cannot be parsed.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswords", "*", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswords.*.pk": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If this attribute is given, SAE-PK will be enabled for this connection.\nThis prevents evil-twin attacks, but a public key is required additionally to connect.\n(Essentially adds pubkey authentication such that the client can verify identity of the AP)\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswords", "*", "pk"], "readOnly": false, "type": "null or string"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswords.*.vlanid": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If this attribute is given, all clients using this entry will get tagged with the given VLAN ID.", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswords", "*", "vlanid"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "services.hostapd.radios.<name>.networks.<name>.authentication.saePasswordsFile": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the password for WPA3-SAE. Follows the same rules as {option}`saePasswords`,\nbut reads the entries from the given file to prevent them from being\nput into the Nix store.\n\nOne entry per line, empty lines and lines beginning with # will be ignored.\nEach line must match the following format, although the order of optional\nparameters doesn't matter:\n`<password>[|mac=<peer mac>][|vlanid=<VLAN ID>][|pk=<m:ECPrivateKey-base64>][|id=<identifier>]`\n\nNot used when {option}`mode` is {var}`\"wpa2-sha1\"` or {var}`\"wpa2-sha256\"`.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "saePasswordsFile"], "readOnly": false, "type": "null or absolute path"}, "services.hostapd.radios.<name>.networks.<name>.authentication.wpaPassword": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the password for WPA-PSK that will be converted to the pre-shared key.\nThe password length must be in the range [8, 63] characters. While some devices\nmay allow arbitrary characters (such as UTF-8) to be used, but the standard specifies\nthat each character in the passphrase must be an ASCII character in the range [0x20, 0x7e]\n(IEEE Std. 802.11i-2004, Annex H.4.1). Use emojis at your own risk.\n\nNot used when {option}`mode` is {var}`\"wpa3-sae\"`.\n\nWarning: This password will get put into a world-readable file in the Nix store!\nUsing {option}`wpaPasswordFile` or {option}`wpaPskFile` instead is recommended.\n", "example": {"_type": "literalExpression", "text": "\"a flakey password\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "wpaPassword"], "readOnly": false, "type": "null or string"}, "services.hostapd.radios.<name>.networks.<name>.authentication.wpaPasswordFile": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the password for WPA-PSK. Follows the same rules as {option}`wpaPassword`,\nbut reads the password from the given file to prevent the password from being\nput into the Nix store.\n\nNot used when {option}`mode` is {var}`\"wpa3-sae\"`.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "wpaPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.hostapd.radios.<name>.networks.<name>.authentication.wpaPskFile": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the password(s) for WPA-PSK. Similar to {option}`wpaPasswordFile`,\nbut additionally allows specifying multiple passwords, and some other options.\n\nEach line, except for empty lines and lines starting with #, must contain a\nMAC address and either a 64-hex-digit PSK or a password separated with a space.\nThe password must follow the same rules as outlined in {option}`wpaPassword`.\nThe special MAC address `00:00:00:00:00:00` can be used to configure PSKs\nthat any client can use.\n\nAn optional key identifier can be added by prefixing the line with `keyid=<keyid_string>`\nAn optional VLAN ID can be specified by prefixing the line with `vlanid=<VLAN ID>`.\nAn optional WPS tag can be added by prefixing the line with `wps=<0/1>` (default: 0).\nAny matching entry with that tag will be used when generating a PSK for a WPS Enrollee\ninstead of generating a new random per-Enrollee PSK.\n\nNot used when {option}`mode` is {var}`\"wpa3-sae\"`.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "authentication", "wpaPskFile"], "readOnly": false, "type": "null or absolute path"}, "services.hostapd.radios.<name>.networks.<name>.bssid": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the BSSID for this BSS. Usually determined automatically,\nbut for now you have to manually specify them when using multiple BSS.\nTry assigning related addresses from the locally administered MAC address ranges,\nby reusing the hardware address but replacing the second nibble with 2, 6, A or E.\n(e.g. if real address is `XX:XX:XX:XX:XX`, try `X2:XX:XX:XX:XX:XX`, `X6:XX:XX:XX:XX:XX`, ...\nfor the second, third, ... BSS)\n", "example": {"_type": "literalExpression", "text": "\"11:22:33:44:55:66\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "bssid"], "readOnly": false, "type": "null or string"}, "services.hostapd.radios.<name>.networks.<name>.dynamicConfigScripts": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "All of these scripts will be executed in lexicographical order before hostapd\nis started, right after the bss segment was generated and may dynamically\nappend bss options to the generated configuration file.\n\nThe first argument will point to the configuration file that you may append to.\nThe second and third argument will point to this BSS's MAC allow and MAC deny file respectively.\n", "example": {"_type": "literalExpression", "text": "{\n  exampleDynamicConfig = pkgs.writeShellScript \"dynamic-config\" ''\n    HOSTAPD_CONFIG=$1\n    # These always exist, but may or may not be used depending on the actual configuration\n    MAC_ALLOW_FILE=$2\n    MAC_DENY_FILE=$3\n\n    cat >> \"$HOSTAPD_CONFIG\" << EOF\n    # Add some dynamically generated statements here\n    EOF\n  '';\n}\n"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "dynamicConfigScripts"], "readOnly": false, "type": "attribute set of absolute path"}, "services.hostapd.radios.<name>.networks.<name>.group": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"wheel\""}, "description": "Members of this group can access the control socket for this interface.\n", "example": {"_type": "literalExpression", "text": "\"network\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "group"], "readOnly": false, "type": "string"}, "services.hostapd.radios.<name>.networks.<name>.ignoreBroadcastSsid": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"disabled\""}, "description": "Send empty SSID in beacons and ignore probe request frames that do not\nspecify full SSID, i.e., require stations to know SSID. Note that this does\nnot increase security, since your clients will then broadcast the SSID instead,\nwhich can increase congestion.\n\n- {var}`\"disabled\"`: Advertise ssid normally.\n- {var}`\"empty\"`: send empty (length=0) SSID in beacon and ignore probe request for broadcast SSID\n- {var}`\"clear\"`: clear SSID (ASCII 0), but keep the original length (this may be required with some\n  legacy clients that do not support empty SSID) and ignore probe requests for broadcast SSID. Only\n  use this if empty does not work with your clients.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "ignoreBroadcastSsid"], "readOnly": false, "type": "one of \"disabled\", \"empty\", \"clear\""}, "services.hostapd.radios.<name>.networks.<name>.logLevel": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "Levels (minimum value for logged events):\n0 = verbose debugging\n1 = debugging\n2 = informational messages\n3 = notification\n4 = warning\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "logLevel"], "readOnly": false, "type": "integer between 0 and 4 (both inclusive)"}, "services.hostapd.radios.<name>.networks.<name>.macAcl": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"deny\""}, "description": "Station MAC address -based authentication. The following modes are available:\n\n- {var}`\"deny\"`: Allow unless listed in {option}`macDeny` (default)\n- {var}`\"allow\"`: Deny unless listed in {option}`macAllow`\n- {var}`\"radius\"`: Use external radius server, but check both {option}`macAllow` and {option}`macDeny` first\n\nPlease note that this kind of access control requires a driver that uses\nhostapd to take care of management frame processing and as such, this can be\nused with driver=hostap or driver=nl80211, but not with driver=atheros.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "macAcl"], "readOnly": false, "type": "one of \"deny\", \"allow\", \"radius\""}, "services.hostapd.radios.<name>.networks.<name>.macAllow": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies the MAC addresses to allow if {option}`macAcl` is set to {var}`\"allow\"` or {var}`\"radius\"`.\nThese values will be world-readable in the Nix store. Values will automatically be merged with\n{option}`macAllowFile` if necessary.\n", "example": {"_type": "literalExpression", "text": "[\n  \"11:22:33:44:55:66\"\n]"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "macAllow"], "readOnly": false, "type": "list of string"}, "services.hostapd.radios.<name>.networks.<name>.macAllowFile": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies a file containing the MAC addresses to allow if {option}`macAcl` is set to {var}`\"allow\"` or {var}`\"radius\"`.\nThe file should contain exactly one MAC address per line. Comments and empty lines are ignored,\nonly lines starting with a valid MAC address will be considered (e.g. `11:22:33:44:55:66`) and\nany content after the MAC address is ignored.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "macAllowFile"], "readOnly": false, "type": "null or absolute path"}, "services.hostapd.radios.<name>.networks.<name>.macDeny": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies the MAC addresses to deny if {option}`macAcl` is set to {var}`\"deny\"` or {var}`\"radius\"`.\nThese values will be world-readable in the Nix store. Values will automatically be merged with\n{option}`macDenyFile` if necessary.\n", "example": {"_type": "literalExpression", "text": "[\n  \"11:22:33:44:55:66\"\n]"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "macDeny"], "readOnly": false, "type": "list of string"}, "services.hostapd.radios.<name>.networks.<name>.macDenyFile": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies a file containing the MAC addresses to deny if {option}`macAcl` is set to {var}`\"deny\"` or {var}`\"radius\"`.\nThe file should contain exactly one MAC address per line. Comments and empty lines are ignored,\nonly lines starting with a valid MAC address will be considered (e.g. `11:22:33:44:55:66`) and\nany content after the MAC address is ignored.\n", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "macDenyFile"], "readOnly": false, "type": "null or absolute path"}, "services.hostapd.radios.<name>.networks.<name>.settings": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options to put at the end of this BSS's defintion in the\nhostapd.conf for the associated interface. To find out which options are global\nand which are per-bss you have to read hostapd's source code, which is non-trivial\nand not documented otherwise.\n\nLists will be converted to multiple definitions of the same key, and booleans to 0/1.\nOtherwise, the inputs are not modified or checked for correctness.\n", "example": {"_type": "literalExpression", "text": "{\n  multi_ap = true;\n}"}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "settings"], "readOnly": false, "type": "open submodule of attribute set of (atom (bool, int or string) or a list of them for duplicate keys)"}, "services.hostapd.radios.<name>.networks.<name>.ssid": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "description": "SSID to be used in IEEE 802.11 management frames.", "example": {"_type": "literalExpression", "text": "\"\u2744\ufe0f cool \u2744\ufe0f\""}, "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "ssid"], "readOnly": false, "type": "string"}, "services.hostapd.radios.<name>.networks.<name>.utf8Ssid": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the SSID is to be interpreted using UTF-8 encoding.", "loc": ["services", "hostapd", "radios", "<name>", "networks", "<name>", "utf8Ssid"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.noScan": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disables scan for overlapping BSSs in HT40+/- mode.\nCaution: turning this on will likely violate regulatory requirements!\n", "loc": ["services", "hostapd", "radios", "<name>", "noScan"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.settings": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options to put at the end of global initialization, before defining BSSs.\nTo find out which options are global and which are per-bss you have to read hostapd's source code,\nwhich is non-trivial and not documented otherwise.\n\nLists will be converted to multiple definitions of the same key, and booleans to 0/1.\nOtherwise, the inputs are not modified or checked for correctness.\n", "example": {"_type": "literalExpression", "text": "{\n  acs_exclude_dfs = true;\n}"}, "loc": ["services", "hostapd", "radios", "<name>", "settings"], "readOnly": false, "type": "open submodule of attribute set of (atom (bool, int or string) or a list of them for duplicate keys)"}, "services.hostapd.radios.<name>.wifi4.capabilities": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"HT40\"\n  \"SHORT-GI-20\"\n  \"SHORT-GI-40\"\n]"}, "description": "HT (High Throughput) capabilities given as a list of flags.\nPlease refer to the hostapd documentation for allowed values and\nonly set values supported by your physical adapter.\n\nThe default contains common values supported by most adapters.\n", "example": {"_type": "literalExpression", "text": "[\n  \"LDPC\"\n  \"HT40+\"\n  \"HT40-\"\n  \"GF\"\n  \"SHORT-GI-20\"\n  \"SHORT-GI-40\"\n  \"TX-STBC\"\n  \"RX-STBC1\"\n]"}, "loc": ["services", "hostapd", "radios", "<name>", "wifi4", "capabilities"], "readOnly": false, "type": "list of string"}, "services.hostapd.radios.<name>.wifi4.enable": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables support for IEEE 802.11n (WiFi 4, HT).\nThis is enabled by default, since the vase majority of devices\nare expected to support this.\n", "loc": ["services", "hostapd", "radios", "<name>", "wifi4", "enable"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi4.require": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Require stations (clients) to support WiFi 4 (HT) and disassociate them if they don't.", "loc": ["services", "hostapd", "radios", "<name>", "wifi4", "require"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi5.capabilities": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "VHT (Very High Throughput) capabilities given as a list of flags.\nPlease refer to the hostapd documentation for allowed values and\nonly set values supported by your physical adapter.\n", "example": {"_type": "literalExpression", "text": "[\n  \"SHORT-GI-80\"\n  \"TX-STBC-2BY1\"\n  \"RX-STBC-1\"\n  \"RX-ANTENNA-PATTERN\"\n  \"TX-ANTENNA-PATTERN\"\n]"}, "loc": ["services", "hostapd", "radios", "<name>", "wifi5", "capabilities"], "readOnly": false, "type": "list of string"}, "services.hostapd.radios.<name>.wifi5.enable": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables support for IEEE 802.11ac (WiFi 5, VHT)", "loc": ["services", "hostapd", "radios", "<name>", "wifi5", "enable"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi5.operatingChannelWidth": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"20or40\""}, "description": "Determines the operating channel width for VHT.\n\n- {var}`\"20or40\"`: 20 or 40 MHz operating channel width\n- {var}`\"80\"`: 80 MHz channel width\n- {var}`\"160\"`: 160 MHz channel width\n- {var}`\"80+80\"`: 80+80 MHz channel width\n", "loc": ["services", "hostapd", "radios", "<name>", "wifi5", "operatingChannelWidth"], "readOnly": false, "type": "one of \"20or40\", \"80\", \"160\", \"80+80\""}, "services.hostapd.radios.<name>.wifi5.require": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Require stations (clients) to support WiFi 5 (VHT) and disassociate them if they don't.", "loc": ["services", "hostapd", "radios", "<name>", "wifi5", "require"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi6.enable": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables support for IEEE 802.11ax (WiFi 6, HE)", "loc": ["services", "hostapd", "radios", "<name>", "wifi6", "enable"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi6.multiUserBeamformer": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "HE multi user beamformee support", "loc": ["services", "hostapd", "radios", "<name>", "wifi6", "multiUserBeamformer"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi6.operatingChannelWidth": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"20or40\""}, "description": "Determines the operating channel width for HE.\n\n- {var}`\"20or40\"`: 20 or 40 MHz operating channel width\n- {var}`\"80\"`: 80 MHz channel width\n- {var}`\"160\"`: 160 MHz channel width\n- {var}`\"80+80\"`: 80+80 MHz channel width\n", "loc": ["services", "hostapd", "radios", "<name>", "wifi6", "operatingChannelWidth"], "readOnly": false, "type": "one of \"20or40\", \"80\", \"160\", \"80+80\""}, "services.hostapd.radios.<name>.wifi6.require": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Require stations (clients) to support WiFi 6 (HE) and disassociate them if they don't.", "loc": ["services", "hostapd", "radios", "<name>", "wifi6", "require"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi6.singleUserBeamformee": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "HE single user beamformee support", "loc": ["services", "hostapd", "radios", "<name>", "wifi6", "singleUserBeamformee"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi6.singleUserBeamformer": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "HE single user beamformer support", "loc": ["services", "hostapd", "radios", "<name>", "wifi6", "singleUserBeamformer"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi7.enable": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables support for IEEE 802.11be (WiFi 7, EHT). This is currently experimental\nand requires you to manually enable CONFIG_IEEE80211BE when building hostapd.\n", "loc": ["services", "hostapd", "radios", "<name>", "wifi7", "enable"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi7.multiUserBeamformer": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "EHT multi user beamformee support", "loc": ["services", "hostapd", "radios", "<name>", "wifi7", "multiUserBeamformer"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi7.operatingChannelWidth": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "\"20or40\""}, "description": "Determines the operating channel width for EHT.\n\n- {var}`\"20or40\"`: 20 or 40 MHz operating channel width\n- {var}`\"80\"`: 80 MHz channel width\n- {var}`\"160\"`: 160 MHz channel width\n- {var}`\"80+80\"`: 80+80 MHz channel width\n", "loc": ["services", "hostapd", "radios", "<name>", "wifi7", "operatingChannelWidth"], "readOnly": false, "type": "one of \"20or40\", \"80\", \"160\", \"80+80\""}, "services.hostapd.radios.<name>.wifi7.singleUserBeamformee": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "EHT single user beamformee support", "loc": ["services", "hostapd", "radios", "<name>", "wifi7", "singleUserBeamformee"], "readOnly": false, "type": "boolean"}, "services.hostapd.radios.<name>.wifi7.singleUserBeamformer": {"declarations": ["nixos/modules/services/networking/hostapd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "EHT single user beamformer support", "loc": ["services", "hostapd", "radios", "<name>", "wifi7", "singleUserBeamformer"], "readOnly": false, "type": "boolean"}, "services.hound.enable": {"declarations": ["nixos/modules/services/search/hound.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hound.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hound", "enable"], "readOnly": false, "type": "boolean"}, "services.hound.group": {"declarations": ["nixos/modules/services/search/hound.nix"], "default": {"_type": "literalExpression", "text": "\"hound\""}, "description": "Group the hound daemon should execute under.\n", "loc": ["services", "hound", "group"], "readOnly": false, "type": "string"}, "services.hound.home": {"declarations": ["nixos/modules/services/search/hound.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/hound\""}, "description": "The path to use as hound's $HOME.\nIf the default user \"hound\" is configured then this is the home of the \"hound\" user.\n", "loc": ["services", "hound", "home"], "readOnly": false, "type": "absolute path"}, "services.hound.listen": {"declarations": ["nixos/modules/services/search/hound.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0:6080\""}, "description": "Listen on this [IP]:port\n", "example": {"_type": "literalExpression", "text": "\":6080\""}, "loc": ["services", "hound", "listen"], "readOnly": false, "type": "string"}, "services.hound.package": {"declarations": ["nixos/modules/services/search/hound.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hound"}, "description": "The hound package to use.", "loc": ["services", "hound", "package"], "readOnly": false, "type": "package"}, "services.hound.settings": {"declarations": ["nixos/modules/services/search/hound.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The full configuration of the Hound daemon.\nSee the upstream documentation <https://github.com/hound-search/hound/blob/main/docs/config-options.md> for details.\n\n:::{.note}\nThe `dbpath` should be an absolute path to a writable directory.\n:::.com/hound-search/hound/blob/main/docs/config-options.md>.\n", "example": {"_type": "literalExpression", "text": "{\n  max-concurrent-indexers = 2;\n  repos.nixpkgs.url = \"https://www.github.com/NixOS/nixpkgs.git\";\n}\n"}, "loc": ["services", "hound", "settings"], "readOnly": false, "type": "JSON value"}, "services.hound.user": {"declarations": ["nixos/modules/services/search/hound.nix"], "default": {"_type": "literalExpression", "text": "\"hound\""}, "description": "User the hound daemon should execute under.\n", "loc": ["services", "hound", "user"], "readOnly": false, "type": "string"}, "services.howdy.control": {"declarations": ["nixos/modules/services/security/howdy"], "default": {"_type": "literalExpression", "text": "\"required\""}, "description": "PAM control flag to use for Howdy.\n\nSets the {option}`security.pam.howdy.control` option.\n\nRefer to {manpage}`pam.conf(5)` for options.\n", "loc": ["services", "howdy", "control"], "readOnly": false, "type": "string"}, "services.howdy.enable": {"declarations": ["nixos/modules/services/security/howdy"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Howdy and its PAM module for face recognition. See\n`services.linux-enable-ir-emitter` for enabling the IR emitter support.\n\n::: {.caution}\nHowdy is not a safe alternative to unlocking with your password. It\ncan be fooled using a well-printed photo.\n\nDo **not** use it as the sole authentication method for your system.\n:::\n\n::: {.note}\nBy default, the {option}`config.services.howdy.control` option is set\nto `\"required\"`, meaning it will act as a second-factor authentication\nin most services. To change this, set the option to `\"sufficient\"`.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "howdy", "enable"], "readOnly": false, "type": "boolean"}, "services.howdy.package": {"declarations": ["nixos/modules/services/security/howdy"], "default": {"_type": "literalExpression", "text": "pkgs.howdy"}, "description": "The howdy package to use.", "loc": ["services", "howdy", "package"], "readOnly": false, "type": "package"}, "services.howdy.settings": {"declarations": ["nixos/modules/services/security/howdy"], "default": {"_type": "literalExpression", "text": "{\n  core = {\n    abort_if_lid_closed = true;\n    abort_if_ssh = true;\n    detection_notice = false;\n    disabled = false;\n    no_confirmation = false;\n    suppress_unknown = false;\n    timeout_notice = true;\n    use_cnn = false;\n    workaround = \"off\";\n  };\n  debug = {\n    end_report = false;\n    gtk_stdout = false;\n    verbose_stamps = false;\n  };\n  rubberstamps = {\n    enabled = false;\n    stamp_rules = \"nod\t\t5s\t\tfailsafe     min_distance=12\";\n  };\n  snapshots = {\n    save_failed = false;\n    save_successful = false;\n  };\n  video = {\n    certainty = 3.5;\n    dark_threshold = 60;\n    device_format = \"v4l2\";\n    device_fps = -1;\n    device_path = \"/dev/video2\";\n    exposure = -1;\n    force_mjpeg = false;\n    frame_height = -1;\n    frame_width = -1;\n    max_height = 320;\n    recording_plugin = \"opencv\";\n    rotate = 0;\n    timeout = 4;\n    warn_no_device = true;\n  };\n}"}, "description": "Howdy configuration file. Refer to\n<https://github.com/boltgolt/howdy/blob/d3ab99382f88f043d15f15c1450ab69433892a1c/howdy/src/config.ini>\nfor options.\n", "loc": ["services", "howdy", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.hqplayerd.auth.password": {"declarations": ["nixos/modules/services/audio/hqplayerd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password used for HQPlayer's WebUI.\n\nWithout this you will need to manually create the credentials after\nfirst start by going to http://your.ip/8088/auth\n", "loc": ["services", "hqplayerd", "auth", "password"], "readOnly": false, "type": "null or string"}, "services.hqplayerd.auth.username": {"declarations": ["nixos/modules/services/audio/hqplayerd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username used for HQPlayer's WebUI.\n\nWithout this you will need to manually create the credentials after\nfirst start by going to http://your.ip/8088/auth\n", "loc": ["services", "hqplayerd", "auth", "username"], "readOnly": false, "type": "null or string"}, "services.hqplayerd.config": {"declarations": ["nixos/modules/services/audio/hqplayerd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "HQplayer daemon configuration, written to /etc/hqplayer/hqplayerd.xml.\n\nRefer to share/doc/hqplayerd/readme.txt in the hqplayerd derivation for possible values.\n", "loc": ["services", "hqplayerd", "config"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.hqplayerd.enable": {"declarations": ["nixos/modules/services/audio/hqplayerd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HQPlayer Embedded.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hqplayerd", "enable"], "readOnly": false, "type": "boolean"}, "services.hqplayerd.licenseFile": {"declarations": ["nixos/modules/services/audio/hqplayerd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the HQPlayer license key file.\n\nWithout this, the service will run in trial mode and restart every 30\nminutes.\n", "loc": ["services", "hqplayerd", "licenseFile"], "readOnly": false, "type": "null or absolute path"}, "services.hqplayerd.openFirewall": {"declarations": ["nixos/modules/services/audio/hqplayerd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Opens ports needed for the WebUI and controller API.\n", "loc": ["services", "hqplayerd", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.htpdate.enable": {"declarations": ["nixos/modules/services/networking/htpdate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable htpdate daemon.\n", "loc": ["services", "htpdate", "enable"], "readOnly": false, "type": "boolean"}, "services.htpdate.extraOptions": {"declarations": ["nixos/modules/services/networking/htpdate.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional command line arguments to pass to htpdate.\n", "loc": ["services", "htpdate", "extraOptions"], "readOnly": false, "type": "string"}, "services.htpdate.proxy": {"declarations": ["nixos/modules/services/networking/htpdate.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "HTTP proxy used for requests.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:8118\""}, "loc": ["services", "htpdate", "proxy"], "readOnly": false, "type": "string"}, "services.htpdate.servers": {"declarations": ["nixos/modules/services/networking/htpdate.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"www.google.com\"\n]"}, "description": "HTTP servers to use for time synchronization.\n", "loc": ["services", "htpdate", "servers"], "readOnly": false, "type": "list of string"}, "services.httpd.adminAddr": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "E-mail address of the server administrator.", "example": {"_type": "literalExpression", "text": "\"admin@example.org\""}, "loc": ["services", "httpd", "adminAddr"], "readOnly": false, "type": "null or string"}, "services.httpd.configFile": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "confFile"}, "description": "Override the configuration file used by Apache. By default,\nNixOS generates one automatically.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"httpd.conf\" \"# my custom config file ...\""}, "loc": ["services", "httpd", "configFile"], "readOnly": false, "type": "absolute path"}, "services.httpd.customLogFormat": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Defines a custom Apache HTTPD access log format string.\n\nThis option is only consulted when `logFormat` is set to `custom`.\nThe value must be a valid Apache `LogFormat` specification and will be registered under the symbolic name `custom`.\n\nSee <https://httpd.apache.org/docs/2.4/logs.html#formats> for the formal definition of log format directives.\n", "example": {"_type": "literalExpression", "text": "\"%{X-Forwarded-For}i %l %u %t \\\\\\\"%r\\\\\\\" %>s %b\""}, "loc": ["services", "httpd", "customLogFormat"], "readOnly": false, "type": "string"}, "services.httpd.enable": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Apache HTTP Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "httpd", "enable"], "readOnly": false, "type": "boolean"}, "services.httpd.enableMellon": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the mod_auth_mellon module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "httpd", "enableMellon"], "readOnly": false, "type": "boolean"}, "services.httpd.enablePHP": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the PHP module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "httpd", "enablePHP"], "readOnly": false, "type": "boolean"}, "services.httpd.enablePerl": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Perl module (mod_perl).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "httpd", "enablePerl"], "readOnly": false, "type": "boolean"}, "services.httpd.extraConfig": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configuration lines appended to the generated Apache\nconfiguration file. Note that this mechanism will not work\nwhen {option}`configFile` is overridden.\n", "loc": ["services", "httpd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.httpd.extraModules": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional Apache modules to be used. These can be\nspecified as a string in the case of modules distributed\nwith Apache, or as an attribute set specifying the\n{var}`name` and {var}`path` of the\nmodule.\n", "example": {"_type": "literalExpression", "text": "[\n  \"proxy_connect\"\n  { name = \"jk\"; path = \"${pkgs.apacheHttpdPackages.mod_jk}/modules/mod_jk.so\"; }\n]\n"}, "loc": ["services", "httpd", "extraModules"], "readOnly": false, "type": "list of unspecified value"}, "services.httpd.group": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"wwwrun\""}, "description": "Group under which httpd children processes run.\n", "loc": ["services", "httpd", "group"], "readOnly": false, "type": "string"}, "services.httpd.logDir": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/httpd\""}, "description": "Directory for Apache's log files. It is created automatically.\n", "loc": ["services", "httpd", "logDir"], "readOnly": false, "type": "absolute path"}, "services.httpd.logFormat": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"common\""}, "description": "Selects the access log format written to log files.\n\nThe values `combined`, `common`, `referer`, and `agent` correspond to predefined Apache HTTPD log formats.\nSetting the value to `custom` enables the use of a user-defined format string specified via `customLogFormat`.\nThe value `none` disables access logging entirely.\n\nFurther details on Apache log formats are available at <https://httpd.apache.org/docs/2.4/logs.html>.\n", "example": {"_type": "literalExpression", "text": "\"custom\""}, "loc": ["services", "httpd", "logFormat"], "readOnly": false, "type": "one of \"combined\", \"common\", \"referer\", \"agent\", \"custom\", \"none\""}, "services.httpd.logLevel": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Controls the verbosity of the ErrorLog.\nSee <https://httpd.apache.org/docs/2.4/mod/core.html#loglevel> for more details.\n", "example": {"_type": "literalExpression", "text": "\"crit\""}, "loc": ["services", "httpd", "logLevel"], "readOnly": false, "type": "null or one of \"emerg\", \"alert\", \"crit\", \"error\", \"warn\", \"notice\", \"info\", \"debug\", \"trace1\", \"trace2\", \"trace3\", \"trace4\", \"trace5\", \"trace6\", \"trace7\", \"trace8\""}, "services.httpd.logPerVirtualHost": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, each virtual host gets its own\n{file}`access.log` and\n{file}`error.log`, namely suffixed by the\n{option}`hostName` of the virtual host.\n", "loc": ["services", "httpd", "logPerVirtualHost"], "readOnly": false, "type": "boolean"}, "services.httpd.maxClients": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "150"}, "description": "Maximum number of httpd processes (prefork)", "example": {"_type": "literalExpression", "text": "8"}, "loc": ["services", "httpd", "maxClients"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.httpd.maxRequestsPerChild": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited.\n", "example": {"_type": "literalExpression", "text": "500"}, "loc": ["services", "httpd", "maxRequestsPerChild"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.httpd.mpm": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"event\""}, "description": "Multi-processing module to be used by Apache. Available\nmodules are `prefork` (handles each\nrequest in a separate child process), `worker`\n(hybrid approach that starts a number of child processes\neach running a number of threads) and `event`\n(the default; a recent variant of `worker`\nthat handles persistent connections more efficiently).\n", "example": {"_type": "literalExpression", "text": "\"worker\""}, "loc": ["services", "httpd", "mpm"], "readOnly": false, "type": "one of \"event\", \"prefork\", \"worker\""}, "services.httpd.package": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.apacheHttpd"}, "description": "The apacheHttpd package to use.", "loc": ["services", "httpd", "package"], "readOnly": false, "type": "package"}, "services.httpd.phpOptions": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Options appended to the PHP configuration file {file}`php.ini`.\n", "example": {"_type": "literalExpression", "text": "''\n  date.timezone = \"CET\"\n''"}, "loc": ["services", "httpd", "phpOptions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.httpd.phpPackage": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.php"}, "description": "The php package to use.", "loc": ["services", "httpd", "phpPackage"], "readOnly": false, "type": "package"}, "services.httpd.sslCiphers": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"HIGH:!aNULL:!MD5:!EXP\""}, "description": "Cipher Suite available for negotiation in SSL proxy handshake.", "loc": ["services", "httpd", "sslCiphers"], "readOnly": false, "type": "string"}, "services.httpd.sslProtocols": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1\""}, "description": "Allowed SSL/TLS protocol versions.", "example": {"_type": "literalExpression", "text": "\"All -SSLv2 -SSLv3\""}, "loc": ["services", "httpd", "sslProtocols"], "readOnly": false, "type": "string"}, "services.httpd.user": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"wwwrun\""}, "description": "User account under which httpd children processes run.\n\nIf you require the main httpd process to run as\n`root` add the following configuration:\n```\nsystemd.services.httpd.serviceConfig.User = lib.mkForce \"root\";\n```\n", "loc": ["services", "httpd", "user"], "readOnly": false, "type": "string"}, "services.httpd.virtualHosts": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "{\n  localhost = {\n    documentRoot = \"${package.out}/htdocs\";\n  };\n}\n"}, "description": "Specification of the virtual hosts served by Apache. Each\nelement should be an attribute set specifying the\nconfiguration of the virtual host.\n", "example": {"_type": "literalExpression", "text": "{\n  \"foo.example.com\" = {\n    forceSSL = true;\n    documentRoot = \"/var/www/foo.example.com\"\n  };\n  \"bar.example.com\" = {\n    addSSL = true;\n    documentRoot = \"/var/www/bar.example.com\";\n  };\n}\n"}, "loc": ["services", "httpd", "virtualHosts"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.httpd.virtualHosts.<name>.acmeRoot": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.httpd.virtualHosts.<name>.addSSL": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "addSSL"], "readOnly": false, "type": "boolean"}, "services.httpd.virtualHosts.<name>.adminAddr": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "E-mail address of the server administrator.", "example": {"_type": "literalExpression", "text": "\"admin@example.org\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "adminAddr"], "readOnly": false, "type": "null or string"}, "services.httpd.virtualHosts.<name>.documentRoot": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of Apache's document root directory.  If left undefined,\nan empty directory in the Nix store will be used as root.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "documentRoot"], "readOnly": false, "type": "null or absolute path"}, "services.httpd.virtualHosts.<name>.enableACME": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "enableACME"], "readOnly": false, "type": "boolean"}, "services.httpd.virtualHosts.<name>.enableUserDir": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable serving {file}`~/public_html` as\n`/~\u00abusername\u00bb`.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "enableUserDir"], "readOnly": false, "type": "boolean"}, "services.httpd.virtualHosts.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to httpd.conf verbatim. They will go after\ndirectories and directory aliases defined by default.\n", "example": {"_type": "literalExpression", "text": "''\n  <Directory /home>\n    Options FollowSymlinks\n    AllowOverride All\n  </Directory>\n''"}, "loc": ["services", "httpd", "virtualHosts", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.httpd.virtualHosts.<name>.forceSSL": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that permanently redirects (301)\nall plain HTTP traffic to HTTPS. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443), where the non-SSL listens are used for the redirect vhosts.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.httpd.virtualHosts.<name>.globalRedirect": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected permanently to\nthe given URL.\n", "example": {"_type": "literalExpression", "text": "\"http://newserver.example.org/\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.httpd.virtualHosts.<name>.hostName": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Canonical hostname for the server.", "loc": ["services", "httpd", "virtualHosts", "<name>", "hostName"], "readOnly": false, "type": "string"}, "services.httpd.virtualHosts.<name>.http2": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. *However, if you use the prefork mpm, there will\nbe severe restrictions.* Refer to <https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config> for details.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "http2"], "readOnly": false, "type": "boolean"}, "services.httpd.virtualHosts.<name>.listen": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\n\n::: {.note}\nThis option overrides `addSSL`, `forceSSL` and `onlySSL`.\n\nIf you only want to set the addresses manually and not the ports, take a look at `listenAddresses`.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    ip = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    ip = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    ip = \"*\";\n    port = 8080;\n  }\n]"}, "loc": ["services", "httpd", "virtualHosts", "<name>", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.httpd.virtualHosts.<name>.listen.*.ip": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "IP to listen on. 0.0.0.0 for IPv4 only, * for all.", "loc": ["services", "httpd", "virtualHosts", "<name>", "listen", "*", "ip"], "readOnly": false, "type": "string"}, "services.httpd.virtualHosts.<name>.listen.*.port": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "description": "Port to listen on", "loc": ["services", "httpd", "virtualHosts", "<name>", "listen", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.httpd.virtualHosts.<name>.listen.*.ssl": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SSL (https) support.", "loc": ["services", "httpd", "virtualHosts", "<name>", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.httpd.virtualHosts.<name>.listenAddresses": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "loc": ["services", "httpd", "virtualHosts", "<name>", "listenAddresses"], "readOnly": false, "type": "non-empty (list of string)"}, "services.httpd.virtualHosts.<name>.locations": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config. See <https://httpd.apache.org/docs/2.4/mod/core.html#location> for details.\n", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n  \"/foo/bar.png\" = {\n    alias = \"/home/eelco/some-file.png\";\n  };\n};\n"}, "loc": ["services", "httpd", "virtualHosts", "<name>", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.httpd.virtualHosts.<name>.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests. See <https://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias>.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.httpd.virtualHosts.<name>.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.httpd.virtualHosts.<name>.locations.<name>.index": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds DirectoryIndex directive. See <https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex>.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.httpd.virtualHosts.<name>.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.httpd.virtualHosts.<name>.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets up a simple reverse proxy as described by <https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html#simple>.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.httpd.virtualHosts.<name>.logFormat": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"common\""}, "description": "Log format for Apache's log files. Possible values are: combined, common, referer, agent.\n", "example": {"_type": "literalExpression", "text": "\"combined\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "logFormat"], "readOnly": false, "type": "string"}, "services.httpd.virtualHosts.<name>.onlySSL": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.httpd.virtualHosts.<name>.robotsEntries": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Specification of pages to be ignored by web crawlers. See <http://www.robotstxt.org/> for details.\n", "example": {"_type": "literalExpression", "text": "\"Disallow: /foo/\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "robotsEntries"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.httpd.virtualHosts.<name>.servedDirs": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve static directories.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    dir = \"/home/eelco/Dev/nix-homepage\";\n    urlPath = \"/nix\";\n  }\n]"}, "loc": ["services", "httpd", "virtualHosts", "<name>", "servedDirs"], "readOnly": false, "type": "list of (attribute set)"}, "services.httpd.virtualHosts.<name>.servedFiles": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve individual, static files.\n\n::: {.note}\nThis option has been deprecated and will be removed in a future\nversion of NixOS. You can achieve the same result by making use of\nthe `locations.<name>.alias` option.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    file = \"/home/eelco/some-file.png\";\n    urlPath = \"/foo/bar.png\";\n  }\n]"}, "loc": ["services", "httpd", "virtualHosts", "<name>", "servedFiles"], "readOnly": false, "type": "list of (attribute set)"}, "services.httpd.virtualHosts.<name>.serverAliases": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"www.example.org:8080\"\n  \"example.org\"\n]"}, "loc": ["services", "httpd", "virtualHosts", "<name>", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.httpd.virtualHosts.<name>.sslServerCert": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "sslServerCert"], "readOnly": false, "type": "absolute path"}, "services.httpd.virtualHosts.<name>.sslServerChain": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to server SSL chain file.", "example": {"_type": "literalExpression", "text": "\"/var/ca.pem\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "sslServerChain"], "readOnly": false, "type": "null or absolute path"}, "services.httpd.virtualHosts.<name>.sslServerKey": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "httpd", "virtualHosts", "<name>", "sslServerKey"], "readOnly": false, "type": "absolute path"}, "services.httpd.virtualHosts.<name>.useACMEHost": {"declarations": ["nixos/modules/services/web-servers/apache-httpd/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "httpd", "virtualHosts", "<name>", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.https-dns-proxy.address": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The address on which to listen", "loc": ["services", "https-dns-proxy", "address"], "readOnly": false, "type": "string"}, "services.https-dns-proxy.enable": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable https-dns-proxy daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "https-dns-proxy", "enable"], "readOnly": false, "type": "boolean"}, "services.https-dns-proxy.extraArgs": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"-v\"\n]"}, "description": "Additional arguments to pass to the process.", "loc": ["services", "https-dns-proxy", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.https-dns-proxy.port": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "default": {"_type": "literalExpression", "text": "5053"}, "description": "The port on which to listen", "loc": ["services", "https-dns-proxy", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.https-dns-proxy.preferIPv4": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "https_dns_proxy will by default use IPv6 and fail if it is not available.\nTo play it safe, we choose IPv4.\n", "loc": ["services", "https-dns-proxy", "preferIPv4"], "readOnly": false, "type": "boolean"}, "services.https-dns-proxy.provider.ips": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The custom provider IPs", "loc": ["services", "https-dns-proxy", "provider", "ips"], "readOnly": false, "type": "list of string"}, "services.https-dns-proxy.provider.kind": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "default": {"_type": "literalExpression", "text": "\"quad9\""}, "description": "The upstream provider to use or custom in case you do not trust any of\nthe predefined providers or just want to use your own.\n\nThe default is quad9 and there are privacy and security\ntrade-offs when using any upstream provider. Please consider that\nbefore using any of them.\n\nSupported providers: cloudflare, custom, google, opendns, quad9\n\nIf you pick the custom provider, you will need to provide the\nbootstrap IP addresses as well as the resolver https URL.\n", "loc": ["services", "https-dns-proxy", "provider", "kind"], "readOnly": false, "type": "one of \"cloudflare\", \"custom\", \"google\", \"opendns\", \"quad9\""}, "services.https-dns-proxy.provider.url": {"declarations": ["nixos/modules/services/networking/https-dns-proxy.nix"], "description": "The custom provider URL", "loc": ["services", "https-dns-proxy", "provider", "url"], "readOnly": false, "type": "string"}, "services.hydra.buildMachinesFiles": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "lib.optional (config.nix.buildMachines != []) \"/etc/nix/machines\""}, "description": "List of files containing build machines.", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/nix/machines\"\n  \"/var/lib/hydra/provisioner/machines\"\n]"}, "loc": ["services", "hydra", "buildMachinesFiles"], "readOnly": false, "type": "list of absolute path"}, "services.hydra.dbi": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "\"dbi:Pg:dbname=hydra;user=hydra;\""}, "description": "The DBI string for Hydra database connection.\n\nNOTE: Attempts to set `application_name` will be overridden by\n`hydra-TYPE` (where TYPE is e.g. `evaluator`, `queue-runner`,\netc.) in all hydra services to more easily distinguish where\nqueries are coming from.\n", "example": {"_type": "literalExpression", "text": "\"dbi:Pg:dbname=hydra;host=postgres.example.org;user=foo;\""}, "loc": ["services", "hydra", "dbi"], "readOnly": false, "type": "string"}, "services.hydra.debugServer": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run the server in debug mode.", "loc": ["services", "hydra", "debugServer"], "readOnly": false, "type": "boolean"}, "services.hydra.enable": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to run Hydra services.\n", "loc": ["services", "hydra", "enable"], "readOnly": false, "type": "boolean"}, "services.hydra.extraConfig": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "description": "Extra lines for the Hydra configuration.", "loc": ["services", "hydra", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.hydra.extraEnv": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables for Hydra.", "loc": ["services", "hydra", "extraEnv"], "readOnly": false, "type": "attribute set of string"}, "services.hydra.gcRootsDir": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "\"/nix/var/nix/gcroots/hydra\""}, "description": "Directory that holds Hydra garbage collector roots.", "loc": ["services", "hydra", "gcRootsDir"], "readOnly": false, "type": "absolute path"}, "services.hydra.hydraURL": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "description": "The base URL for the Hydra webserver instance. Used for links in emails.\n", "loc": ["services", "hydra", "hydraURL"], "readOnly": false, "type": "string"}, "services.hydra.listenHost": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "The hostname or address to listen on or `*` to listen\non all interfaces.\n", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "hydra", "listenHost"], "readOnly": false, "type": "string"}, "services.hydra.logo": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the logo of your Hydra instance.\n", "loc": ["services", "hydra", "logo"], "readOnly": false, "type": "null or absolute path"}, "services.hydra.maxServers": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "Maximum number of starman workers to spawn.", "loc": ["services", "hydra", "maxServers"], "readOnly": false, "type": "signed integer"}, "services.hydra.maxSpareServers": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Maximum number of spare starman workers to keep.", "loc": ["services", "hydra", "maxSpareServers"], "readOnly": false, "type": "signed integer"}, "services.hydra.minSpareServers": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "4"}, "description": "Minimum number of spare starman workers to keep.", "loc": ["services", "hydra", "minSpareServers"], "readOnly": false, "type": "signed integer"}, "services.hydra.minimumDiskFree": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Threshold of minimum disk space (GiB) to determine if the queue runner should run or not.\n", "loc": ["services", "hydra", "minimumDiskFree"], "readOnly": false, "type": "signed integer"}, "services.hydra.minimumDiskFreeEvaluator": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Threshold of minimum disk space (GiB) to determine if the evaluator should run or not.\n", "loc": ["services", "hydra", "minimumDiskFreeEvaluator"], "readOnly": false, "type": "signed integer"}, "services.hydra.notificationSender": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "description": "Sender email address used for email notifications.\n", "loc": ["services", "hydra", "notificationSender"], "readOnly": false, "type": "string"}, "services.hydra.package": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hydra"}, "description": "The hydra package to use.", "loc": ["services", "hydra", "package"], "readOnly": false, "type": "package"}, "services.hydra.port": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "TCP port the web server should listen to.\n", "loc": ["services", "hydra", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.hydra.smtpHost": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Hostname of the SMTP server to use to send email.\n", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "hydra", "smtpHost"], "readOnly": false, "type": "null or string"}, "services.hydra.tracker": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Piece of HTML that is included on all pages.\n", "loc": ["services", "hydra", "tracker"], "readOnly": false, "type": "string"}, "services.hydra.useSubstitutes": {"declarations": ["nixos/modules/services/continuous-integration/hydra/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use binary caches for downloading store paths. Note that\nbinary substitutions trigger (a potentially large number of) additional\nHTTP requests that slow down the queue monitor thread significantly.\nAlso, this Hydra instance will serve those downloaded store paths to\nits users with its own signature attached as if it had built them\nitself, so don't enable this feature unless your active binary caches\nare absolute trustworthy.\n", "loc": ["services", "hydra", "useSubstitutes"], "readOnly": false, "type": "boolean"}, "services.hypridle.enable": {"declarations": ["nixos/modules/services/wayland/hypridle.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hypridle, Hyprland's idle daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hypridle", "enable"], "readOnly": false, "type": "boolean"}, "services.hypridle.package": {"declarations": ["nixos/modules/services/wayland/hypridle.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hypridle"}, "description": "The hypridle package to use.", "loc": ["services", "hypridle", "package"], "readOnly": false, "type": "package"}, "services.hyprwhspr-rs.enable": {"declarations": ["nixos/modules/services/misc/hyprwhspr-rs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hyprwhspr-rs.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "hyprwhspr-rs", "enable"], "readOnly": false, "type": "boolean"}, "services.hyprwhspr-rs.environmentFile": {"declarations": ["nixos/modules/services/misc/hyprwhspr-rs.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing API keys (GROQ_API_KEY, GEMINI_API_KEY) for remote transcription.", "example": {"_type": "literalExpression", "text": "\"/path/to/hyprwhspr_secret_file\""}, "loc": ["services", "hyprwhspr-rs", "environmentFile"], "readOnly": false, "type": "null or string"}, "services.hyprwhspr-rs.package": {"declarations": ["nixos/modules/services/misc/hyprwhspr-rs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.hyprwhspr-rs"}, "description": "The hyprwhspr-rs package to use.", "loc": ["services", "hyprwhspr-rs", "package"], "readOnly": false, "type": "package"}, "services.i2p.enable": {"declarations": ["nixos/modules/services/networking/i2p.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable I2P router.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2p", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Your external IP or hostname.\n", "loc": ["services", "i2pd", "address"], "readOnly": false, "type": "null or string"}, "services.i2pd.addressbook.defaulturl": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"http://joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq.b32.i2p/export/alive-hosts.txt\""}, "description": "AddressBook subscription URL for initial setup\n", "loc": ["services", "i2pd", "addressbook", "defaulturl"], "readOnly": false, "type": "string"}, "services.i2pd.addressbook.subscriptions": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"http://inr.i2p/export/alive-hosts.txt\"\n  \"http://i2p-projekt.i2p/hosts.txt\"\n  \"http://stats.i2p/cgi-bin/newhosts.txt\"\n]"}, "description": "AddressBook subscription URLs\n", "loc": ["services", "i2pd", "addressbook", "subscriptions"], "readOnly": false, "type": "list of string"}, "services.i2pd.bandwidth": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set a router bandwidth limit integer in KBps.\nIf not set, {command}`i2pd` defaults to 32KBps.\n", "loc": ["services", "i2pd", "bandwidth"], "readOnly": false, "type": "null or signed integer"}, "services.i2pd.dataDir": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alternative path to storage of i2pd data (RI, keys, peer profiles, ...)\n", "loc": ["services", "i2pd", "dataDir"], "readOnly": false, "type": "null or string"}, "services.i2pd.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables I2Pd as a running service upon activation.\nPlease read <https://i2pd.readthedocs.io/en/latest/> for further\nconfiguration help.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.enableIPv4": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable IPv4 connectivity.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "enableIPv4"], "readOnly": false, "type": "boolean"}, "services.i2pd.enableIPv6": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable IPv6 connectivity.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "enableIPv6"], "readOnly": false, "type": "boolean"}, "services.i2pd.exploratory.inbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for exploratory tunnels.", "loc": ["services", "i2pd", "exploratory", "inbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.exploratory.inbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous exploratory tunnels.", "loc": ["services", "i2pd", "exploratory", "inbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.exploratory.outbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for exploratory tunnels.", "loc": ["services", "i2pd", "exploratory", "outbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.exploratory.outbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous exploratory tunnels.", "loc": ["services", "i2pd", "exploratory", "outbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.family": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify a family the router belongs to.\n", "loc": ["services", "i2pd", "family"], "readOnly": false, "type": "null or string"}, "services.i2pd.floodfill": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes your router a floodfill, that means what other routers will\npublish and get LeaseSets and RouterInfos on your router.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "floodfill"], "readOnly": false, "type": "boolean"}, "services.i2pd.ifname": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Network interface to bind to.\n", "loc": ["services", "i2pd", "ifname"], "readOnly": false, "type": "null or string"}, "services.i2pd.ifname4": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IPv4 interface to bind to.\n", "loc": ["services", "i2pd", "ifname4"], "readOnly": false, "type": "null or string"}, "services.i2pd.ifname6": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IPv6 interface to bind to.\n", "loc": ["services", "i2pd", "ifname6"], "readOnly": false, "type": "null or string"}, "services.i2pd.inTunnels": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Serve something on I2P network at port and delegate requests to address inPort.\n", "loc": ["services", "i2pd", "inTunnels"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.i2pd.inTunnels.<name>.accessList": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "I2P nodes that are allowed to connect to this service.", "loc": ["services", "i2pd", "inTunnels", "<name>", "accessList"], "readOnly": false, "type": "list of string"}, "services.i2pd.inTunnels.<name>.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for \u2039name\u203a endpoint.", "loc": ["services", "i2pd", "inTunnels", "<name>", "address"], "readOnly": false, "type": "string"}, "services.i2pd.inTunnels.<name>.crypto.tagsToSend": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "40"}, "description": "Number of ElGamal/AES tags to send.", "loc": ["services", "i2pd", "inTunnels", "<name>", "crypto", "tagsToSend"], "readOnly": false, "type": "signed integer"}, "services.i2pd.inTunnels.<name>.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable \u2039name\u203a.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "inTunnels", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.inTunnels.<name>.inPort": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Service port. Default to the tunnel's listen port.", "loc": ["services", "i2pd", "inTunnels", "<name>", "inPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.inTunnels.<name>.inbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "inTunnels", "<name>", "inbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.inTunnels.<name>.inbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "inTunnels", "<name>", "inbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.inTunnels.<name>.keys": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a-keys.dat\""}, "description": "Keyset used for tunnel identity.", "loc": ["services", "i2pd", "inTunnels", "<name>", "keys"], "readOnly": false, "type": "string"}, "services.i2pd.inTunnels.<name>.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "inTunnels", "<name>", "name"], "readOnly": false, "type": "string"}, "services.i2pd.inTunnels.<name>.outbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "inTunnels", "<name>", "outbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.inTunnels.<name>.outbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "inTunnels", "<name>", "outbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.inTunnels.<name>.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Bind port for \u2039name\u203a endpoint.", "loc": ["services", "i2pd", "inTunnels", "<name>", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.inTunnels.<name>.type": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"server\""}, "description": "Tunnel type.", "loc": ["services", "i2pd", "inTunnels", "<name>", "type"], "readOnly": false, "type": "one of \"server\", \"http\", \"irc\", \"udpserver\""}, "services.i2pd.limits.coreSize": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum size of corefile in Kb (0 - use system limit).\n", "loc": ["services", "i2pd", "limits", "coreSize"], "readOnly": false, "type": "signed integer"}, "services.i2pd.limits.ntcpHard": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum number of active transit sessions.\n", "loc": ["services", "i2pd", "limits", "ntcpHard"], "readOnly": false, "type": "signed integer"}, "services.i2pd.limits.ntcpSoft": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Threshold to start probabalistic backoff with ntcp sessions (default: use system limit).\n", "loc": ["services", "i2pd", "limits", "ntcpSoft"], "readOnly": false, "type": "signed integer"}, "services.i2pd.limits.ntcpThreads": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Maximum number of threads used by NTCP DH worker.\n", "loc": ["services", "i2pd", "limits", "ntcpThreads"], "readOnly": false, "type": "signed integer"}, "services.i2pd.limits.openFiles": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum number of open files (0 - use system default).\n", "loc": ["services", "i2pd", "limits", "openFiles"], "readOnly": false, "type": "signed integer"}, "services.i2pd.limits.transittunnels": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "2500"}, "description": "Maximum number of active transit sessions.\n", "loc": ["services", "i2pd", "limits", "transittunnels"], "readOnly": false, "type": "signed integer"}, "services.i2pd.logCLFTime": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable full CLF-formatted date and time to log.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "logCLFTime"], "readOnly": false, "type": "boolean"}, "services.i2pd.logLevel": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"error\""}, "description": "The log level. {command}`i2pd` defaults to \"info\"\nbut that generates copious amounts of log messages.\n\nWe default to \"error\" which is similar to the default log\nlevel of {command}`tor`.\n", "loc": ["services", "i2pd", "logLevel"], "readOnly": false, "type": "one of \"debug\", \"info\", \"warn\", \"error\""}, "services.i2pd.nat": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable NAT bypass.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "nat"], "readOnly": false, "type": "boolean"}, "services.i2pd.netid": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "I2P overlay netid.\n", "loc": ["services", "i2pd", "netid"], "readOnly": false, "type": "signed integer"}, "services.i2pd.notransit": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Tells the router to not accept transit tunnels during startup.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "notransit"], "readOnly": false, "type": "boolean"}, "services.i2pd.ntcp": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable ntcp.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "ntcp"], "readOnly": false, "type": "boolean"}, "services.i2pd.ntcp2.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable NTCP2.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "ntcp2", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.ntcp2.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Port to listen for incoming NTCP2 connections (0=auto).\n", "loc": ["services", "i2pd", "ntcp2", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.ntcp2.published": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable NTCP2 publication.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "ntcp2", "published"], "readOnly": false, "type": "boolean"}, "services.i2pd.ntcpProxy": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Proxy URL for NTCP transport.\n", "loc": ["services", "i2pd", "ntcpProxy"], "readOnly": false, "type": "null or string"}, "services.i2pd.outTunnels": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Connect to someone as a client and establish a local accept endpoint\n", "loc": ["services", "i2pd", "outTunnels"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.i2pd.outTunnels.<name>.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for \u2039name\u203a endpoint.", "loc": ["services", "i2pd", "outTunnels", "<name>", "address"], "readOnly": false, "type": "string"}, "services.i2pd.outTunnels.<name>.crypto.tagsToSend": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "40"}, "description": "Number of ElGamal/AES tags to send.", "loc": ["services", "i2pd", "outTunnels", "<name>", "crypto", "tagsToSend"], "readOnly": false, "type": "signed integer"}, "services.i2pd.outTunnels.<name>.destination": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "description": "Remote endpoint, I2P hostname or b32.i2p address.", "loc": ["services", "i2pd", "outTunnels", "<name>", "destination"], "readOnly": false, "type": "string"}, "services.i2pd.outTunnels.<name>.destinationPort": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Connect to particular port at destination.", "loc": ["services", "i2pd", "outTunnels", "<name>", "destinationPort"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.outTunnels.<name>.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable \u2039name\u203a.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "outTunnels", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.outTunnels.<name>.inbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "outTunnels", "<name>", "inbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.outTunnels.<name>.inbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "outTunnels", "<name>", "inbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.outTunnels.<name>.keys": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a-keys.dat\""}, "description": "Keyset used for tunnel identity.", "loc": ["services", "i2pd", "outTunnels", "<name>", "keys"], "readOnly": false, "type": "string"}, "services.i2pd.outTunnels.<name>.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "outTunnels", "<name>", "name"], "readOnly": false, "type": "string"}, "services.i2pd.outTunnels.<name>.outbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "outTunnels", "<name>", "outbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.outTunnels.<name>.outbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous \u2039name\u203a tunnels.", "loc": ["services", "i2pd", "outTunnels", "<name>", "outbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.outTunnels.<name>.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Bind port for \u2039name\u203a endpoint.", "loc": ["services", "i2pd", "outTunnels", "<name>", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.outTunnels.<name>.type": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"client\""}, "description": "Tunnel type.", "loc": ["services", "i2pd", "outTunnels", "<name>", "type"], "readOnly": false, "type": "one of \"client\", \"udpclient\""}, "services.i2pd.package": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.i2pd"}, "description": "The i2pd package to use.", "loc": ["services", "i2pd", "package"], "readOnly": false, "type": "package"}, "services.i2pd.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "I2P listen port. If no one is given the router will pick between 9111 and 30777.\n", "loc": ["services", "i2pd", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.precomputation.elgamal": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whenever to use precomputated tables for ElGamal.\n{command}`i2pd` defaults to `false`\nto save 64M of memory (and looses some performance).\n\nWe default to `true` as that is what most\nusers want anyway.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "precomputation", "elgamal"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.bob.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for bob endpoint.", "loc": ["services", "i2pd", "proto", "bob", "address"], "readOnly": false, "type": "string"}, "services.i2pd.proto.bob.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable bob.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "bob", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.bob.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"bob\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "proto", "bob", "name"], "readOnly": false, "type": "string"}, "services.i2pd.proto.bob.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "2827"}, "description": "Bind port for bob endpoint.", "loc": ["services", "i2pd", "proto", "bob", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.proto.http.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for http endpoint.", "loc": ["services", "i2pd", "proto", "http", "address"], "readOnly": false, "type": "string"}, "services.i2pd.proto.http.auth": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable webconsole authentication.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "http", "auth"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.http.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable http.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "http", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.http.hostname": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Expected hostname for WebUI.\n", "loc": ["services", "i2pd", "proto", "http", "hostname"], "readOnly": false, "type": "null or string"}, "services.i2pd.proto.http.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"http\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "proto", "http", "name"], "readOnly": false, "type": "string"}, "services.i2pd.proto.http.pass": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"i2pd\""}, "description": "Password for webconsole access.\n", "loc": ["services", "i2pd", "proto", "http", "pass"], "readOnly": false, "type": "string"}, "services.i2pd.proto.http.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "7070"}, "description": "Bind port for http endpoint.", "loc": ["services", "i2pd", "proto", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.proto.http.strictHeaders": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enable strict host checking on WebUI.\n", "loc": ["services", "i2pd", "proto", "http", "strictHeaders"], "readOnly": false, "type": "null or boolean"}, "services.i2pd.proto.http.user": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"i2pd\""}, "description": "Username for webconsole access\n", "loc": ["services", "i2pd", "proto", "http", "user"], "readOnly": false, "type": "string"}, "services.i2pd.proto.httpProxy.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for httpproxy endpoint.", "loc": ["services", "i2pd", "proto", "httpProxy", "address"], "readOnly": false, "type": "string"}, "services.i2pd.proto.httpProxy.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable httpproxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "httpProxy", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.httpProxy.inbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for httpproxy tunnels.", "loc": ["services", "i2pd", "proto", "httpProxy", "inbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.httpProxy.inbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous httpproxy tunnels.", "loc": ["services", "i2pd", "proto", "httpProxy", "inbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.httpProxy.keys": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"httpproxy-keys.dat\""}, "description": "File to persist HTTPPROXY keys.\n", "loc": ["services", "i2pd", "proto", "httpProxy", "keys"], "readOnly": false, "type": "null or string"}, "services.i2pd.proto.httpProxy.latency.max": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Max latency for tunnels.", "loc": ["services", "i2pd", "proto", "httpProxy", "latency", "max"], "readOnly": false, "type": "null or signed integer"}, "services.i2pd.proto.httpProxy.latency.min": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Min latency for tunnels.", "loc": ["services", "i2pd", "proto", "httpProxy", "latency", "min"], "readOnly": false, "type": "null or signed integer"}, "services.i2pd.proto.httpProxy.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"httpproxy\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "proto", "httpProxy", "name"], "readOnly": false, "type": "string"}, "services.i2pd.proto.httpProxy.outbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for httpproxy tunnels.", "loc": ["services", "i2pd", "proto", "httpProxy", "outbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.httpProxy.outbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous httpproxy tunnels.", "loc": ["services", "i2pd", "proto", "httpProxy", "outbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.httpProxy.outproxy": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Upstream outproxy bind address.", "loc": ["services", "i2pd", "proto", "httpProxy", "outproxy"], "readOnly": false, "type": "null or string"}, "services.i2pd.proto.httpProxy.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "4444"}, "description": "Bind port for httpproxy endpoint.", "loc": ["services", "i2pd", "proto", "httpProxy", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.proto.i2cp.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for i2cp endpoint.", "loc": ["services", "i2pd", "proto", "i2cp", "address"], "readOnly": false, "type": "string"}, "services.i2pd.proto.i2cp.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable i2cp.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "i2cp", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.i2cp.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"i2cp\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "proto", "i2cp", "name"], "readOnly": false, "type": "string"}, "services.i2pd.proto.i2cp.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "7654"}, "description": "Bind port for i2cp endpoint.", "loc": ["services", "i2pd", "proto", "i2cp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.proto.i2pControl.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for i2pcontrol endpoint.", "loc": ["services", "i2pd", "proto", "i2pControl", "address"], "readOnly": false, "type": "string"}, "services.i2pd.proto.i2pControl.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable i2pcontrol.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "i2pControl", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.i2pControl.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"i2pcontrol\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "proto", "i2pControl", "name"], "readOnly": false, "type": "string"}, "services.i2pd.proto.i2pControl.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "7650"}, "description": "Bind port for i2pcontrol endpoint.", "loc": ["services", "i2pd", "proto", "i2pControl", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.proto.sam.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for sam endpoint.", "loc": ["services", "i2pd", "proto", "sam", "address"], "readOnly": false, "type": "string"}, "services.i2pd.proto.sam.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable sam.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "sam", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.sam.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"sam\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "proto", "sam", "name"], "readOnly": false, "type": "string"}, "services.i2pd.proto.sam.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "7656"}, "description": "Bind port for sam endpoint.", "loc": ["services", "i2pd", "proto", "sam", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.proto.socksProxy.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for socksproxy endpoint.", "loc": ["services", "i2pd", "proto", "socksProxy", "address"], "readOnly": false, "type": "string"}, "services.i2pd.proto.socksProxy.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable socksproxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "socksProxy", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.socksProxy.inbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for socksproxy tunnels.", "loc": ["services", "i2pd", "proto", "socksProxy", "inbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.socksProxy.inbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous socksproxy tunnels.", "loc": ["services", "i2pd", "proto", "socksProxy", "inbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.socksProxy.keys": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"socksproxy-keys.dat\""}, "description": "File to persist SOCKSPROXY keys.\n", "loc": ["services", "i2pd", "proto", "socksProxy", "keys"], "readOnly": false, "type": "null or string"}, "services.i2pd.proto.socksProxy.latency.max": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Max latency for tunnels.", "loc": ["services", "i2pd", "proto", "socksProxy", "latency", "max"], "readOnly": false, "type": "null or signed integer"}, "services.i2pd.proto.socksProxy.latency.min": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Min latency for tunnels.", "loc": ["services", "i2pd", "proto", "socksProxy", "latency", "min"], "readOnly": false, "type": "null or signed integer"}, "services.i2pd.proto.socksProxy.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"socksproxy\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "proto", "socksProxy", "name"], "readOnly": false, "type": "string"}, "services.i2pd.proto.socksProxy.outbound.length": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Guaranteed minimum hops for socksproxy tunnels.", "loc": ["services", "i2pd", "proto", "socksProxy", "outbound", "length"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.socksProxy.outbound.quantity": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Number of simultaneous socksproxy tunnels.", "loc": ["services", "i2pd", "proto", "socksProxy", "outbound", "quantity"], "readOnly": false, "type": "signed integer"}, "services.i2pd.proto.socksProxy.outproxy": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Upstream outproxy bind address.", "loc": ["services", "i2pd", "proto", "socksProxy", "outproxy"], "readOnly": false, "type": "string"}, "services.i2pd.proto.socksProxy.outproxyEnable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SOCKS outproxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "proto", "socksProxy", "outproxyEnable"], "readOnly": false, "type": "boolean"}, "services.i2pd.proto.socksProxy.outproxyPort": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "4444"}, "description": "Upstream outproxy bind port.", "loc": ["services", "i2pd", "proto", "socksProxy", "outproxyPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.proto.socksProxy.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "4447"}, "description": "Bind port for socksproxy endpoint.", "loc": ["services", "i2pd", "proto", "socksProxy", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.reseed.file": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Full path to SU3 file to reseed from.\n", "loc": ["services", "i2pd", "reseed", "file"], "readOnly": false, "type": "null or string"}, "services.i2pd.reseed.floodfill": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to router info of floodfill to reseed from.\n", "loc": ["services", "i2pd", "reseed", "floodfill"], "readOnly": false, "type": "null or string"}, "services.i2pd.reseed.proxy": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "URL for reseed proxy, supports http/socks.\n", "loc": ["services", "i2pd", "reseed", "proxy"], "readOnly": false, "type": "null or string"}, "services.i2pd.reseed.urls": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Reseed URLs.\n", "loc": ["services", "i2pd", "reseed", "urls"], "readOnly": false, "type": "list of string"}, "services.i2pd.reseed.verify": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SU3 signature verification.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "reseed", "verify"], "readOnly": false, "type": "boolean"}, "services.i2pd.reseed.zipfile": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to local .zip file to reseed from.\n", "loc": ["services", "i2pd", "reseed", "zipfile"], "readOnly": false, "type": "null or string"}, "services.i2pd.share": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "100"}, "description": "Limit of transit traffic from max bandwidth in percents.\n", "loc": ["services", "i2pd", "share"], "readOnly": false, "type": "signed integer"}, "services.i2pd.ssu": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable ssu.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "ssu"], "readOnly": false, "type": "boolean"}, "services.i2pd.ssu2.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable SSU2.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "ssu2", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.ssu2.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Port to listen for incoming SSU2 connections (0=auto).\n", "loc": ["services", "i2pd", "ssu2", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.ssu2.published": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SSU2 publication.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "ssu2", "published"], "readOnly": false, "type": "boolean"}, "services.i2pd.trust.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable explicit trust options.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "trust", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.trust.family": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Router Family to trust for first hops.\n", "loc": ["services", "i2pd", "trust", "family"], "readOnly": false, "type": "null or string"}, "services.i2pd.trust.hidden": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable router concealment.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "trust", "hidden"], "readOnly": false, "type": "boolean"}, "services.i2pd.trust.routers": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Only connect to the listed routers.\n", "loc": ["services", "i2pd", "trust", "routers"], "readOnly": false, "type": "list of string"}, "services.i2pd.upnp.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable UPnP service discovery.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "upnp", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.upnp.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"I2Pd\""}, "description": "Name i2pd appears in UPnP forwardings list.\n", "loc": ["services", "i2pd", "upnp", "name"], "readOnly": false, "type": "string"}, "services.i2pd.websocket.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Bind address for websockets endpoint.", "loc": ["services", "i2pd", "websocket", "address"], "readOnly": false, "type": "string"}, "services.i2pd.websocket.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable websockets.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "websocket", "enable"], "readOnly": false, "type": "boolean"}, "services.i2pd.websocket.name": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "\"websockets\""}, "description": "The endpoint name.", "loc": ["services", "i2pd", "websocket", "name"], "readOnly": false, "type": "string"}, "services.i2pd.websocket.port": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "7666"}, "description": "Bind port for websockets endpoint.", "loc": ["services", "i2pd", "websocket", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.i2pd.yggdrasil.address": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Your local yggdrasil address. Specify it if you want to bind your router to a\nparticular address.\n", "loc": ["services", "i2pd", "yggdrasil", "address"], "readOnly": false, "type": "null or string"}, "services.i2pd.yggdrasil.enable": {"declarations": ["nixos/modules/services/networking/i2pd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Yggdrasil.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "i2pd", "yggdrasil", "enable"], "readOnly": false, "type": "boolean"}, "services.icecast.admin.password": {"declarations": ["nixos/modules/services/audio/icecast.nix"], "description": "Password used for all administration functions.", "loc": ["services", "icecast", "admin", "password"], "readOnly": false, "type": "string"}, "services.icecast.admin.user": {"declarations": ["nixos/modules/services/audio/icecast.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Username used for all administration functions.", "loc": ["services", "icecast", "admin", "user"], "readOnly": false, "type": "string"}, "services.icecast.enable": {"declarations": ["nixos/modules/services/audio/icecast.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Icecast server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icecast", "enable"], "readOnly": false, "type": "boolean"}, "services.icecast.extraConfig": {"declarations": ["nixos/modules/services/audio/icecast.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration added to {file}`icecast.xml` inside the `<icecast>` element.\n", "loc": ["services", "icecast", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.icecast.hostname": {"declarations": ["nixos/modules/services/audio/icecast.nix"], "default": {"_type": "literalExpression", "text": "config.networking.domain"}, "description": "DNS name or IP address that will be used for the stream directory lookups or possibly the playlist generation if a Host header is not provided.", "loc": ["services", "icecast", "hostname"], "readOnly": false, "type": "null or string"}, "services.icecast.listen.address": {"declarations": ["nixos/modules/services/audio/icecast.nix"], "default": {"_type": "literalExpression", "text": "\"::\""}, "description": "Address Icecast will listen on.", "loc": ["services", "icecast", "listen", "address"], "readOnly": false, "type": "string"}, "services.icecast.listen.port": {"declarations": ["nixos/modules/services/audio/icecast.nix"], "default": {"_type": "literalExpression", "text": "8000"}, "description": "TCP port that will be used to accept client connections.", "loc": ["services", "icecast", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.icecream.daemon.cacheLimit": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "256"}, "description": "Maximum size in Megabytes of cache used to store compile environments of compile clients.\n", "loc": ["services", "icecream", "daemon", "cacheLimit"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.icecream.daemon.enable": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Icecream Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icecream", "daemon", "enable"], "readOnly": false, "type": "boolean"}, "services.icecream.daemon.extraArgs": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line parameters.", "example": {"_type": "literalExpression", "text": "[\n  \"-v\"\n]"}, "loc": ["services", "icecream", "daemon", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.icecream.daemon.hostname": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Hostname of the daemon in the icecream infrastructure.\n\nUses the hostname retrieved via uname if set to null.\n", "loc": ["services", "icecream", "daemon", "hostname"], "readOnly": false, "type": "null or string"}, "services.icecream.daemon.maxProcesses": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of compile jobs started in parallel for this daemon.\n\nUses the number of CPUs if set to null.\n", "loc": ["services", "icecream", "daemon", "maxProcesses"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.icecream.daemon.netName": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "\"ICECREAM\""}, "description": "Network name to connect to. A scheduler with the same name needs to be running.\n", "loc": ["services", "icecream", "daemon", "netName"], "readOnly": false, "type": "string"}, "services.icecream.daemon.nice": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "The level of niceness to use.\n", "loc": ["services", "icecream", "daemon", "nice"], "readOnly": false, "type": "integer between -20 and 19 (both inclusive)"}, "services.icecream.daemon.noRemote": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Prevent jobs from other nodes being scheduled on this daemon.\n", "loc": ["services", "icecream", "daemon", "noRemote"], "readOnly": false, "type": "boolean"}, "services.icecream.daemon.openBroadcast": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "description": "Whether to automatically open the firewall for scheduler discovery.\n", "loc": ["services", "icecream", "daemon", "openBroadcast"], "readOnly": false, "type": "boolean"}, "services.icecream.daemon.openFirewall": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "description": "Whether to automatically open receive port in the firewall.\n", "loc": ["services", "icecream", "daemon", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.icecream.daemon.package": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.icecream"}, "description": "The icecream package to use.", "loc": ["services", "icecream", "daemon", "package"], "readOnly": false, "type": "package"}, "services.icecream.daemon.schedulerHost": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Explicit scheduler hostname, useful in firewalled environments.\n\nUses scheduler autodiscovery via broadcast if set to null.\n", "loc": ["services", "icecream", "daemon", "schedulerHost"], "readOnly": false, "type": "null or string"}, "services.icecream.daemon.user": {"declarations": ["nixos/modules/services/networking/icecream/daemon.nix"], "default": {"_type": "literalExpression", "text": "\"icecc\""}, "description": "User to run the icecream daemon as. Set to root to enable receive of\nremote compile environments.\n", "loc": ["services", "icecream", "daemon", "user"], "readOnly": false, "type": "string"}, "services.icecream.scheduler.enable": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Icecream Scheduler.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icecream", "scheduler", "enable"], "readOnly": false, "type": "boolean"}, "services.icecream.scheduler.extraArgs": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line parameters", "example": {"_type": "literalExpression", "text": "[\n  \"-v\"\n]"}, "loc": ["services", "icecream", "scheduler", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.icecream.scheduler.netName": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Network name for the icecream scheduler.\n\nUses the default ICECREAM if null.\n", "loc": ["services", "icecream", "scheduler", "netName"], "readOnly": false, "type": "null or string"}, "services.icecream.scheduler.openFirewall": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "description": "Whether to automatically open the daemon port in the firewall.\n", "loc": ["services", "icecream", "scheduler", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.icecream.scheduler.openTelnet": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the telnet TCP port on 8766.\n", "loc": ["services", "icecream", "scheduler", "openTelnet"], "readOnly": false, "type": "boolean"}, "services.icecream.scheduler.package": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "default": {"_type": "literalExpression", "text": "pkgs.icecream"}, "description": "The icecream package to use.", "loc": ["services", "icecream", "scheduler", "package"], "readOnly": false, "type": "package"}, "services.icecream.scheduler.persistentClientConnection": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to prevent clients from connecting to a better scheduler.\n", "loc": ["services", "icecream", "scheduler", "persistentClientConnection"], "readOnly": false, "type": "boolean"}, "services.icecream.scheduler.port": {"declarations": ["nixos/modules/services/networking/icecream/scheduler.nix"], "default": {"_type": "literalExpression", "text": "8765"}, "description": "Server port to listen for icecream daemon requests.\n", "loc": ["services", "icecream", "scheduler", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.icingaweb2.authentications": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "authentication.ini contents.\nWill automatically be converted to a .ini file.\n\nIf the value is null, no authentication.ini is created and you can\nmodify it manually (e.g. via the web interface).\n", "example": {"_type": "literalExpression", "text": "{\n  icingaweb = {\n    backend = \"db\";\n    resource = \"icingaweb_db\";\n  };\n}"}, "loc": ["services", "icingaweb2", "authentications"], "readOnly": false, "type": "null or (attribute set)"}, "services.icingaweb2.enable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the icingaweb2 web interface.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icingaweb2", "enable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.generalConfig": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "config.ini contents.\nWill automatically be converted to a .ini file.\nIf you don't set global.module_path, the module will take care of it.\n\nIf the value is null, no config.ini is created and you can\nmodify it manually (e.g. via the web interface).\nNote that you need to update module_path manually.\n", "example": {"_type": "literalExpression", "text": "{\n  general = {\n    config_resource = \"icingaweb_db\";\n    showStacktraces = 1;\n  };\n  logging = {\n    level = \"CRITICAL\";\n    log = \"syslog\";\n  };\n}"}, "loc": ["services", "icingaweb2", "generalConfig"], "readOnly": false, "type": "null or (attribute set)"}, "services.icingaweb2.groupBackends": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "groups.ini contents.\nWill automatically be converted to a .ini file.\n\nIf the value is null, no groups.ini is created and you can\nmodify it manually (e.g. via the web interface).\n", "example": {"_type": "literalExpression", "text": "{\n  icingaweb = {\n    backend = \"db\";\n    resource = \"icingaweb_db\";\n  };\n}"}, "loc": ["services", "icingaweb2", "groupBackends"], "readOnly": false, "type": "null or (attribute set)"}, "services.icingaweb2.libraryPaths": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Libraries to add to the Icingaweb2 library path.\nThe name of the attribute is the name of the library, the value\nis the package to add.\n", "loc": ["services", "icingaweb2", "libraryPaths"], "readOnly": false, "type": "attribute set of package"}, "services.icingaweb2.modulePackages": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Name-package attrset of Icingaweb 2 modules packages to enable.\n\nIf you enable modules manually (e.g. via the web ui), they will not be touched.\n", "example": {"_type": "literalExpression", "text": "{\n  \"snow\" = icingaweb2Modules.theme-snow;\n}\n"}, "loc": ["services", "icingaweb2", "modulePackages"], "readOnly": false, "type": "attribute set of package"}, "services.icingaweb2.modules.doc.enable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the icingaweb2 doc module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icingaweb2", "modules", "doc", "enable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.migrate.enable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the icingaweb2 migrate module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icingaweb2", "modules", "migrate", "enable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.monitoring.backends": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "{\n  icinga = {\n    resource = \"icinga_ido\";\n  };\n}"}, "description": "Monitoring backends to define", "loc": ["services", "icingaweb2", "modules", "monitoring", "backends"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.icingaweb2.modules.monitoring.backends.<name>.disabled": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable this backend", "loc": ["services", "icingaweb2", "modules", "monitoring", "backends", "<name>", "disabled"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.monitoring.backends.<name>.resource": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "description": "Name of the IDO resource", "loc": ["services", "icingaweb2", "modules", "monitoring", "backends", "<name>", "resource"], "readOnly": false, "type": "string"}, "services.icingaweb2.modules.monitoring.enable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the icingaweb2 monitoring module.", "loc": ["services", "icingaweb2", "modules", "monitoring", "enable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.monitoring.generalConfig.mutable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Make config.ini of the monitoring module mutable (e.g. via the web interface).", "loc": ["services", "icingaweb2", "modules", "monitoring", "generalConfig", "mutable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.monitoring.generalConfig.protectedVars": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*pw*\"\n  \"*pass*\"\n  \"community\"\n]"}, "description": "List of string patterns for custom variables which should be excluded from user\u2019s view.", "loc": ["services", "icingaweb2", "modules", "monitoring", "generalConfig", "protectedVars"], "readOnly": false, "type": "list of string"}, "services.icingaweb2.modules.monitoring.mutableBackends": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Make backends.ini of the monitoring module mutable (e.g. via the web interface).", "loc": ["services", "icingaweb2", "modules", "monitoring", "mutableBackends"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.monitoring.mutableTransports": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Make commandtransports.ini of the monitoring module mutable (e.g. via the web interface).", "loc": ["services", "icingaweb2", "modules", "monitoring", "mutableTransports"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.monitoring.transports": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Command transports to define", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.icingaweb2.modules.monitoring.transports.<name>.host": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "description": "Host for the api or remote transport", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "host"], "readOnly": false, "type": "string"}, "services.icingaweb2.modules.monitoring.transports.<name>.instance": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Assign a icinga instance to this transport", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "instance"], "readOnly": false, "type": "null or string"}, "services.icingaweb2.modules.monitoring.transports.<name>.password": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "description": "Password for the api transport", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "password"], "readOnly": false, "type": "string"}, "services.icingaweb2.modules.monitoring.transports.<name>.path": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "description": "Path to the socket for local or remote transports", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "path"], "readOnly": false, "type": "string"}, "services.icingaweb2.modules.monitoring.transports.<name>.port": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port to connect to for the api or remote transport", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "port"], "readOnly": false, "type": "null or string"}, "services.icingaweb2.modules.monitoring.transports.<name>.resource": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "description": "SSH identity resource for the remote transport", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "resource"], "readOnly": false, "type": "string"}, "services.icingaweb2.modules.monitoring.transports.<name>.type": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "default": {"_type": "literalExpression", "text": "\"api\""}, "description": "Type of  this transport", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "type"], "readOnly": false, "type": "one of \"api\", \"local\", \"remote\""}, "services.icingaweb2.modules.monitoring.transports.<name>.username": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix"], "description": "Username for the api or remote transport", "loc": ["services", "icingaweb2", "modules", "monitoring", "transports", "<name>", "username"], "readOnly": false, "type": "string"}, "services.icingaweb2.modules.setup.enable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the icingaweb2 setup module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icingaweb2", "modules", "setup", "enable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.test.enable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the icingaweb2 test module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icingaweb2", "modules", "test", "enable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.modules.translation.enable": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the icingaweb2 translation module.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "icingaweb2", "modules", "translation", "enable"], "readOnly": false, "type": "boolean"}, "services.icingaweb2.pool": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "\"icingaweb2\""}, "description": "Name of existing PHP-FPM pool that is used to run Icingaweb2.\nIf not specified, a pool will automatically created with default values.\n", "loc": ["services", "icingaweb2", "pool"], "readOnly": false, "type": "string"}, "services.icingaweb2.resources": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "resources.ini contents.\nWill automatically be converted to a .ini file.\n\nIf the value is null, no resources.ini is created and you can\nmodify it manually (e.g. via the web interface).\nNote that if you set passwords here, they will go into the nix store.\n", "example": {"_type": "literalExpression", "text": "{\n  icingaweb_db = {\n    db = \"mysql\";\n    dbname = \"icingaweb2\";\n    host = \"localhost\";\n    password = \"icingaweb2\";\n    type = \"db\";\n    username = \"icingaweb2\";\n  };\n}"}, "loc": ["services", "icingaweb2", "resources"], "readOnly": false, "type": "null or (attribute set)"}, "services.icingaweb2.roles": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "roles.ini contents.\nWill automatically be converted to a .ini file.\n\nIf the value is null, no roles.ini is created and you can\nmodify it manually (e.g. via the web interface).\n", "example": {"_type": "literalExpression", "text": "{\n  Administrators = {\n    permissions = \"*\";\n    users = \"admin\";\n  };\n}"}, "loc": ["services", "icingaweb2", "roles"], "readOnly": false, "type": "null or (attribute set)"}, "services.icingaweb2.timezone": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "\"UTC\""}, "description": "PHP-compliant timezone specification", "example": {"_type": "literalExpression", "text": "\"Europe/Berlin\""}, "loc": ["services", "icingaweb2", "timezone"], "readOnly": false, "type": "string"}, "services.icingaweb2.virtualHost": {"declarations": ["nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix"], "default": {"_type": "literalExpression", "text": "\"icingaweb2\""}, "description": "Name of the nginx virtualhost to use and setup. If null, no virtualhost is set up.\n", "loc": ["services", "icingaweb2", "virtualHost"], "readOnly": false, "type": "null or string"}, "services.ifm.dataDir": {"declarations": ["nixos/modules/services/web-apps/ifm.nix"], "description": "Directory to serve throught the file managing service", "loc": ["services", "ifm", "dataDir"], "readOnly": false, "type": "string"}, "services.ifm.enable": {"declarations": ["nixos/modules/services/web-apps/ifm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Improved file manager, a single-file web-based filemanager\n\nLightweight and minimal, served using PHP's built-in server\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ifm", "enable"], "readOnly": false, "type": "boolean"}, "services.ifm.listenAddress": {"declarations": ["nixos/modules/services/web-apps/ifm.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address on which the service is listening", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "ifm", "listenAddress"], "readOnly": false, "type": "string"}, "services.ifm.port": {"declarations": ["nixos/modules/services/web-apps/ifm.nix"], "default": {"_type": "literalExpression", "text": "9090"}, "description": "Port on which to serve the IFM service", "loc": ["services", "ifm", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.ifm.settings": {"declarations": ["nixos/modules/services/web-apps/ifm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration of the IFM service.\n\nSee [the documentation](https://github.com/misterunknown/ifm/wiki/Configuration)\nfor available options and default values.\n", "example": {"_type": "literalExpression", "text": "{\n  IFM_GUI_SHOWPATH = 0;\n}"}, "loc": ["services", "ifm", "settings"], "readOnly": false, "type": "attribute set of anything"}, "services.ihaskell.enable": {"declarations": ["nixos/modules/services/misc/ihaskell.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Autostart an IHaskell notebook service.", "loc": ["services", "ihaskell", "enable"], "readOnly": false, "type": "boolean"}, "services.ihaskell.extraPackages": {"declarations": ["nixos/modules/services/misc/ihaskell.nix"], "default": {"_type": "literalExpression", "text": "haskellPackages: []"}, "description": "Extra packages available to ghc when running ihaskell. The\nvalue must be a function which receives the attrset defined\nin {var}`haskellPackages` as the sole argument.\n", "example": {"_type": "literalExpression", "text": "haskellPackages: [\n  haskellPackages.wreq\n  haskellPackages.lens\n]\n"}, "loc": ["services", "ihaskell", "extraPackages"], "readOnly": false, "type": "function that evaluates to a(n) list of package"}, "services.iio-niri.enable": {"declarations": ["nixos/modules/services/misc/iio-niri.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable IIO-Niri.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "iio-niri", "enable"], "readOnly": false, "type": "boolean"}, "services.iio-niri.extraArgs": {"declarations": ["nixos/modules/services/misc/iio-niri.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to pass to `iio-niri listen`.", "loc": ["services", "iio-niri", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.iio-niri.niriUnit": {"declarations": ["nixos/modules/services/misc/iio-niri.nix"], "default": {"_type": "literalExpression", "text": "\"niri.service\""}, "description": "The Niri **user** service unit to bind IIO-Niri's **user** service unit to.", "loc": ["services", "iio-niri", "niriUnit"], "readOnly": false, "type": "non-empty string"}, "services.iio-niri.package": {"declarations": ["nixos/modules/services/misc/iio-niri.nix"], "default": {"_type": "literalExpression", "text": "pkgs.iio-niri"}, "description": "The iio-niri package to use.", "loc": ["services", "iio-niri", "package"], "readOnly": false, "type": "package"}, "services.illum.enable": {"declarations": ["nixos/modules/services/hardware/illum.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable illum, a daemon for controlling screen brightness with brightness buttons.\n", "loc": ["services", "illum", "enable"], "readOnly": false, "type": "boolean"}, "services.imaginary.address": {"declarations": ["nixos/modules/services/networking/imaginary.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Bind address. Corresponds to the `-a` flag.\nSet to `\"\"` to bind to all addresses.\n", "example": {"_type": "literalExpression", "text": "\"[::1]\""}, "loc": ["services", "imaginary", "address"], "readOnly": false, "type": "string"}, "services.imaginary.enable": {"declarations": ["nixos/modules/services/networking/imaginary.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable imaginary image processing microservice.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "imaginary", "enable"], "readOnly": false, "type": "boolean"}, "services.imaginary.port": {"declarations": ["nixos/modules/services/networking/imaginary.nix"], "default": {"_type": "literalExpression", "text": "8088"}, "description": "Bind port. Corresponds to the `-p` flag.", "loc": ["services", "imaginary", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.imaginary.settings": {"declarations": ["nixos/modules/services/networking/imaginary.nix"], "description": "Command line arguments passed to the imaginary executable, stripped of\nthe prefix `-`. See upstream's\n[README](https://github.com/h2non/imaginary#command-line-usage) for all\noptions.\n", "loc": ["services", "imaginary", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or signed integer or non-empty (list of string) or string)"}, "services.imaginary.settings.return-size": {"declarations": ["nixos/modules/services/networking/imaginary.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Return the image size in the HTTP headers.", "loc": ["services", "imaginary", "settings", "return-size"], "readOnly": false, "type": "boolean"}, "services.immich-kiosk.enable": {"declarations": ["nixos/modules/services/web-apps/immich-kiosk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Immich Kiosk slideshow service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immich-kiosk", "enable"], "readOnly": false, "type": "boolean"}, "services.immich-kiosk.openFirewall": {"declarations": ["nixos/modules/services/web-apps/immich-kiosk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the immich-kiosk port.\n", "loc": ["services", "immich-kiosk", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.immich-kiosk.package": {"declarations": ["nixos/modules/services/web-apps/immich-kiosk.nix"], "default": {"_type": "literalExpression", "text": "pkgs.immich-kiosk"}, "description": "The immich-kiosk package to use.", "loc": ["services", "immich-kiosk", "package"], "readOnly": false, "type": "package"}, "services.immich-kiosk.settings": {"declarations": ["nixos/modules/services/web-apps/immich-kiosk.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for immich-kiosk. See\n<https://docs.immichkiosk.app/configuration/>\nfor available options. Secret values can be loaded from files using\n`._secret = \"/path/to/secret\";`.\n", "example": {"_type": "literalExpression", "text": "{\n  immich_url = \"https://immich.example.com\";\n  immich_api_key._secret = \"/run/secrets/immich-kiosk-api-key\";\n  albums = [\n    \"4fa933cf-051f-4621-9ac7-8d06776c261c\"\n    \"6466548c-4995-4fb5-ab1f-f63cc9ff3e5f\"\n  ];\n  duration = 30;\n  layout = \"splitview\";\n  disable_ui = true;\n}\n"}, "loc": ["services", "immich-kiosk", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.immich-kiosk.settings.immich_url": {"declarations": ["nixos/modules/services/web-apps/immich-kiosk.nix"], "default": {"_type": "literalExpression", "text": "config.services.immich.settings.server.externalDomain"}, "description": "URL of the immich instance.\n", "loc": ["services", "immich-kiosk", "settings", "immich_url"], "readOnly": false, "type": "string"}, "services.immich-kiosk.settings.kiosk.port": {"declarations": ["nixos/modules/services/web-apps/immich-kiosk.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port on which immich-kiosk will listen.\n", "loc": ["services", "immich-kiosk", "settings", "kiosk", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.immich-public-proxy.enable": {"declarations": ["nixos/modules/services/web-apps/immich-public-proxy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Immich Public Proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immich-public-proxy", "enable"], "readOnly": false, "type": "boolean"}, "services.immich-public-proxy.immichUrl": {"declarations": ["nixos/modules/services/web-apps/immich-public-proxy.nix"], "description": "URL of the Immich instance", "loc": ["services", "immich-public-proxy", "immichUrl"], "readOnly": false, "type": "string"}, "services.immich-public-proxy.openFirewall": {"declarations": ["nixos/modules/services/web-apps/immich-public-proxy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the IPP port in the firewall", "loc": ["services", "immich-public-proxy", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.immich-public-proxy.package": {"declarations": ["nixos/modules/services/web-apps/immich-public-proxy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.immich-public-proxy"}, "description": "The immich-public-proxy package to use.", "loc": ["services", "immich-public-proxy", "package"], "readOnly": false, "type": "package"}, "services.immich-public-proxy.port": {"declarations": ["nixos/modules/services/web-apps/immich-public-proxy.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port that IPP will listen on.", "loc": ["services", "immich-public-proxy", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.immich-public-proxy.settings": {"declarations": ["nixos/modules/services/web-apps/immich-public-proxy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for IPP. See <https://github.com/alangrainger/immich-public-proxy/blob/main/README.md#additional-configuration> for options and defaults.\n", "loc": ["services", "immich-public-proxy", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.immich.accelerationDevices": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of device paths to hardware acceleration devices that immich should\nhave access to. This is useful when transcoding media files.\nThe special value `[ ]` will disallow all devices using `PrivateDevices`. `null` will give access to all devices.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev/dri/renderD128\"\n]"}, "loc": ["services", "immich", "accelerationDevices"], "readOnly": false, "type": "null or (list of string)"}, "services.immich.database.createDB": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the automatic creation of the database for immich..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immich", "database", "createDB"], "readOnly": false, "type": "boolean"}, "services.immich.database.enable": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the postgresql database for use with immich. See {option}`services.postgresql`.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immich", "database", "enable"], "readOnly": false, "type": "boolean"}, "services.immich.database.host": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"/run/postgresql\""}, "description": "Hostname or address of the postgresql server. If an absolute path is given here, it will be interpreted as a unix socket path.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "immich", "database", "host"], "readOnly": false, "type": "string"}, "services.immich.database.name": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"immich\""}, "description": "The name of the immich database.", "loc": ["services", "immich", "database", "name"], "readOnly": false, "type": "string"}, "services.immich.database.port": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "Port of the postgresql server.", "loc": ["services", "immich", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.immich.database.user": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"immich\""}, "description": "The database user for immich.", "loc": ["services", "immich", "database", "user"], "readOnly": false, "type": "string"}, "services.immich.enable": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Immich.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immich", "enable"], "readOnly": false, "type": "boolean"}, "services.immich.environment": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration environment variables. Refer to the [documentation](https://immich.app/docs/install/environment-variables) for options tagged with 'server', 'api' or 'microservices'.\n", "example": {"_type": "literalExpression", "text": "{\n  IMMICH_LOG_LEVEL = \"verbose\";\n}"}, "loc": ["services", "immich", "environment"], "readOnly": false, "type": "open submodule of attribute set of string"}, "services.immich.group": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"immich\""}, "description": "The group immich should run as.", "loc": ["services", "immich", "group"], "readOnly": false, "type": "string"}, "services.immich.host": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The host that immich will listen on.", "loc": ["services", "immich", "host"], "readOnly": false, "type": "string"}, "services.immich.machine-learning.enable": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable immich's machine-learning functionality to detect faces and search for objects.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immich", "machine-learning", "enable"], "readOnly": false, "type": "boolean"}, "services.immich.machine-learning.environment": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration environment variables. Refer to the [documentation](https://immich.app/docs/install/environment-variables) for options tagged with 'machine-learning'.\n", "example": {"_type": "literalExpression", "text": "{\n  MACHINE_LEARNING_MODEL_TTL = \"600\";\n}"}, "loc": ["services", "immich", "machine-learning", "environment"], "readOnly": false, "type": "open submodule of attribute set of string"}, "services.immich.mediaLocation": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/immich\""}, "description": "Directory used to store media files. If it is not the default, the directory has to be created manually such that the immich user is able to read and write to it.", "loc": ["services", "immich", "mediaLocation"], "readOnly": false, "type": "absolute path"}, "services.immich.openFirewall": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the immich port in the firewall", "loc": ["services", "immich", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.immich.package": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "pkgs.immich"}, "description": "The immich package to use.", "loc": ["services", "immich", "package"], "readOnly": false, "type": "package"}, "services.immich.port": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "2283"}, "description": "The port that immich will listen on.", "loc": ["services", "immich", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.immich.redis.enable": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable a redis cache for use with immich.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immich", "redis", "enable"], "readOnly": false, "type": "boolean"}, "services.immich.redis.host": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "config.services.redis.servers.immich.unixSocket"}, "description": "The host that redis will listen on.", "loc": ["services", "immich", "redis", "host"], "readOnly": false, "type": "string"}, "services.immich.redis.port": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The port that redis will listen on. Set to zero to disable TCP.", "loc": ["services", "immich", "redis", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.immich.secretsFile": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of a file with extra environment variables to be loaded from disk. This file is not added to the nix store, so it can be used to pass secrets to immich. Refer to the [documentation](https://immich.app/docs/install/environment-variables) for options.\n\nTo set a database password set this to a file containing:\n```\nDB_PASSWORD=<pass>\n```\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/immich\""}, "loc": ["services", "immich", "secretsFile"], "readOnly": false, "type": "null or string"}, "services.immich.settings": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration for Immich.\nSee <https://immich.app/docs/install/config-file/> or navigate to\n<https://my.immich.app/admin/system-settings> for\noptions and defaults.\nSetting it to `null` allows configuring Immich in the web interface.\nYou can load secret values from a file in this configuration by setting `somevalue._secret = \"/path/to/file\"` instead of setting `somevalue` directly.\n", "loc": ["services", "immich", "settings"], "readOnly": false, "type": "null or (open submodule of (JSON value))"}, "services.immich.settings.newVersionCheck.enabled": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Check for new versions.\nThis feature relies on periodic communication with github.com.\n", "loc": ["services", "immich", "settings", "newVersionCheck", "enabled"], "readOnly": false, "type": "boolean"}, "services.immich.settings.server.externalDomain": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Domain for publicly shared links, including `http(s)://`.", "loc": ["services", "immich", "settings", "server", "externalDomain"], "readOnly": false, "type": "string"}, "services.immich.user": {"declarations": ["nixos/modules/services/web-apps/immich.nix"], "default": {"_type": "literalExpression", "text": "\"immich\""}, "description": "The user immich should run as.", "loc": ["services", "immich", "user"], "readOnly": false, "type": "string"}, "services.immichframe.enable": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ImmichFrame.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "immichframe", "enable"], "readOnly": false, "type": "boolean"}, "services.immichframe.package": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "default": {"_type": "literalExpression", "text": "pkgs.immichframe"}, "description": "The immichframe package to use.", "loc": ["services", "immichframe", "package"], "readOnly": false, "type": "package"}, "services.immichframe.port": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port that ImmichFrame will listen on.", "loc": ["services", "immichframe", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.immichframe.settings": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for ImmichFrame. See\n<https://immichframe.online/docs/getting-started/configuration> for\noptions and defaults.\n", "loc": ["services", "immichframe", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.immichframe.settings.Accounts": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "description": "Accounts configuration, multiple are permitted. See\n<https://immichframe.online/docs/getting-started/configuration>.\n", "loc": ["services", "immichframe", "settings", "Accounts"], "readOnly": false, "type": "list of (open submodule of (JSON value))"}, "services.immichframe.settings.Accounts.*.ApiKey": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "API key to talk to the Immich server.\nWarning: it will be world-readable in /nix/store.\nConsider using {option}`ApiKeyFile` instead.\n\nSee\n<https://immichframe.online/docs/getting-started/configuration#api-key-permissions>\nfor details on what permissions this key needs.\n", "loc": ["services", "immichframe", "settings", "Accounts", "*", "ApiKey"], "readOnly": false, "type": "null or string"}, "services.immichframe.settings.Accounts.*.ApiKeyFile": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing an API key to talk to the Immich server.\n\nSee\n<https://immichframe.online/docs/getting-started/configuration#api-key-permissions>\nfor details on what permissions this key needs.\n", "loc": ["services", "immichframe", "settings", "Accounts", "*", "ApiKeyFile"], "readOnly": false, "type": "null or absolute path not in the Nix store"}, "services.immichframe.settings.Accounts.*.ImmichServerUrl": {"declarations": ["nixos/modules/services/web-apps/immichframe.nix"], "description": "The URL of your Immich server.", "example": {"_type": "literalExpression", "text": "\"http://photos.example.com\""}, "loc": ["services", "immichframe", "settings", "Accounts", "*", "ImmichServerUrl"], "readOnly": false, "type": "string"}, "services.inadyn.configFile": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration file for inadyn.\n\nSetting this will override all other configuration options.\n\nPassed to the inadyn service using LoadCredential.\n", "loc": ["services", "inadyn", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.inadyn.enable": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable synchronise your machine's IP address with a dynamic DNS provider using inadyn\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "inadyn", "enable"], "readOnly": false, "type": "boolean"}, "services.inadyn.group": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "\"inadyn\""}, "description": "Group account under which inadyn runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise you are responsible for\nensuring the user exists before the inadyn service starts.\n:::\n", "loc": ["services", "inadyn", "group"], "readOnly": false, "type": "string"}, "services.inadyn.interval": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "\"*-*-* *:*:00\""}, "description": "How often to check the current IP.\nUses the format described in {manpage}`systemd.time(7)`\";\n", "loc": ["services", "inadyn", "interval"], "readOnly": false, "type": "string"}, "services.inadyn.logLevel": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "\"notice\""}, "description": "Set inadyn's log level.", "loc": ["services", "inadyn", "logLevel"], "readOnly": false, "type": "one of \"none\", \"err\", \"warning\", \"info\", \"notice\", \"debug\""}, "services.inadyn.settings": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See `inadyn.conf (5)`", "loc": ["services", "inadyn", "settings"], "readOnly": false, "type": "open submodule of (attribute set)"}, "services.inadyn.settings.allow-ipv6": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "config.networking.enableIPv6"}, "description": "Whether to get IPv6 addresses from interfaces.", "loc": ["services", "inadyn", "settings", "allow-ipv6"], "readOnly": false, "type": "boolean"}, "services.inadyn.settings.custom": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for custom DNS providers.\n", "loc": ["services", "inadyn", "settings", "custom"], "readOnly": false, "type": "attribute set of (open submodule of (attribute set))"}, "services.inadyn.settings.custom.<name>.ddns-path": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "description": "DDNS server path.\n\nSee `inadnyn.conf (5)` for a list for format specifiers that can be used.\n", "example": {"_type": "literalExpression", "text": "\"/update?user=%u&password=%p&domain=%h&myip=%i\""}, "loc": ["services", "inadyn", "settings", "custom", "<name>", "ddns-path"], "readOnly": false, "type": "string"}, "services.inadyn.settings.custom.<name>.ddns-server": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "description": "DDNS server name.", "loc": ["services", "inadyn", "settings", "custom", "<name>", "ddns-server"], "readOnly": false, "type": "string"}, "services.inadyn.settings.custom.<name>.hostname": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "Hostname alias(es).", "example": {"_type": "literalExpression", "text": "\"your.cool-domain.com\""}, "loc": ["services", "inadyn", "settings", "custom", "<name>", "hostname"], "readOnly": false, "type": "string or list of string"}, "services.inadyn.settings.custom.<name>.include": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File to include additional settings for this provider from.", "loc": ["services", "inadyn", "settings", "custom", "<name>", "include"], "readOnly": false, "type": "null or absolute path"}, "services.inadyn.settings.custom.<name>.password": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for this DDNS provider.\n\nWARNING: This will be world-readable in the nix store.\nTo store credentials securely, use the `include` or `configFile` options.\n", "loc": ["services", "inadyn", "settings", "custom", "<name>", "password"], "readOnly": false, "type": "null or string"}, "services.inadyn.settings.custom.<name>.ssl": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use HTTPS for this DDNS provider.", "loc": ["services", "inadyn", "settings", "custom", "<name>", "ssl"], "readOnly": false, "type": "boolean"}, "services.inadyn.settings.custom.<name>.username": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username for this DDNS provider.", "loc": ["services", "inadyn", "settings", "custom", "<name>", "username"], "readOnly": false, "type": "null or string"}, "services.inadyn.settings.forced-update": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "2592000"}, "description": "Duration (in seconds) after which an update is forced.", "loc": ["services", "inadyn", "settings", "forced-update"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.inadyn.settings.provider": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for DDNS providers built-in to inadyn.\n\nFor a list of built-in providers, see `inadyn.conf (5)`.\n", "loc": ["services", "inadyn", "settings", "provider"], "readOnly": false, "type": "attribute set of (open submodule of (attribute set))"}, "services.inadyn.settings.provider.<name>.hostname": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "Hostname alias(es).", "example": {"_type": "literalExpression", "text": "\"your.cool-domain.com\""}, "loc": ["services", "inadyn", "settings", "provider", "<name>", "hostname"], "readOnly": false, "type": "string or list of string"}, "services.inadyn.settings.provider.<name>.include": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File to include additional settings for this provider from.", "loc": ["services", "inadyn", "settings", "provider", "<name>", "include"], "readOnly": false, "type": "null or absolute path"}, "services.inadyn.settings.provider.<name>.password": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for this DDNS provider.\n\nWARNING: This will be world-readable in the nix store.\nTo store credentials securely, use the `include` or `configFile` options.\n", "loc": ["services", "inadyn", "settings", "provider", "<name>", "password"], "readOnly": false, "type": "null or string"}, "services.inadyn.settings.provider.<name>.ssl": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to use HTTPS for this DDNS provider.", "loc": ["services", "inadyn", "settings", "provider", "<name>", "ssl"], "readOnly": false, "type": "boolean"}, "services.inadyn.settings.provider.<name>.username": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Username for this DDNS provider.", "loc": ["services", "inadyn", "settings", "provider", "<name>", "username"], "readOnly": false, "type": "null or string"}, "services.inadyn.user": {"declarations": ["nixos/modules/services/networking/inadyn.nix"], "default": {"_type": "literalExpression", "text": "\"inadyn\""}, "description": "User account under which inadyn runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise you are responsible for\nensuring the user exists before the inadyn service starts.\n:::\n", "loc": ["services", "inadyn", "user"], "readOnly": false, "type": "string"}, "services.incron.allow": {"declarations": ["nixos/modules/services/monitoring/incron.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Users allowed to use incrontab.\n\nIf empty then no user will be allowed to have their own incrontab.\nIf `null` then will defer to {option}`deny`.\nIf both {option}`allow` and {option}`deny` are null\nthen all users will be allowed to have their own incrontab.\n", "loc": ["services", "incron", "allow"], "readOnly": false, "type": "null or (list of string)"}, "services.incron.deny": {"declarations": ["nixos/modules/services/monitoring/incron.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Users forbidden from using incrontab.", "loc": ["services", "incron", "deny"], "readOnly": false, "type": "null or (list of string)"}, "services.incron.enable": {"declarations": ["nixos/modules/services/monitoring/incron.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the incron daemon.\n\nNote that commands run under incrontab only support common Nix profiles for the {env}`PATH` provided variable.\n", "loc": ["services", "incron", "enable"], "readOnly": false, "type": "boolean"}, "services.incron.extraPackages": {"declarations": ["nixos/modules/services/monitoring/incron.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages available to the system incrontab.", "example": {"_type": "literalExpression", "text": "[ pkgs.rsync ]"}, "loc": ["services", "incron", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.incron.systab": {"declarations": ["nixos/modules/services/monitoring/incron.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The system incrontab contents.", "example": {"_type": "literalExpression", "text": "''\n  /var/mail IN_CLOSE_WRITE abc $@/$#\n  /tmp IN_ALL_EVENTS efg $@/$# $&\n''"}, "loc": ["services", "incron", "systab"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.infinoted.certificateChain": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Chain of CA-certificates to which our `certificateFile` is relative.\nOptional for TLS.\n", "loc": ["services", "infinoted", "certificateChain"], "readOnly": false, "type": "null or absolute path"}, "services.infinoted.certificateFile": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Server certificate to use for TLS\n", "loc": ["services", "infinoted", "certificateFile"], "readOnly": false, "type": "null or absolute path"}, "services.infinoted.enable": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable infinoted.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "infinoted", "enable"], "readOnly": false, "type": "boolean"}, "services.infinoted.extraConfig": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "''\n  [autosave]\n  interval=10\n''"}, "description": "Additional configuration to append to infinoted.conf\n", "loc": ["services", "infinoted", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.infinoted.group": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "\"infinoted\""}, "description": "What to call the primary group of the dedicated user under which infinoted is run\n", "loc": ["services", "infinoted", "group"], "readOnly": false, "type": "string"}, "services.infinoted.keyFile": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Private key to use for TLS\n", "loc": ["services", "infinoted", "keyFile"], "readOnly": false, "type": "null or absolute path"}, "services.infinoted.package": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "pkgs.libinfinity"}, "description": "The libinfinity package to use.", "loc": ["services", "infinoted", "package"], "readOnly": false, "type": "package"}, "services.infinoted.passwordFile": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File to read server-wide password from\n", "loc": ["services", "infinoted", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.infinoted.plugins": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"note-text\"\n  \"note-chat\"\n  \"logging\"\n  \"autosave\"\n]"}, "description": "Plugins to enable\n", "loc": ["services", "infinoted", "plugins"], "readOnly": false, "type": "list of string"}, "services.infinoted.port": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "6523"}, "description": "Port to listen on\n", "loc": ["services", "infinoted", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.infinoted.rootDirectory": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/infinoted/documents/\""}, "description": "Root of the directory structure to serve\n", "loc": ["services", "infinoted", "rootDirectory"], "readOnly": false, "type": "absolute path"}, "services.infinoted.securityPolicy": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "\"require-tls\""}, "description": "How strictly to enforce clients connection with TLS.\n", "loc": ["services", "infinoted", "securityPolicy"], "readOnly": false, "type": "one of \"no-tls\", \"allow-tls\", \"require-tls\""}, "services.infinoted.user": {"declarations": ["nixos/modules/services/editors/infinoted.nix"], "default": {"_type": "literalExpression", "text": "\"infinoted\""}, "description": "What to call the dedicated user under which infinoted is run\n", "loc": ["services", "infinoted", "user"], "readOnly": false, "type": "string"}, "services.influxdb.dataDir": {"declarations": ["nixos/modules/services/databases/influxdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/db/influxdb\""}, "description": "Data directory for influxd data files.", "loc": ["services", "influxdb", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.influxdb.enable": {"declarations": ["nixos/modules/services/databases/influxdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the influxdb server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "influxdb", "enable"], "readOnly": false, "type": "boolean"}, "services.influxdb.group": {"declarations": ["nixos/modules/services/databases/influxdb.nix"], "default": {"_type": "literalExpression", "text": "\"influxdb\""}, "description": "Group under which influxdb runs", "loc": ["services", "influxdb", "group"], "readOnly": false, "type": "string"}, "services.influxdb.package": {"declarations": ["nixos/modules/services/databases/influxdb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.influxdb"}, "description": "The influxdb package to use.", "loc": ["services", "influxdb", "package"], "readOnly": false, "type": "package"}, "services.influxdb.settings": {"declarations": ["nixos/modules/services/databases/influxdb.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options for influxdb", "loc": ["services", "influxdb", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.influxdb.user": {"declarations": ["nixos/modules/services/databases/influxdb.nix"], "default": {"_type": "literalExpression", "text": "\"influxdb\""}, "description": "User account under which influxdb runs", "loc": ["services", "influxdb", "user"], "readOnly": false, "type": "string"}, "services.influxdb2.enable": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the influxdb2 server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "influxdb2", "enable"], "readOnly": false, "type": "boolean"}, "services.influxdb2.package": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "pkgs.influxdb2"}, "description": "The influxdb2 package to use.", "loc": ["services", "influxdb2", "package"], "readOnly": false, "type": "package"}, "services.influxdb2.provision.enable": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable initial database setup and provisioning.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "influxdb2", "provision", "enable"], "readOnly": false, "type": "boolean"}, "services.influxdb2.provision.initialSetup.bucket": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "description": "Primary bucket name", "example": {"_type": "literalExpression", "text": "\"example\""}, "loc": ["services", "influxdb2", "provision", "initialSetup", "bucket"], "readOnly": false, "type": "string"}, "services.influxdb2.provision.initialSetup.organization": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "description": "Primary organization name", "example": {"_type": "literalExpression", "text": "\"main\""}, "loc": ["services", "influxdb2", "provision", "initialSetup", "organization"], "readOnly": false, "type": "string"}, "services.influxdb2.provision.initialSetup.passwordFile": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "description": "Password for primary user. Don't use a file from the nix store!", "loc": ["services", "influxdb2", "provision", "initialSetup", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.influxdb2.provision.initialSetup.retention": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The duration in seconds for which the bucket will retain data (0 is infinite).", "loc": ["services", "influxdb2", "provision", "initialSetup", "retention"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.influxdb2.provision.initialSetup.tokenFile": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "description": "API Token to set for the admin user. Don't use a file from the nix store!", "loc": ["services", "influxdb2", "provision", "initialSetup", "tokenFile"], "readOnly": false, "type": "absolute path"}, "services.influxdb2.provision.initialSetup.username": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Primary username", "loc": ["services", "influxdb2", "provision", "initialSetup", "username"], "readOnly": false, "type": "string"}, "services.influxdb2.provision.organizations": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Organizations to provision.", "example": {"_type": "literalExpression", "text": "{\n  myorg = {\n    description = \"My organization\";\n    buckets.mybucket = {\n      description = \"My bucket\";\n      retention = 31536000; # 1 year\n    };\n    auths.mytoken = {\n      readBuckets = [\"mybucket\"];\n      tokenFile = \"/run/secrets/mytoken\";\n    };\n  };\n}\n"}, "loc": ["services", "influxdb2", "provision", "organizations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.influxdb2.provision.organizations.<name>.auths": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "API tokens to provision for the user in this organization.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.allAccess": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Grants all permissions in the associated organization.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "allAccess"], "readOnly": false, "type": "boolean"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.description": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional description for the API token.\nNote that the actual token will always be created with a descriptionregardless\nof whether this is given or not. The name is always added plus a unique suffix\nto later identify the token to track whether it has already been created.\n", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "description"], "readOnly": false, "type": "null or string"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.id": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "\"<a hash derived from org and name>\""}, "description": "A unique identifier for this authentication token. Since influx doesn't store names for tokens, this will be hashed and appended to the description to identify the token.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "id"], "readOnly": true, "type": "string"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.operator": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Grants all permissions in all organizations.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "operator"], "readOnly": false, "type": "boolean"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.present": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ensure that this user is present or absent.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "present"], "readOnly": false, "type": "boolean"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.readBuckets": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The organization's buckets which should be allowed to be read", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "readBuckets"], "readOnly": false, "type": "list of string"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.readPermissions": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The read permissions to include for this token. Access is usually granted only\nfor resources in the associated organization.\n\nAvailable permissions are `authorizations`, `buckets`, `dashboards`,\n`orgs`, `tasks`, `telegrafs`, `users`, `variables`, `secrets`, `labels`, `views`,\n`documents`, `notificationRules`, `notificationEndpoints`, `checks`, `dbrp`,\n`annotations`, `sources`, `scrapers`, `notebooks`, `remotes`, `replications`.\n\nRefer to `influx auth create --help` for a full list with descriptions.\n\n`buckets` grants read access to all associated buckets. Use `readBuckets` to define\nmore granular access permissions.\n", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "readPermissions"], "readOnly": false, "type": "list of (one of \"authorizations\", \"buckets\", \"dashboards\", \"orgs\", \"tasks\", \"telegrafs\", \"users\", \"variables\", \"secrets\", \"labels\", \"views\", \"documents\", \"notificationRules\", \"notificationEndpoints\", \"checks\", \"dbrp\", \"annotations\", \"sources\", \"scrapers\", \"notebooks\", \"remotes\", \"replications\")"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.tokenFile": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The token value. If not given, influx will automatically generate one.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "tokenFile"], "readOnly": false, "type": "null or absolute path"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.writeBuckets": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The organization's buckets which should be allowed to be written", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "writeBuckets"], "readOnly": false, "type": "list of string"}, "services.influxdb2.provision.organizations.<name>.auths.<name>.writePermissions": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The read permissions to include for this token. Access is usually granted only\nfor resources in the associated organization.\n\nAvailable permissions are `authorizations`, `buckets`, `dashboards`,\n`orgs`, `tasks`, `telegrafs`, `users`, `variables`, `secrets`, `labels`, `views`,\n`documents`, `notificationRules`, `notificationEndpoints`, `checks`, `dbrp`,\n`annotations`, `sources`, `scrapers`, `notebooks`, `remotes`, `replications`.\n\nRefer to `influx auth create --help` for a full list with descriptions.\n\n`buckets` grants write access to all associated buckets. Use `writeBuckets` to define\nmore granular access permissions.\n", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "auths", "<name>", "writePermissions"], "readOnly": false, "type": "list of (one of \"authorizations\", \"buckets\", \"dashboards\", \"orgs\", \"tasks\", \"telegrafs\", \"users\", \"variables\", \"secrets\", \"labels\", \"views\", \"documents\", \"notificationRules\", \"notificationEndpoints\", \"checks\", \"dbrp\", \"annotations\", \"sources\", \"scrapers\", \"notebooks\", \"remotes\", \"replications\")"}, "services.influxdb2.provision.organizations.<name>.buckets": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Buckets to provision in this organization.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "buckets"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.influxdb2.provision.organizations.<name>.buckets.<name>.description": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional description for the bucket.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "buckets", "<name>", "description"], "readOnly": false, "type": "null or string"}, "services.influxdb2.provision.organizations.<name>.buckets.<name>.present": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ensure that this bucket is present or absent.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "buckets", "<name>", "present"], "readOnly": false, "type": "boolean"}, "services.influxdb2.provision.organizations.<name>.buckets.<name>.retention": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "The duration in seconds for which the bucket will retain data (0 is infinite).", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "buckets", "<name>", "retention"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.influxdb2.provision.organizations.<name>.description": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional description for the organization.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "description"], "readOnly": false, "type": "null or string"}, "services.influxdb2.provision.organizations.<name>.present": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ensure that this organization is present or absent.", "loc": ["services", "influxdb2", "provision", "organizations", "<name>", "present"], "readOnly": false, "type": "boolean"}, "services.influxdb2.provision.users": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Users to provision.", "example": {"_type": "literalExpression", "text": "{\n  # admin = {}; /* The initialSetup.username will automatically be added. */\n  myuser.passwordFile = \"/run/secrets/myuser_password\";\n}\n"}, "loc": ["services", "influxdb2", "provision", "users"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.influxdb2.provision.users.<name>.passwordFile": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for the user. If unset, the user will not be able to log in until a password is set by an operator! Don't use a file from the nix store!", "loc": ["services", "influxdb2", "provision", "users", "<name>", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.influxdb2.provision.users.<name>.present": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ensure that this user is present or absent.", "loc": ["services", "influxdb2", "provision", "users", "<name>", "present"], "readOnly": false, "type": "boolean"}, "services.influxdb2.settings": {"declarations": ["nixos/modules/services/databases/influxdb2.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "configuration options for influxdb2, see <https://docs.influxdata.com/influxdb/v2.0/reference/config-options> for details.", "loc": ["services", "influxdb2", "settings"], "readOnly": false, "type": "JSON value"}, "services.infnoise.enable": {"declarations": ["nixos/modules/services/security/infnoise.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Infinite Noise TRNG driver.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "infnoise", "enable"], "readOnly": false, "type": "boolean"}, "services.infnoise.fillDevRandom": {"declarations": ["nixos/modules/services/security/infnoise.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to run the infnoise driver as a daemon to refill /dev/random.\n\nIf disabled, you can use the `infnoise` command-line tool to\nmanually obtain randomness.\n", "loc": ["services", "infnoise", "fillDevRandom"], "readOnly": false, "type": "boolean"}, "services.input-remapper.enable": {"declarations": ["nixos/modules/services/misc/input-remapper.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable input-remapper, an easy to use tool to change the mapping of your input device buttons.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "input-remapper", "enable"], "readOnly": false, "type": "boolean"}, "services.input-remapper.enableUdevRules": {"declarations": ["nixos/modules/services/misc/input-remapper.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to <https://github.com/sezanzeb/input-remapper/issues/140>.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "input-remapper", "enableUdevRules"], "readOnly": false, "type": "boolean"}, "services.input-remapper.package": {"declarations": ["nixos/modules/services/misc/input-remapper.nix"], "default": {"_type": "literalExpression", "text": "pkgs.input-remapper"}, "description": "The input-remapper package to use.", "loc": ["services", "input-remapper", "package"], "readOnly": false, "type": "package"}, "services.input-remapper.serviceWantedBy": {"declarations": ["nixos/modules/services/misc/input-remapper.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"graphical.target\"\n]"}, "description": "Specifies the WantedBy setting for the input-remapper service.", "example": {"_type": "literalExpression", "text": "[\n  \"multi-user.target\"\n]"}, "loc": ["services", "input-remapper", "serviceWantedBy"], "readOnly": false, "type": "list of string"}, "services.inputplumber.enable": {"declarations": ["nixos/modules/services/hardware/inputplumber.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable InputPlumber.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "inputplumber", "enable"], "readOnly": false, "type": "boolean"}, "services.inputplumber.package": {"declarations": ["nixos/modules/services/hardware/inputplumber.nix"], "default": {"_type": "literalExpression", "text": "pkgs.inputplumber"}, "description": "The inputplumber package to use.", "loc": ["services", "inputplumber", "package"], "readOnly": false, "type": "package"}, "services.inspircd.config": {"declarations": ["nixos/modules/services/networking/inspircd.nix"], "description": "Verbatim {file}`inspircd.conf` file.\nFor a list of options, consult the\n[InspIRCd documentation](https://docs.inspircd.org/3/configuration/), the\n[Module documentation](https://docs.inspircd.org/3/modules/)\nand the example configuration files distributed\nwith `pkgs.inspircd.doc`\n", "loc": ["services", "inspircd", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.inspircd.enable": {"declarations": ["nixos/modules/services/networking/inspircd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable InspIRCd.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "inspircd", "enable"], "readOnly": false, "type": "boolean"}, "services.inspircd.package": {"declarations": ["nixos/modules/services/networking/inspircd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.inspircd"}, "description": "The InspIRCd package to use. This is mainly useful\nto specify an overridden version of the\n`pkgs.inspircd` dervivation, for\nexample if you want to use a more minimal InspIRCd\ndistribution with less modules enabled or with\nmodules enabled which can't be distributed in binary\nform due to licensing issues.\n", "example": {"_type": "literalExpression", "text": "pkgs.inspircdMinimal"}, "loc": ["services", "inspircd", "package"], "readOnly": false, "type": "package"}, "services.interception-tools.enable": {"declarations": ["nixos/modules/services/hardware/interception-tools.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the interception tools service.", "loc": ["services", "interception-tools", "enable"], "readOnly": false, "type": "boolean"}, "services.interception-tools.plugins": {"declarations": ["nixos/modules/services/hardware/interception-tools.nix"], "default": {"_type": "literalExpression", "text": "[ pkgs.interception-tools-plugins.caps2esc ]"}, "description": "A list of interception tools plugins that will be made available to use\ninside the udevmon configuration.\n", "loc": ["services", "interception-tools", "plugins"], "readOnly": false, "type": "list of package"}, "services.interception-tools.udevmonConfig": {"declarations": ["nixos/modules/services/hardware/interception-tools.nix"], "default": {"_type": "literalExpression", "text": "''\n  - JOB: \"intercept -g $DEVNODE | caps2esc | uinput -d $DEVNODE\"\n    DEVICE:\n      EVENTS:\n        EV_KEY: [KEY_CAPSLOCK, KEY_ESC]\n''"}, "description": "String of udevmon YAML configuration, or path to a udevmon YAML\nconfiguration file.\n", "example": {"_type": "literalExpression", "text": "''\n  - JOB: \"intercept -g $DEVNODE | y2z | x2y | uinput -d $DEVNODE\"\n    DEVICE:\n      EVENTS:\n        EV_KEY: [KEY_X, KEY_Y]\n''"}, "loc": ["services", "interception-tools", "udevmonConfig"], "readOnly": false, "type": "string or absolute path"}, "services.intune.enable": {"declarations": ["nixos/modules/services/security/intune.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Microsoft Intune.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "intune", "enable"], "readOnly": false, "type": "boolean"}, "services.invidious-router.address": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address on which invidious-router should listen on.\n", "loc": ["services", "invidious-router", "address"], "readOnly": false, "type": "string"}, "services.invidious-router.enable": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the invidious-router service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "invidious-router", "enable"], "readOnly": false, "type": "boolean"}, "services.invidious-router.nginx.domain": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "description": "The domain on which invidious-router should be served.\n", "example": {"_type": "literalExpression", "text": "\"invidious-router.example.com\""}, "loc": ["services", "invidious-router", "nginx", "domain"], "readOnly": false, "type": "string"}, "services.invidious-router.nginx.enable": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Automatic nginx proxy configuration\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "invidious-router", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.invidious-router.nginx.extraDomains": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional domains to serve invidious-router on.\n", "loc": ["services", "invidious-router", "nginx", "extraDomains"], "readOnly": false, "type": "list of string"}, "services.invidious-router.package": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "default": {"_type": "literalExpression", "text": "pkgs.invidious-router"}, "description": "The invidious-router package to use.", "loc": ["services", "invidious-router", "package"], "readOnly": false, "type": "package"}, "services.invidious-router.port": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "default": {"_type": "literalExpression", "text": "8050"}, "description": "Port to bind to.\n", "loc": ["services", "invidious-router", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.invidious-router.settings": {"declarations": ["nixos/modules/services/misc/invidious-router.nix"], "default": {"_type": "literalExpression", "text": "{\n  api = {\n    allowed_regions = [\n      \"AT\"\n      \"DE\"\n      \"CH\"\n    ];\n    enabled = true;\n    filter_regions = true;\n    url = \"https://api.invidious.io/instances.json\";\n  };\n  app = {\n    enable_youtube_fallback = false;\n    listen = \"127.0.0.1:8050\";\n    reload_instance_list_interval = \"60s\";\n  };\n  healthcheck = {\n    allowed_status_codes = [\n      200\n    ];\n    filter_by_response_time = {\n      enabled = true;\n      qty_of_top_results = 3;\n    };\n    interval = \"10s\";\n    minimum_ratio = 0.2;\n    path = \"/\";\n    remove_no_ratio = true;\n    text_not_present = \"YouTube is currently trying to block Invidious instances\";\n    timeout = \"1s\";\n  };\n}"}, "description": "Configuration for invidious-router.\nCheck <https://gitlab.com/gaincoder/invidious-router#configuration>\nfor configuration options.\n", "loc": ["services", "invidious-router", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.invidious.address": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "if config.services.invidious.nginx.enable then \"127.0.0.1\" else \"0.0.0.0\""}, "description": "The IP address Invidious should bind to.\n", "loc": ["services", "invidious", "address"], "readOnly": false, "type": "string"}, "services.invidious.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to create a local database with PostgreSQL.\n", "loc": ["services", "invidious", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.invidious.database.host": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The database host Invidious should use.\n\nIf `null`, the local unix socket is used. Otherwise\nTCP is used.\n", "loc": ["services", "invidious", "database", "host"], "readOnly": false, "type": "null or string"}, "services.invidious.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file containing the database password.\n", "loc": ["services", "invidious", "database", "passwordFile"], "readOnly": false, "type": "null or string"}, "services.invidious.database.port": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "config.services.postgresql.settings.port"}, "description": "The port of the database Invidious should use.\n\nDefaults to the the default postgresql port.\n", "loc": ["services", "invidious", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.invidious.domain": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The FQDN Invidious is reachable on.\n\nThis is used to configure nginx and for building absolute URLs.\n", "loc": ["services", "invidious", "domain"], "readOnly": false, "type": "null or string"}, "services.invidious.enable": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Invidious.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "invidious", "enable"], "readOnly": false, "type": "boolean"}, "services.invidious.extraSettingsFile": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file including Invidious settings.\n\nIt gets merged with the settings specified in {option}`services.invidious.settings`\nand can be used to store secrets like `hmac_key` outside of the nix store.\n", "loc": ["services", "invidious", "extraSettingsFile"], "readOnly": false, "type": "null or string"}, "services.invidious.hmacKeyFile": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A path to a file containing the `hmac_key`. If `null`, a key will be generated automatically on first\nstart.\n\nIf non-`null`, this option overrides any `hmac_key` specified in {option}`services.invidious.settings` or\nvia {option}`services.invidious.extraSettingsFile`.\n", "loc": ["services", "invidious", "hmacKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.invidious.http3-ytproxy.enable": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable http3-ytproxy for faster loading of images and video playback.\n\nIf {option}`services.invidious.nginx.enable` is used, nginx will be configured automatically. If not, you\nneed to configure a reverse proxy yourself according to\n<https://docs.invidious.io/improve-public-instance/#3-speed-up-video-playback-with-http3-ytproxy>.\n", "loc": ["services", "invidious", "http3-ytproxy", "enable"], "readOnly": false, "type": "boolean"}, "services.invidious.http3-ytproxy.package": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "pkgs.http3-ytproxy"}, "description": "The http3-ytproxy package to use.", "loc": ["services", "invidious", "http3-ytproxy", "package"], "readOnly": false, "type": "package"}, "services.invidious.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to configure nginx as a reverse proxy for Invidious.\n\nIt serves it under the domain specified in {option}`services.invidious.settings.domain` with enabled TLS and ACME.\nFurther configuration can be done through {option}`services.nginx.virtualHosts.${config.services.invidious.settings.domain}.*`,\nwhich can also be used to disable AMCE and TLS.\n", "loc": ["services", "invidious", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.invidious.package": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "pkgs.invidious"}, "description": "The invidious package to use.", "loc": ["services", "invidious", "package"], "readOnly": false, "type": "package"}, "services.invidious.port": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port Invidious should listen on.\n\nTo allow access from outside,\nyou can use either {option}`services.invidious.nginx`\nor add `config.services.invidious.port` to {option}`networking.firewall.allowedTCPPorts`.\n", "loc": ["services", "invidious", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.invidious.serviceScale": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "How many invidious instances to run.\n\nSee <https://docs.invidious.io/improve-public-instance/#2-multiple-invidious-processes> for more details\non how this is intended to work. All instances beyond the first one have the options `channel_threads`\nand `feed_threads` set to 0 to avoid conflicts with multiple instances refreshing subscriptions. Instances\nwill be configured to bind to consecutive ports starting with {option}`services.invidious.port` for the\nfirst instance.\n", "loc": ["services", "invidious", "serviceScale"], "readOnly": false, "type": "signed integer"}, "services.invidious.settings": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The settings Invidious should use.\n\nSee [config.example.yml](https://github.com/iv-org/invidious/blob/master/config/config.example.yml) for a list of all possible options.\n", "loc": ["services", "invidious", "settings"], "readOnly": false, "type": "JSON value"}, "services.invidious.sig-helper.enable": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable and configure inv-sig-helper to emulate the youtube client's javascript. This is required\nto make certain videos playable.\n\nThis will download and run completely untrusted javascript from youtube! While this service is sandboxed,\nthis may still be an issue!\n", "loc": ["services", "invidious", "sig-helper", "enable"], "readOnly": false, "type": "boolean"}, "services.invidious.sig-helper.listenAddress": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:2999\""}, "description": "The IP address/port where inv-sig-helper should listen.\n", "loc": ["services", "invidious", "sig-helper", "listenAddress"], "readOnly": false, "type": "string"}, "services.invidious.sig-helper.package": {"declarations": ["nixos/modules/services/web-apps/invidious.nix"], "default": {"_type": "literalExpression", "text": "pkgs.inv-sig-helper"}, "description": "The inv-sig-helper package to use.", "loc": ["services", "invidious", "sig-helper", "package"], "readOnly": false, "type": "package"}, "services.invoiceplane": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "InvoicePlane configuration.", "loc": ["services", "invoiceplane"], "readOnly": false, "type": "submodule"}, "services.invoiceplane.sites": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more InvoicePlane sites to serve", "loc": ["services", "invoiceplane", "sites"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.invoiceplane.sites.<name>.cron.enable": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable cron service which periodically runs Invoiceplane tasks.\nRequires key taken from the administration page. Refer to\n<https://wiki.invoiceplane.com/en/1.0/modules/recurring-invoices>\non how to configure it.\n", "loc": ["services", "invoiceplane", "sites", "<name>", "cron", "enable"], "readOnly": false, "type": "boolean"}, "services.invoiceplane.sites.<name>.cron.key": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "description": "Cron key taken from the administration page.", "loc": ["services", "invoiceplane", "sites", "<name>", "cron", "key"], "readOnly": false, "type": "string"}, "services.invoiceplane.sites.<name>.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "invoiceplane", "sites", "<name>", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.invoiceplane.sites.<name>.database.host": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host address.", "loc": ["services", "invoiceplane", "sites", "<name>", "database", "host"], "readOnly": false, "type": "string"}, "services.invoiceplane.sites.<name>.database.name": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "\"invoiceplane\""}, "description": "Database name.", "loc": ["services", "invoiceplane", "sites", "<name>", "database", "name"], "readOnly": false, "type": "string"}, "services.invoiceplane.sites.<name>.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/invoiceplane-dbpassword\""}, "loc": ["services", "invoiceplane", "sites", "<name>", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.invoiceplane.sites.<name>.database.port": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port.", "loc": ["services", "invoiceplane", "sites", "<name>", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.invoiceplane.sites.<name>.database.user": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "\"invoiceplane\""}, "description": "Database user.", "loc": ["services", "invoiceplane", "sites", "<name>", "database", "user"], "readOnly": false, "type": "string"}, "services.invoiceplane.sites.<name>.enable": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable InvoicePlane web application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "invoiceplane", "sites", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.invoiceplane.sites.<name>.invoiceTemplates": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of path(s) to respective template(s) which are copied from the 'invoice_templates/pdf' directory.\n\n::: {.note}\nThese templates need to be packaged before use, see example.\n:::\n", "example": {"_type": "literalExpression", "text": "let\n  # Let's package an example template\n  template-vtdirektmarketing = pkgs.stdenv.mkDerivation {\n    name = \"vtdirektmarketing\";\n    # Download the template from a public repository\n    src = pkgs.fetchgit {\n      url = \"https://git.project-insanity.org/onny/invoiceplane-vtdirektmarketing.git\";\n      sha256 = \"1hh0q7wzsh8v8x03i82p6qrgbxr4v5fb05xylyrpp975l8axyg2z\";\n    };\n    sourceRoot = \".\";\n    # Installing simply means copying template php file to the output directory\n    installPhase = \"\"\n      mkdir -p $out\n      cp invoiceplane-vtdirektmarketing/vtdirektmarketing.php $out/\n    \"\";\n  };\n# And then pass this package to the template list like this:\nin [ template-vtdirektmarketing ]\n"}, "loc": ["services", "invoiceplane", "sites", "<name>", "invoiceTemplates"], "readOnly": false, "type": "list of absolute path"}, "services.invoiceplane.sites.<name>.poolConfig": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the InvoicePlane PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "invoiceplane", "sites", "<name>", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.invoiceplane.sites.<name>.quoteTemplates": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of path(s) to respective template(s) which are copied from the 'quote_templates/pdf' directory.\n\n::: {.note}\nThese templates need to be packaged before use, see example.\n:::\n", "example": {"_type": "literalExpression", "text": "let\n  # Let's package an example template\n  template-vtdirektmarketing = pkgs.stdenv.mkDerivation {\n    name = \"vtdirektmarketing\";\n    # Download the template from a public repository\n    src = pkgs.fetchgit {\n      url = \"https://git.project-insanity.org/onny/invoiceplane-vtdirektmarketing.git\";\n      sha256 = \"1hh0q7wzsh8v8x03i82p6qrgbxr4v5fb05xylyrpp975l8axyg2z\";\n    };\n    sourceRoot = \".\";\n    # Installing simply means copying template php file to the output directory\n    installPhase = \"\"\n      mkdir -p $out\n      cp invoiceplane-vtdirektmarketing/vtdirektmarketing.php $out/\n    \"\";\n  };\n# And then pass this package to the template list like this:\nin [ template-vtdirektmarketing ]\n"}, "loc": ["services", "invoiceplane", "sites", "<name>", "quoteTemplates"], "readOnly": false, "type": "list of absolute path"}, "services.invoiceplane.sites.<name>.settings": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Structural InvoicePlane configuration. Refer to\n<https://github.com/InvoicePlane/InvoicePlane/blob/master/ipconfig.php.example>\nfor details and supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  SETUP_COMPLETED = true;\n  DISABLE_SETUP = true;\n  IP_URL = \"https://invoice.example.com\";\n}\n"}, "loc": ["services", "invoiceplane", "sites", "<name>", "settings"], "readOnly": false, "type": "attribute set of anything"}, "services.invoiceplane.sites.<name>.stateDir": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/invoiceplane/\u2039name\u203a\""}, "description": "This directory is used for uploads of attachments and cache.\nThe directory passed here is automatically created and permissions\nadjusted as required.\n", "loc": ["services", "invoiceplane", "sites", "<name>", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.invoiceplane.webserver": {"declarations": ["nixos/modules/services/web-apps/invoiceplane.nix"], "default": {"_type": "literalExpression", "text": "\"caddy\""}, "description": "Which webserver to use for virtual host management.\n", "example": {"_type": "literalExpression", "text": "\"nginx\""}, "loc": ["services", "invoiceplane", "webserver"], "readOnly": false, "type": "one of \"caddy\", \"nginx\""}, "services.iodine.clients": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Each attribute of this option defines a systemd service that\nruns iodine. Many or none may be defined.\nThe name of each service is\n`iodine-\u00abname\u00bb`\nwhere \u00abname\u00bb is the name of the\ncorresponding attribute name.\n", "example": {"_type": "literalExpression", "text": "{\n  foo = {\n    server = \"tunnel.mdomain.com\";\n    relay = \"8.8.8.8\";\n    extraConfig = \"-v\";\n  }\n}\n"}, "loc": ["services", "iodine", "clients"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.iodine.clients.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional command line parameters", "example": {"_type": "literalExpression", "text": "\"-l 192.168.1.10 -p 23\""}, "loc": ["services", "iodine", "clients", "<name>", "extraConfig"], "readOnly": false, "type": "string"}, "services.iodine.clients.<name>.passwordFile": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Path to a file containing the password.", "loc": ["services", "iodine", "clients", "<name>", "passwordFile"], "readOnly": false, "type": "string"}, "services.iodine.clients.<name>.relay": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "DNS server to use as an intermediate relay to the iodined server", "example": {"_type": "literalExpression", "text": "\"8.8.8.8\""}, "loc": ["services", "iodine", "clients", "<name>", "relay"], "readOnly": false, "type": "string"}, "services.iodine.clients.<name>.server": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Hostname of server running iodined", "example": {"_type": "literalExpression", "text": "\"tunnel.mydomain.com\""}, "loc": ["services", "iodine", "clients", "<name>", "server"], "readOnly": false, "type": "string"}, "services.iodine.server.domain": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Domain or subdomain of which nameservers point to us", "example": {"_type": "literalExpression", "text": "\"tunnel.mydomain.com\""}, "loc": ["services", "iodine", "server", "domain"], "readOnly": false, "type": "string"}, "services.iodine.server.enable": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "enable iodined server", "loc": ["services", "iodine", "server", "enable"], "readOnly": false, "type": "boolean"}, "services.iodine.server.extraConfig": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional command line parameters", "example": {"_type": "literalExpression", "text": "\"-l 192.168.1.10 -p 23\""}, "loc": ["services", "iodine", "server", "extraConfig"], "readOnly": false, "type": "string"}, "services.iodine.server.ip": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The assigned ip address or ip range", "example": {"_type": "literalExpression", "text": "\"172.16.10.1/24\""}, "loc": ["services", "iodine", "server", "ip"], "readOnly": false, "type": "string"}, "services.iodine.server.passwordFile": {"declarations": ["nixos/modules/services/networking/iodine.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "File that contains password", "loc": ["services", "iodine", "server", "passwordFile"], "readOnly": false, "type": "string"}, "services.iperf3.affinity": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "CPU affinity for the process.", "loc": ["services", "iperf3", "affinity"], "readOnly": false, "type": "null or (unsigned integer, meaning >=0)"}, "services.iperf3.authorizedUsersFile": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the configuration file containing authorized users credentials to run iperf tests.", "loc": ["services", "iperf3", "authorizedUsersFile"], "readOnly": false, "type": "null or absolute path"}, "services.iperf3.bind": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Bind to the specific interface associated with the given address.", "loc": ["services", "iperf3", "bind"], "readOnly": false, "type": "null or string"}, "services.iperf3.debug": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Emit debugging output.", "loc": ["services", "iperf3", "debug"], "readOnly": false, "type": "boolean"}, "services.iperf3.enable": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable iperf3 network throughput testing server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "iperf3", "enable"], "readOnly": false, "type": "boolean"}, "services.iperf3.extraFlags": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to iperf3(1).", "loc": ["services", "iperf3", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.iperf3.forceFlush": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force flushing output at every interval.", "loc": ["services", "iperf3", "forceFlush"], "readOnly": false, "type": "boolean"}, "services.iperf3.openFirewall": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for iperf3.", "loc": ["services", "iperf3", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.iperf3.package": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "pkgs.iperf3"}, "description": "The iperf3 package to use.", "loc": ["services", "iperf3", "package"], "readOnly": false, "type": "package"}, "services.iperf3.port": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "5201"}, "description": "Server port to listen on for iperf3 client requests.", "loc": ["services", "iperf3", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.iperf3.rsaPrivateKey": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the RSA private key (not password-protected) used to decrypt authentication credentials from the client.", "loc": ["services", "iperf3", "rsaPrivateKey"], "readOnly": false, "type": "null or absolute path"}, "services.iperf3.verbose": {"declarations": ["nixos/modules/services/networking/iperf3.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Give more detailed output.", "loc": ["services", "iperf3", "verbose"], "readOnly": false, "type": "boolean"}, "services.ipfs-cluster.consensus": {"declarations": ["nixos/modules/services/network-filesystems/ipfs-cluster.nix"], "description": "Consensus protocol - 'raft' or 'crdt'. <https://cluster.ipfs.io/documentation/guides/consensus/>", "loc": ["services", "ipfs-cluster", "consensus"], "readOnly": false, "type": "one of \"raft\", \"crdt\""}, "services.ipfs-cluster.dataDir": {"declarations": ["nixos/modules/services/network-filesystems/ipfs-cluster.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/ipfs-cluster\""}, "description": "The data dir for ipfs-cluster.", "loc": ["services", "ipfs-cluster", "dataDir"], "readOnly": false, "type": "string"}, "services.ipfs-cluster.enable": {"declarations": ["nixos/modules/services/network-filesystems/ipfs-cluster.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Pinset orchestration for IPFS - requires ipfs daemon to be useful.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ipfs-cluster", "enable"], "readOnly": false, "type": "boolean"}, "services.ipfs-cluster.initPeers": {"declarations": ["nixos/modules/services/network-filesystems/ipfs-cluster.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Peer addresses to initialize with on first run.", "loc": ["services", "ipfs-cluster", "initPeers"], "readOnly": false, "type": "list of string"}, "services.ipfs-cluster.openSwarmPort": {"declarations": ["nixos/modules/services/network-filesystems/ipfs-cluster.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open swarm port, secured by the cluster secret. This does not expose the API or proxy. <https://cluster.ipfs.io/documentation/guides/security/>", "loc": ["services", "ipfs-cluster", "openSwarmPort"], "readOnly": false, "type": "boolean"}, "services.ipfs-cluster.secretFile": {"declarations": ["nixos/modules/services/network-filesystems/ipfs-cluster.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the cluster secret in the format of EnvironmentFile as described by\n{manpage}`systemd.exec(5)`. For example:\n<programlisting>\nCLUSTER_SECRET=<replaceable>...</replaceable>\n</programlisting>\n\nIf null, a new secret will be generated on first run and stored in the data directory.\nA secret in the correct format can also be generated by: `openssl rand -hex 32`\n", "loc": ["services", "ipfs-cluster", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.ipp-usb.enable": {"declarations": ["nixos/modules/services/printing/ipp-usb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ipp-usb, a daemon to turn an USB printer/scanner supporting IPP everywhere (aka AirPrint, WSD, AirScan) into a locally accessible network printer/scanner.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ipp-usb", "enable"], "readOnly": false, "type": "boolean"}, "services.iptsd.config": {"declarations": ["nixos/modules/services/hardware/iptsd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for IPTSD. See the\n[reference configuration](https://github.com/linux-surface/iptsd/blob/master/etc/iptsd.conf)\nfor available options and defaults.\n", "loc": ["services", "iptsd", "config"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.iptsd.config.Stylus.Disable": {"declarations": ["nixos/modules/services/hardware/iptsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disables the stylus. No stylus data will be processed.", "loc": ["services", "iptsd", "config", "Stylus", "Disable"], "readOnly": false, "type": "boolean"}, "services.iptsd.config.Touchscreen.DisableOnPalm": {"declarations": ["nixos/modules/services/hardware/iptsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Ignore all touchscreen inputs if a palm was registered on the display.", "loc": ["services", "iptsd", "config", "Touchscreen", "DisableOnPalm"], "readOnly": false, "type": "boolean"}, "services.iptsd.config.Touchscreen.DisableOnStylus": {"declarations": ["nixos/modules/services/hardware/iptsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Ignore all touchscreen inputs if a stylus is in proximity.", "loc": ["services", "iptsd", "config", "Touchscreen", "DisableOnStylus"], "readOnly": false, "type": "boolean"}, "services.iptsd.enable": {"declarations": ["nixos/modules/services/hardware/iptsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the userspace daemon for Intel Precise Touch & Stylus.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "iptsd", "enable"], "readOnly": false, "type": "boolean"}, "services.ircdHybrid.adminEmail": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "\"<bit-bucket@example.com>\""}, "description": "IRCD server administrator e-mail.\n", "example": {"_type": "literalExpression", "text": "\"<name@domain.tld>\""}, "loc": ["services", "ircdHybrid", "adminEmail"], "readOnly": false, "type": "string"}, "services.ircdHybrid.certificate": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IRCD server SSL certificate. There are some limitations - read manual.\n", "example": {"_type": "literalExpression", "text": "/root/certificates/irc.pem"}, "loc": ["services", "ircdHybrid", "certificate"], "readOnly": false, "type": "null or absolute path"}, "services.ircdHybrid.description": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "\"Hybrid-7 IRC server.\""}, "description": "IRCD server description.\n", "loc": ["services", "ircdHybrid", "description"], "readOnly": false, "type": "string"}, "services.ircdHybrid.enable": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable IRCD.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "ircdHybrid", "enable"], "readOnly": false, "type": "boolean"}, "services.ircdHybrid.extraIPs": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra IP's to bind.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "loc": ["services", "ircdHybrid", "extraIPs"], "readOnly": false, "type": "list of string"}, "services.ircdHybrid.extraPort": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "\"7117\""}, "description": "Extra port to avoid filtering.\n", "loc": ["services", "ircdHybrid", "extraPort"], "readOnly": false, "type": "string"}, "services.ircdHybrid.rsaKey": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "IRCD server RSA key.\n", "example": {"_type": "literalExpression", "text": "/root/certificates/irc.key"}, "loc": ["services", "ircdHybrid", "rsaKey"], "readOnly": false, "type": "null or absolute path"}, "services.ircdHybrid.serverName": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "\"hades.arpa\""}, "description": "IRCD server name.\n", "loc": ["services", "ircdHybrid", "serverName"], "readOnly": false, "type": "string"}, "services.ircdHybrid.sid": {"declarations": ["nixos/modules/services/networking/ircd-hybrid/default.nix"], "default": {"_type": "literalExpression", "text": "\"0NL\""}, "description": "IRCD server unique ID in a net of servers.\n", "loc": ["services", "ircdHybrid", "sid"], "readOnly": false, "type": "string"}, "services.irkerd.enable": {"declarations": ["nixos/modules/services/misc/irkerd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable irker, an IRC notification daemon.", "loc": ["services", "irkerd", "enable"], "readOnly": false, "type": "boolean"}, "services.irkerd.listenAddress": {"declarations": ["nixos/modules/services/misc/irkerd.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Specifies the bind address on which the irker daemon listens.\nThe default is localhost.\n\nIrker authors strongly warn about the risks of running this on\na publicly accessible interface, so change this with caution.\n", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "irkerd", "listenAddress"], "readOnly": false, "type": "string"}, "services.irkerd.nick": {"declarations": ["nixos/modules/services/misc/irkerd.nix"], "default": {"_type": "literalExpression", "text": "\"irker\""}, "description": "Nick to use for irker", "loc": ["services", "irkerd", "nick"], "readOnly": false, "type": "string"}, "services.irkerd.openPorts": {"declarations": ["nixos/modules/services/misc/irkerd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for irkerd", "loc": ["services", "irkerd", "openPorts"], "readOnly": false, "type": "boolean"}, "services.irqbalance.enable": {"declarations": ["nixos/modules/services/hardware/irqbalance.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable irqbalance daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "irqbalance", "enable"], "readOnly": false, "type": "boolean"}, "services.irqbalance.package": {"declarations": ["nixos/modules/services/hardware/irqbalance.nix"], "default": {"_type": "literalExpression", "text": "pkgs.irqbalance"}, "description": "The irqbalance package to use.", "loc": ["services", "irqbalance", "package"], "readOnly": false, "type": "package"}, "services.isso.enable": {"declarations": ["nixos/modules/services/web-apps/isso.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable isso, a commenting server similar to Disqus.\n\nNote: The application's author suppose to run isso behind a reverse proxy.\nThe embedded solution offered by NixOS is also only suitable for small installations\nbelow 20 requests per second\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "isso", "enable"], "readOnly": false, "type": "boolean"}, "services.isso.settings": {"declarations": ["nixos/modules/services/web-apps/isso.nix"], "description": "Configuration for `isso`.\n\nSee [Isso Server Configuration](https://posativ.org/isso/docs/configuration/server/)\nfor supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  general = {\n    host = \"http://localhost\";\n  };\n}\n"}, "loc": ["services", "isso", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.ivpn.enable": {"declarations": ["nixos/modules/services/networking/ivpn.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "This option enables iVPN daemon.\nThis sets {option}`networking.firewall.checkReversePath` to \"loose\", which might be undesirable for security.\n", "loc": ["services", "ivpn", "enable"], "readOnly": false, "type": "boolean"}, "services.jack.alsa.enable": {"declarations": ["nixos/modules/services/audio/jack.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Route audio to/from generic ALSA-using applications using ALSA JACK PCM plugin.\n", "loc": ["services", "jack", "alsa", "enable"], "readOnly": false, "type": "boolean"}, "services.jack.alsa.support32Bit": {"declarations": ["nixos/modules/services/audio/jack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support sound for 32-bit ALSA applications on 64-bit system.\n", "loc": ["services", "jack", "alsa", "support32Bit"], "readOnly": false, "type": "boolean"}, "services.jack.jackd.enable": {"declarations": ["nixos/modules/services/audio/jack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable JACK Audio Connection Kit. You need to add yourself to the \"jackaudio\" group\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jack", "jackd", "enable"], "readOnly": false, "type": "boolean"}, "services.jack.jackd.extraOptions": {"declarations": ["nixos/modules/services/audio/jack.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"-dalsa\"\n]"}, "description": "Specifies startup command line arguments to pass to JACK server.\n", "example": {"_type": "literalExpression", "text": "[ \"-dalsa\" \"--device\" \"hw:1\" ];\n"}, "loc": ["services", "jack", "jackd", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.jack.jackd.session": {"declarations": ["nixos/modules/services/audio/jack.nix"], "description": "Commands to run after JACK is started.\n", "loc": ["services", "jack", "jackd", "session"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jack.loopback.config": {"declarations": ["nixos/modules/services/audio/jack.nix"], "description": "ALSA config for loopback device.\n", "loc": ["services", "jack", "loopback", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jack.loopback.dmixConfig": {"declarations": ["nixos/modules/services/audio/jack.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "For music production software that still doesn't support JACK natively you\nwould like to put buffer/period adjustments here\nto decrease dmix device latency.\n", "example": {"_type": "literalExpression", "text": "''\n  period_size 2048\n  periods 2\n''"}, "loc": ["services", "jack", "loopback", "dmixConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jack.loopback.enable": {"declarations": ["nixos/modules/services/audio/jack.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create ALSA loopback device, instead of using PCM plugin. Has broader\napplication support (things like Steam will work), but may need fine-tuning\nfor concrete hardware.\n", "loc": ["services", "jack", "loopback", "enable"], "readOnly": false, "type": "boolean"}, "services.jack.loopback.index": {"declarations": ["nixos/modules/services/audio/jack.nix"], "default": {"_type": "literalExpression", "text": "10"}, "description": "Index of an ALSA loopback device.\n", "loc": ["services", "jack", "loopback", "index"], "readOnly": false, "type": "signed integer"}, "services.jack.loopback.session": {"declarations": ["nixos/modules/services/audio/jack.nix"], "description": "Additional commands to run to setup loopback device.\n", "loc": ["services", "jack", "loopback", "session"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jackett.dataDir": {"declarations": ["nixos/modules/services/misc/jackett.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/jackett/.config/Jackett\""}, "description": "The directory where Jackett stores its data files.", "loc": ["services", "jackett", "dataDir"], "readOnly": false, "type": "string"}, "services.jackett.enable": {"declarations": ["nixos/modules/services/misc/jackett.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jackett, API support for your favorite torrent trackers.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jackett", "enable"], "readOnly": false, "type": "boolean"}, "services.jackett.group": {"declarations": ["nixos/modules/services/misc/jackett.nix"], "default": {"_type": "literalExpression", "text": "\"jackett\""}, "description": "Group under which Jackett runs.", "loc": ["services", "jackett", "group"], "readOnly": false, "type": "string"}, "services.jackett.openFirewall": {"declarations": ["nixos/modules/services/misc/jackett.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the Jackett web interface.", "loc": ["services", "jackett", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.jackett.package": {"declarations": ["nixos/modules/services/misc/jackett.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jackett"}, "description": "The jackett package to use.", "loc": ["services", "jackett", "package"], "readOnly": false, "type": "package"}, "services.jackett.port": {"declarations": ["nixos/modules/services/misc/jackett.nix"], "default": {"_type": "literalExpression", "text": "9117"}, "description": "Port serving the web interface\n", "loc": ["services", "jackett", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.jackett.user": {"declarations": ["nixos/modules/services/misc/jackett.nix"], "default": {"_type": "literalExpression", "text": "\"jackett\""}, "description": "User account under which Jackett runs.", "loc": ["services", "jackett", "user"], "readOnly": false, "type": "string"}, "services.jboss.deployDir": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "\"/nix/var/nix/profiles/default/server/default/deploy/\""}, "description": "Location of the deployment files", "loc": ["services", "jboss", "deployDir"], "readOnly": false, "type": "string"}, "services.jboss.enable": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable JBoss. WARNING : this package is outdated and is known to have vulnerabilities.", "loc": ["services", "jboss", "enable"], "readOnly": false, "type": "boolean"}, "services.jboss.libUrl": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "\"file:///nix/var/nix/profiles/default/server/default/lib\""}, "description": "Location where the shared library JARs are stored", "loc": ["services", "jboss", "libUrl"], "readOnly": false, "type": "string"}, "services.jboss.logDir": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/jboss\""}, "description": "Location of the logfile directory of JBoss", "loc": ["services", "jboss", "logDir"], "readOnly": false, "type": "string"}, "services.jboss.serverDir": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/jboss/server\""}, "description": "Location of the server instance files", "loc": ["services", "jboss", "serverDir"], "readOnly": false, "type": "string"}, "services.jboss.tempDir": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "\"/tmp\""}, "description": "Location where JBoss stores its temp files", "loc": ["services", "jboss", "tempDir"], "readOnly": false, "type": "string"}, "services.jboss.useJK": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use to connector to the Apache HTTP server", "loc": ["services", "jboss", "useJK"], "readOnly": false, "type": "boolean"}, "services.jboss.user": {"declarations": ["nixos/modules/services/web-servers/jboss/default.nix"], "default": {"_type": "literalExpression", "text": "\"nobody\""}, "description": "User account under which jboss runs.", "loc": ["services", "jboss", "user"], "readOnly": false, "type": "string"}, "services.jellyfin.cacheDir": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"/var/cache/jellyfin\""}, "description": "Directory containing the jellyfin server cache,\npassed with `--cachedir` see [#cache-directory](https://jellyfin.org/docs/general/administration/configuration/#cache-directory)\n", "loc": ["services", "jellyfin", "cacheDir"], "readOnly": false, "type": "absolute path"}, "services.jellyfin.configDir": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"${cfg.dataDir}/config\""}, "description": "Directory containing the server configuration files,\npassed with `--configdir` see [configuration-directory](https://jellyfin.org/docs/general/administration/configuration/#configuration-directory)\n", "loc": ["services", "jellyfin", "configDir"], "readOnly": false, "type": "absolute path"}, "services.jellyfin.dataDir": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/jellyfin\""}, "description": "Base data directory,\npassed with `--datadir` see [#data-directory](https://jellyfin.org/docs/general/administration/configuration/#data-directory)\n", "loc": ["services", "jellyfin", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.jellyfin.enable": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jellyfin Media Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jellyfin", "enable"], "readOnly": false, "type": "boolean"}, "services.jellyfin.forceEncodingConfig": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to overwrite Jellyfin's `encoding.xml` configuration file on each service start.\n\nWhen enabled, the encoding configuration specified in {option}`services.jellyfin.transcoding`\nand {option}`services.jellyfin.hardwareAcceleration` will be applied on every service restart.\nA backup of the existing `encoding.xml` will be created at `encoding.xml.backup-$timestamp`.\n\n::: {.warning}\nEnabling this option means that any changes made to transcoding settings through\nJellyfin's web dashboard will be lost on the next service restart. The NixOS configuration\nbecomes the single source of truth for encoding settings.\n:::\n\nWhen disabled (the default), the encoding configuration is only written if no `encoding.xml`\nexists yet. This allows settings to be changed through Jellyfin's web dashboard and persist\nacross restarts, but means the NixOS configuration options will be ignored after the initial setup.\n", "loc": ["services", "jellyfin", "forceEncodingConfig"], "readOnly": false, "type": "boolean"}, "services.jellyfin.group": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"jellyfin\""}, "description": "Group under which jellyfin runs.", "loc": ["services", "jellyfin", "group"], "readOnly": false, "type": "string"}, "services.jellyfin.hardwareAcceleration.device": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the hardware acceleration device that Jellyfin should use.\nFor obscure configurations, additional devices can be added via\n{option}`systemd.services.jellyfin.serviceConfig.DeviceAllow`.\n", "example": {"_type": "literalExpression", "text": "\"/dev/dri/renderD128\""}, "loc": ["services", "jellyfin", "hardwareAcceleration", "device"], "readOnly": false, "type": "null or absolute path"}, "services.jellyfin.hardwareAcceleration.enable": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable hardware acceleration for video transcoding.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jellyfin", "hardwareAcceleration", "enable"], "readOnly": false, "type": "boolean"}, "services.jellyfin.hardwareAcceleration.type": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"none\""}, "description": "The method of hardware acceleration. See [Hardware Acceleration](https://jellyfin.org/docs/general/post-install/transcoding/hardware-acceleration) for more details.\n", "loc": ["services", "jellyfin", "hardwareAcceleration", "type"], "readOnly": false, "type": "one of \"none\", \"amf\", \"qsv\", \"nvenc\", \"v4l2m2m\", \"vaapi\", \"rkmpp\""}, "services.jellyfin.logDir": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"${cfg.dataDir}/log\""}, "description": "Directory where the Jellyfin logs will be stored,\npassed with `--logdir` see [#log-directory](https://jellyfin.org/docs/general/administration/configuration/#log-directory)\n", "loc": ["services", "jellyfin", "logDir"], "readOnly": false, "type": "absolute path"}, "services.jellyfin.openFirewall": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the default ports in the firewall for the media server. The\nHTTP/HTTPS ports can be changed in the Web UI, so this option should\nonly be used if they are unchanged, see [Port Bindings](https://jellyfin.org/docs/general/networking/#port-bindings).\n", "loc": ["services", "jellyfin", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.jellyfin.package": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jellyfin"}, "description": "The jellyfin package to use.", "loc": ["services", "jellyfin", "package"], "readOnly": false, "type": "package"}, "services.jellyfin.transcoding.deleteSegments": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Delete transcoding segments when finished.\n", "loc": ["services", "jellyfin", "transcoding", "deleteSegments"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.enableHardwareEncoding": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware encoding for video transcoding.\n", "loc": ["services", "jellyfin", "transcoding", "enableHardwareEncoding"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.enableIntelLowPowerEncoding": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable low-power encoding mode for Intel Quick Sync Video.\nRequires i915 HuC firmware to be configured.\n", "loc": ["services", "jellyfin", "transcoding", "enableIntelLowPowerEncoding"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.enableSubtitleExtraction": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Embedded subtitles can be extracted from videos and delivered to clients in plain text, in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.\n", "loc": ["services", "jellyfin", "transcoding", "enableSubtitleExtraction"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.enableToneMapping": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable tone mapping when transcoding HDR content.\n", "loc": ["services", "jellyfin", "transcoding", "enableToneMapping"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.encodingPreset": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Encoder preset for transcoding.\nLower presets sacrifice quality for speed, higher presets optimize quality.\n", "loc": ["services", "jellyfin", "transcoding", "encodingPreset"], "readOnly": false, "type": "one of \"auto\", \"veryslow\", \"slower\", \"slow\", \"medium\", \"fast\", \"faster\", \"veryfast\", \"superfast\", \"ultrafast\""}, "services.jellyfin.transcoding.h264Crf": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "23"}, "description": "Constant Rate Factor (CRF) for H.264 encoding. Lower values result in better quality. Range: 0-51.\n", "loc": ["services", "jellyfin", "transcoding", "h264Crf"], "readOnly": false, "type": "integer between 0 and 51 (both inclusive)"}, "services.jellyfin.transcoding.h265Crf": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "28"}, "description": "Constant Rate Factor (CRF) for H.265 encoding. Lower values result in better quality. Range: 0-51.\n", "loc": ["services", "jellyfin", "transcoding", "h265Crf"], "readOnly": false, "type": "integer between 0 and 51 (both inclusive)"}, "services.jellyfin.transcoding.hardwareDecodingCodecs": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Which codecs to enable for hardware decoding.\n", "example": {"_type": "literalExpression", "text": "{\n  h264 = true;\n  vp9 = true;\n}"}, "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs"], "readOnly": false, "type": "submodule"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.av1": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for av1 codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "av1"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.h264": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for h264 codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "h264"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.hevc": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for hevc codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "hevc"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.hevc10bit": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for hevc10bit codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "hevc10bit"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.hevcRExt10bit": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for hevcRExt10bit codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "hevcRExt10bit"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.hevcRExt12bit": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for hevcRExt12bit codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "hevcRExt12bit"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.mpeg2": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for mpeg2 codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "mpeg2"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.vc1": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for vc1 codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "vc1"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.vp8": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for vp8 codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "vp8"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareDecodingCodecs.vp9": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware decoding for vp9 codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareDecodingCodecs", "vp9"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareEncodingCodecs": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Which codecs to enable for hardware encoding. h264 is always enabled.\n", "example": {"_type": "literalExpression", "text": "{\n  av1 = true;\n}"}, "loc": ["services", "jellyfin", "transcoding", "hardwareEncodingCodecs"], "readOnly": false, "type": "submodule"}, "services.jellyfin.transcoding.hardwareEncodingCodecs.av1": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware encoding for av1 codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareEncodingCodecs", "av1"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.hardwareEncodingCodecs.hevc": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable hardware encoding for hevc codec.", "loc": ["services", "jellyfin", "transcoding", "hardwareEncodingCodecs", "hevc"], "readOnly": false, "type": "boolean"}, "services.jellyfin.transcoding.maxConcurrentStreams": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum number of concurrent transcoding streams.\nSet to null for unlimited (limited by hardware capabilities).\n", "example": {"_type": "literalExpression", "text": "2"}, "loc": ["services", "jellyfin", "transcoding", "maxConcurrentStreams"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.jellyfin.transcoding.threadCount": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of threads to use when transcoding.\nSet to null to use automatic detection.\n", "example": {"_type": "literalExpression", "text": "4"}, "loc": ["services", "jellyfin", "transcoding", "threadCount"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.jellyfin.transcoding.throttleTranscoding": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When a transcode or remux gets far enough ahead from the current playback position, pause the process so it will consume fewer resources. This is most useful when watching without seeking often. Turn this off if you experience playback issues.\n", "loc": ["services", "jellyfin", "transcoding", "throttleTranscoding"], "readOnly": false, "type": "boolean"}, "services.jellyfin.user": {"declarations": ["nixos/modules/services/misc/jellyfin.nix"], "default": {"_type": "literalExpression", "text": "\"jellyfin\""}, "description": "User account under which Jellyfin runs.", "loc": ["services", "jellyfin", "user"], "readOnly": false, "type": "string"}, "services.jenkins.enable": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jenkins, a continuous integration server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jenkins", "enable"], "readOnly": false, "type": "boolean"}, "services.jenkins.environment": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to be passed to the jenkins process.\nAs a base environment, jenkins receives NIX_PATH from\n{option}`environment.sessionVariables`, NIX_REMOTE is set to\n\"daemon\" and JENKINS_HOME is set to the value of\n{option}`services.jenkins.home`.\nThis option has precedence and can be used to override those\nmentioned variables.\n", "loc": ["services", "jenkins", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.jenkins.extraGroups": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of extra groups that the \"jenkins\" user should be a part of.\n", "example": {"_type": "literalExpression", "text": "[\n  \"wheel\"\n  \"dialout\"\n]"}, "loc": ["services", "jenkins", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.jenkins.extraJavaOptions": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line arguments to pass to the Java run time (as opposed to Jenkins).\n", "example": {"_type": "literalExpression", "text": "[\n  \"-Xmx80m\"\n]"}, "loc": ["services", "jenkins", "extraJavaOptions"], "readOnly": false, "type": "list of string"}, "services.jenkins.extraOptions": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line arguments to pass to Jenkins.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--debug=9\"\n]"}, "loc": ["services", "jenkins", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.jenkins.group": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "\"jenkins\""}, "description": "If the default user \"jenkins\" is configured then this is the primary\ngroup of that user.\n", "loc": ["services", "jenkins", "group"], "readOnly": false, "type": "string"}, "services.jenkins.home": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/jenkins\""}, "description": "The path to use as JENKINS_HOME. If the default user \"jenkins\" is configured then\nthis is the home of the \"jenkins\" user.\n", "loc": ["services", "jenkins", "home"], "readOnly": false, "type": "absolute path"}, "services.jenkins.javaPackage": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk25"}, "description": "The jdk25 package to use.", "loc": ["services", "jenkins", "javaPackage"], "readOnly": false, "type": "package"}, "services.jenkins.jobBuilder.accessToken": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/job-builder.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "User token in Jenkins used to reload config.\nWARNING: This token will be world readable in the Nix store. To keep\nit secret, use the {option}`accessTokenFile` option instead.\n", "loc": ["services", "jenkins", "jobBuilder", "accessToken"], "readOnly": false, "type": "string"}, "services.jenkins.jobBuilder.accessTokenFile": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/job-builder.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.jenkins.home}/secrets/initialAdminPassword\""}, "description": "File containing the API token for the {option}`accessUser`\nuser.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jenkins-job-builder-access-token\""}, "loc": ["services", "jenkins", "jobBuilder", "accessTokenFile"], "readOnly": false, "type": "string"}, "services.jenkins.jobBuilder.accessUser": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/job-builder.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "User id in Jenkins used to reload config.\n", "loc": ["services", "jenkins", "jobBuilder", "accessUser"], "readOnly": false, "type": "string"}, "services.jenkins.jobBuilder.enable": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/job-builder.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Jenkins Job Builder (JJB) service. It\nallows defining jobs for Jenkins in a declarative manner.\n\nJobs managed through the Jenkins WebUI (or by other means) are left\nunchanged.\n\nNote that it really is declarative configuration; if you remove a\npreviously defined job, the corresponding job directory will be\ndeleted.\n\nPlease see the Jenkins Job Builder documentation for more info:\n<https://jenkins-job-builder.readthedocs.io/>\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jenkins", "jobBuilder", "enable"], "readOnly": false, "type": "boolean"}, "services.jenkins.jobBuilder.jsonJobs": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/job-builder.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Job descriptions for Jenkins Job Builder in JSON format.\n", "example": {"_type": "literalExpression", "text": "[\n  ''\n    [ { \"job\":\n        { \"name\": \"jenkins-job-test-2\",\n          \"builders\": [ \"shell\": \"echo 'Hello world!'\" ]\n        }\n      }\n    ]\n  ''\n]\n"}, "loc": ["services", "jenkins", "jobBuilder", "jsonJobs"], "readOnly": false, "type": "list of string"}, "services.jenkins.jobBuilder.nixJobs": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/job-builder.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Job descriptions for Jenkins Job Builder in Nix format.\n\nThis is a trivial wrapper around jsonJobs, using builtins.toJSON\nbehind the scene.\n", "example": {"_type": "literalExpression", "text": "[ { job =\n    { name = \"jenkins-job-test-3\";\n      builders = [\n        { shell = \"echo 'Hello world!'\"; }\n      ];\n    };\n  }\n]\n"}, "loc": ["services", "jenkins", "jobBuilder", "nixJobs"], "readOnly": false, "type": "list of (attribute set)"}, "services.jenkins.jobBuilder.yamlJobs": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/job-builder.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Job descriptions for Jenkins Job Builder in YAML format.\n", "example": {"_type": "literalExpression", "text": "''\n  - job:\n      name: jenkins-job-test-1\n      builders:\n        - shell: echo 'Hello world!'\n''"}, "loc": ["services", "jenkins", "jobBuilder", "yamlJobs"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jenkins.listenAddress": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Specifies the bind address on which the jenkins HTTP interface listens.\nThe default is the wildcard address.\n", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "jenkins", "listenAddress"], "readOnly": false, "type": "string"}, "services.jenkins.package": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jenkins"}, "description": "The jenkins package to use.", "loc": ["services", "jenkins", "package"], "readOnly": false, "type": "package"}, "services.jenkins.packages": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Packages to add to PATH for the jenkins process.\n", "example": {"_type": "literalExpression", "text": "[\n  pkgs.stdenv\n  pkgs.git\n  pkgs.jdk25\n  config.programs.ssh.package\n  pkgs.nix\n]\n"}, "loc": ["services", "jenkins", "packages"], "readOnly": false, "type": "list of package"}, "services.jenkins.plugins": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A set of plugins to activate. Note that this will completely\nremove and replace any previously installed plugins. If you\nhave manually-installed plugins that you want to keep while\nusing this module, set this option to\n`null`. You can generate this set with a\ntool such as `jenkinsPlugins2nix`.\n", "example": {"_type": "literalExpression", "text": "import path/to/jenkinsPlugins2nix-generated-plugins.nix { inherit (pkgs) fetchurl stdenv; }\n"}, "loc": ["services", "jenkins", "plugins"], "readOnly": false, "type": "null or (attribute set of package)"}, "services.jenkins.port": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Specifies port number on which the jenkins HTTP interface listens.\nThe default is 8080.\n", "loc": ["services", "jenkins", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.jenkins.prefix": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Specifies a urlPrefix to use with jenkins.\nIf the example /jenkins is given, the jenkins server will be\naccessible using localhost:8080/jenkins.\n", "example": {"_type": "literalExpression", "text": "\"/jenkins\""}, "loc": ["services", "jenkins", "prefix"], "readOnly": false, "type": "string"}, "services.jenkins.user": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "\"jenkins\""}, "description": "User the jenkins server should execute under.\n", "loc": ["services", "jenkins", "user"], "readOnly": false, "type": "string"}, "services.jenkins.withCLI": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to make the CLI available.\n\nMore info about the CLI available at\n[\nhttps://www.jenkins.io/doc/book/managing/cli](https://www.jenkins.io/doc/book/managing/cli) .\n", "loc": ["services", "jenkins", "withCLI"], "readOnly": false, "type": "boolean"}, "services.jenkinsSlave.enable": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/slave.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true the system will be configured to work as a jenkins slave.\nIf the system is also configured to work as a jenkins master then this has no effect.\nIn progress: Currently only assures the jenkins user is configured.\n", "loc": ["services", "jenkinsSlave", "enable"], "readOnly": false, "type": "boolean"}, "services.jenkinsSlave.group": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/slave.nix"], "default": {"_type": "literalExpression", "text": "\"jenkins\""}, "description": "If the default slave agent user \"jenkins\" is configured then this is\nthe primary group of that user.\n", "loc": ["services", "jenkinsSlave", "group"], "readOnly": false, "type": "string"}, "services.jenkinsSlave.home": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/slave.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/jenkins\""}, "description": "The path to use as JENKINS_HOME. If the default user \"jenkins\" is configured then\nthis is the home of the \"jenkins\" user.\n", "loc": ["services", "jenkinsSlave", "home"], "readOnly": false, "type": "absolute path"}, "services.jenkinsSlave.javaPackage": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/slave.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jdk"}, "description": "The jdk package to use.", "loc": ["services", "jenkinsSlave", "javaPackage"], "readOnly": false, "type": "package"}, "services.jenkinsSlave.user": {"declarations": ["nixos/modules/services/continuous-integration/jenkins/slave.nix"], "default": {"_type": "literalExpression", "text": "\"jenkins\""}, "description": "User the jenkins slave agent should execute under.\n", "loc": ["services", "jenkinsSlave", "user"], "readOnly": false, "type": "string"}, "services.jibri.config": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Jibri configuration.\nSee <https://github.com/jitsi/jibri/blob/master/src/main/resources/reference.conf>\nfor default configuration with comments.\n", "loc": ["services", "jibri", "config"], "readOnly": false, "type": "HOCON value"}, "services.jibri.enable": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jitsi BRoadcasting Infrastructure. Currently Jibri must be run on a host that is also running {option}`services.jitsi-meet.enable`, so for most use cases it will be simpler to run {option}`services.jitsi-meet.jibri.enable`.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jibri", "enable"], "readOnly": false, "type": "boolean"}, "services.jibri.finalizeScript": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.writeScript \"finalize_recording.sh\" ''''\n#!/bin/sh\n\nRECORDINGS_DIR=$1\n\necho \"This is a dummy finalize script\" > /tmp/finalize.out\necho \"The script was invoked with recordings directory $RECORDINGS_DIR.\" >> /tmp/finalize.out\necho \"You should put any finalize logic (renaming, uploading to a service\" >> /tmp/finalize.out\necho \"or storage provider, etc.) in this script\" >> /tmp/finalize.out\n\nexit 0\n'''';\n"}, "description": "This script runs when jibri finishes recording a video of a conference.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeScript \"finalize_recording.sh\" ''''\n#!/bin/sh\nRECORDINGS_DIR=$1\n${pkgs.rclone}/bin/rclone copy $RECORDINGS_DIR RCLONE_REMOTE:jibri-recordings/ -v --log-file=/var/log/jitsi/jibri/recording-upload.txt\nexit 0\n'''';\n"}, "loc": ["services", "jibri", "finalizeScript"], "readOnly": false, "type": "absolute path"}, "services.jibri.ignoreCert": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the flag \"--ignore-certificate-errors\" for the Chromium browser opened by Jibri.\nIntended for use in automated tests or anywhere else where using a verified cert for Jitsi-Meet is not possible.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jibri", "ignoreCert"], "readOnly": false, "type": "boolean"}, "services.jibri.xmppEnvironments": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "XMPP servers to connect to.\n", "example": {"_type": "literalExpression", "text": "\"jitsi-meet\" = {\n  xmppServerHosts = [ \"localhost\" ];\n  xmppDomain = config.services.jitsi-meet.hostName;\n\n  control.muc = {\n    domain = \"internal.${config.services.jitsi-meet.hostName}\";\n    roomName = \"JibriBrewery\";\n    nickname = \"jibri\";\n  };\n\n  control.login = {\n    domain = \"auth.${config.services.jitsi-meet.hostName}\";\n    username = \"jibri\";\n    passwordFile = \"/var/lib/jitsi-meet/jibri-auth-secret\";\n  };\n\n  call.login = {\n    domain = \"recorder.${config.services.jitsi-meet.hostName}\";\n    username = \"recorder\";\n    passwordFile = \"/var/lib/jitsi-meet/jibri-recorder-secret\";\n  };\n\n  usageTimeout = \"0\";\n  disableCertificateVerification = true;\n  stripFromRoomDomain = \"conference.\";\n};\n"}, "loc": ["services", "jibri", "xmppEnvironments"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.jibri.xmppEnvironments.<name>.call.login.domain": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "description": "The domain part of the JID for the recorder.\n", "example": {"_type": "literalExpression", "text": "\"recorder.xmpp.example.org\""}, "loc": ["services", "jibri", "xmppEnvironments", "<name>", "call", "login", "domain"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.call.login.passwordFile": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "description": "File containing the password for the user.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jibri-recorder-xmpp1\""}, "loc": ["services", "jibri", "xmppEnvironments", "<name>", "call", "login", "passwordFile"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.call.login.username": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "\"recorder\""}, "description": "User part of the JID for the recorder.\n", "loc": ["services", "jibri", "xmppEnvironments", "<name>", "call", "login", "username"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.control.login.domain": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "description": "The domain part of the JID for this Jibri instance.\n", "loc": ["services", "jibri", "xmppEnvironments", "<name>", "control", "login", "domain"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.control.login.passwordFile": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "description": "File containing the password for the user.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jibri-xmpp1\""}, "loc": ["services", "jibri", "xmppEnvironments", "<name>", "control", "login", "passwordFile"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.control.login.username": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "\"jvb\""}, "description": "User part of the JID.\n", "loc": ["services", "jibri", "xmppEnvironments", "<name>", "control", "login", "username"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.control.muc.domain": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "description": "The domain part of the MUC to connect to for control.\n", "loc": ["services", "jibri", "xmppEnvironments", "<name>", "control", "muc", "domain"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.control.muc.nickname": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "\"jibri\""}, "description": "The nickname for this Jibri instance in the MUC.\n", "loc": ["services", "jibri", "xmppEnvironments", "<name>", "control", "muc", "nickname"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.control.muc.roomName": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "\"JibriBrewery\""}, "description": "The room name of the MUC to connect to for control.\n", "loc": ["services", "jibri", "xmppEnvironments", "<name>", "control", "muc", "roomName"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.disableCertificateVerification": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to skip validation of the server's certificate.\n", "loc": ["services", "jibri", "xmppEnvironments", "<name>", "disableCertificateVerification"], "readOnly": false, "type": "boolean"}, "services.jibri.xmppEnvironments.<name>.stripFromRoomDomain": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "\"0\""}, "description": "The prefix to strip from the room's JID domain to derive the call URL.\n", "example": {"_type": "literalExpression", "text": "\"conference.\""}, "loc": ["services", "jibri", "xmppEnvironments", "<name>", "stripFromRoomDomain"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.usageTimeout": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "\"0\""}, "description": "The duration that the Jibri session can be.\nA value of zero means indefinitely.\n", "example": {"_type": "literalExpression", "text": "\"1 hour\""}, "loc": ["services", "jibri", "xmppEnvironments", "<name>", "usageTimeout"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.xmppDomain": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "description": "The base XMPP domain.\n", "example": {"_type": "literalExpression", "text": "\"xmpp.example.org\""}, "loc": ["services", "jibri", "xmppEnvironments", "<name>", "xmppDomain"], "readOnly": false, "type": "string"}, "services.jibri.xmppEnvironments.<name>.xmppServerHosts": {"declarations": ["nixos/modules/services/networking/jibri/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Hostnames of the XMPP servers to connect to.\n", "example": {"_type": "literalExpression", "text": "[\n  \"xmpp.example.org\"\n]"}, "loc": ["services", "jibri", "xmppEnvironments", "<name>", "xmppServerHosts"], "readOnly": false, "type": "list of string"}, "services.jicofo.bridgeMuc": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "description": "JID of the internal MUC used to communicate with Videobridges.\n", "example": {"_type": "literalExpression", "text": "\"jvbbrewery@internal.meet.example.org\""}, "loc": ["services", "jicofo", "bridgeMuc"], "readOnly": false, "type": "string"}, "services.jicofo.componentPasswordFile": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "description": "Path to file containing component secret.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jicofo-component\""}, "loc": ["services", "jicofo", "componentPasswordFile"], "readOnly": false, "type": "string"}, "services.jicofo.config": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Contents of the {file}`jicofo.conf` configuration file.\n", "example": {"_type": "literalExpression", "text": "{\n  jicofo.bridge.max-bridge-participants = 42;\n}\n"}, "loc": ["services", "jicofo", "config"], "readOnly": false, "type": "HOCON value"}, "services.jicofo.enable": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jitsi Conference Focus - component of Jitsi Meet.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jicofo", "enable"], "readOnly": false, "type": "boolean"}, "services.jicofo.userDomain": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "description": "Domain part of the JID for XMPP user connection.\n", "example": {"_type": "literalExpression", "text": "\"auth.meet.example.org\""}, "loc": ["services", "jicofo", "userDomain"], "readOnly": false, "type": "string"}, "services.jicofo.userName": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "default": {"_type": "literalExpression", "text": "\"focus\""}, "description": "User part of the JID for XMPP user connection.\n", "loc": ["services", "jicofo", "userName"], "readOnly": false, "type": "string"}, "services.jicofo.userPasswordFile": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "description": "Path to file containing password for XMPP user connection.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jicofo-user\""}, "loc": ["services", "jicofo", "userPasswordFile"], "readOnly": false, "type": "string"}, "services.jicofo.xmppDomain": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Domain name of the XMMP server to which to connect as a component.\n\nIf null, {option}`xmppHost` is used.\n", "example": {"_type": "literalExpression", "text": "\"meet.example.org\""}, "loc": ["services", "jicofo", "xmppDomain"], "readOnly": false, "type": "null or string"}, "services.jicofo.xmppHost": {"declarations": ["nixos/modules/services/networking/jicofo.nix"], "description": "Hostname of the XMPP server to connect to.\n", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "jicofo", "xmppHost"], "readOnly": false, "type": "string"}, "services.jigasi.bridgeMuc": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "description": "JID of the internal MUC used to communicate with Videobridges.\n", "example": {"_type": "literalExpression", "text": "\"jigasibrewery@internal.meet.example.org\""}, "loc": ["services", "jigasi", "bridgeMuc"], "readOnly": false, "type": "string"}, "services.jigasi.componentPasswordFile": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "description": "Path to file containing component secret.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jigasi-component\""}, "loc": ["services", "jigasi", "componentPasswordFile"], "readOnly": false, "type": "string"}, "services.jigasi.config": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Contents of the <filename>sip-communicator.properties</filename> configuration file for jigasi.\n", "example": {"_type": "literalExpression", "text": "{\n  \"org.jitsi.jigasi.auth.URL\" = \"XMPP:jitsi-meet.example.com\";\n}\n"}, "loc": ["services", "jigasi", "config"], "readOnly": false, "type": "attribute set of string"}, "services.jigasi.defaultJvbRoomName": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Name of the default JVB room that will be joined if no special header is included in SIP invite.\n", "example": {"_type": "literalExpression", "text": "\"siptest\""}, "loc": ["services", "jigasi", "defaultJvbRoomName"], "readOnly": false, "type": "string"}, "services.jigasi.enable": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jitsi Gateway to SIP - component of Jitsi Meet.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jigasi", "enable"], "readOnly": false, "type": "boolean"}, "services.jigasi.environmentFile": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing environment variables to be passed to the jigasi service,\nin which secret tokens can be specified securely by defining values for\n<literal>JIGASI_SIPUSER</literal>,\n<literal>JIGASI_SIPPWD</literal>,\n<literal>JIGASI_SIPSERVER</literal> and\n<literal>JIGASI_SIPPORT</literal>.\n", "loc": ["services", "jigasi", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.jigasi.userDomain": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "description": "Domain part of the JID for XMPP user connection.\n", "example": {"_type": "literalExpression", "text": "\"internal.meet.example.org\""}, "loc": ["services", "jigasi", "userDomain"], "readOnly": false, "type": "string"}, "services.jigasi.userName": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "default": {"_type": "literalExpression", "text": "\"callcontrol\""}, "description": "User part of the JID for XMPP user connection.\n", "loc": ["services", "jigasi", "userName"], "readOnly": false, "type": "string"}, "services.jigasi.userPasswordFile": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "description": "Path to file containing password for XMPP user connection.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jigasi-user\""}, "loc": ["services", "jigasi", "userPasswordFile"], "readOnly": false, "type": "string"}, "services.jigasi.xmppDomain": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Domain name of the XMMP server to which to connect as a component.\n\nIf null, <option>xmppHost</option> is used.\n", "example": {"_type": "literalExpression", "text": "\"meet.example.org\""}, "loc": ["services", "jigasi", "xmppDomain"], "readOnly": false, "type": "null or string"}, "services.jigasi.xmppHost": {"declarations": ["nixos/modules/services/networking/jigasi.nix"], "description": "Hostname of the XMPP server to connect to.\n", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "jigasi", "xmppHost"], "readOnly": false, "type": "string"}, "services.jitsi-meet.caddy.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable caddy reverse proxy to expose jitsi-meet.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jitsi-meet", "caddy", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.config": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Client-side web application settings that override the defaults in {file}`config.js`.\n\nSee <https://github.com/jitsi/jitsi-meet/blob/master/config.js> for default\nconfiguration with comments.\n", "example": {"_type": "literalExpression", "text": "{\n  enableWelcomePage = false;\n  defaultLang = \"fi\";\n}\n"}, "loc": ["services", "jitsi-meet", "config"], "readOnly": false, "type": "attribute set"}, "services.jitsi-meet.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jitsi Meet - Secure, Simple and Scalable Video Conferences.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jitsi-meet", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.excalidraw.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Excalidraw collaboration backend for Jitsi.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jitsi-meet", "excalidraw", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.excalidraw.port": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "3002"}, "description": "The port which the Excalidraw backend for Jitsi should listen to.", "loc": ["services", "jitsi-meet", "excalidraw", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.jitsi-meet.extraConfig": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Text to append to {file}`config.js` web application config file.\n\nCan be used to insert JavaScript logic to determine user's region in cascading bridges setup.\n", "loc": ["services", "jitsi-meet", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jitsi-meet.hostName": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "description": "FQDN of the Jitsi Meet instance.\n", "example": {"_type": "literalExpression", "text": "\"meet.example.org\""}, "loc": ["services", "jitsi-meet", "hostName"], "readOnly": false, "type": "string"}, "services.jitsi-meet.interfaceConfig": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Client-side web-app interface settings that override the defaults in {file}`interface_config.js`.\n\nSee <https://github.com/jitsi/jitsi-meet/blob/master/interface_config.js> for\ndefault configuration with comments.\n", "example": {"_type": "literalExpression", "text": "{\n  SHOW_JITSI_WATERMARK = false;\n  SHOW_WATERMARK_FOR_GUESTS = false;\n}\n"}, "loc": ["services", "jitsi-meet", "interfaceConfig"], "readOnly": false, "type": "attribute set"}, "services.jitsi-meet.jibri.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a Jibri instance and configure it to connect to Prosody.\n\nAdditional configuration is possible with {option}`services.jibri`, and\n{option}`services.jibri.finalizeScript` is especially useful.\n", "loc": ["services", "jitsi-meet", "jibri", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.jicofo.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable JiCoFo instance and configure it to connect to Prosody.\n\nAdditional configuration is possible with {option}`services.jicofo`.\n", "loc": ["services", "jitsi-meet", "jicofo", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.jigasi.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable jigasi instance and configure it to connect to Prosody.\n\nAdditional configuration is possible with <option>services.jigasi</option>.\n", "loc": ["services", "jitsi-meet", "jigasi", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable nginx virtual host that will serve the javascript application and act as\na proxy for the XMPP server. Further nginx configuration can be done by adapting\n{option}`services.nginx.virtualHosts.<hostName>`.\nWhen this is enabled, ACME will be used to retrieve a TLS certificate by default. To disable\nthis, set the {option}`services.nginx.virtualHosts.<hostName>.enableACME` to\n`false` and if appropriate do the same for\n{option}`services.nginx.virtualHosts.<hostName>.forceSSL`.\n", "loc": ["services", "jitsi-meet", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.prosody.allowners_muc": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Add module allowners, any user in chat is able to\nkick other. Usefull in jitsi-meet to kick ghosts.\n", "loc": ["services", "jitsi-meet", "prosody", "allowners_muc"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.prosody.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to configure Prosody to relay XMPP messages between Jitsi Meet components. Turn this\noff if you want to configure it manually.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "jitsi-meet", "prosody", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.prosody.lockdown": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable Prosody features not needed by Jitsi Meet.\n\nThe default Prosody configuration assumes that it will be used as a\ngeneral-purpose XMPP server rather than as a companion service for\nJitsi Meet. This option reconfigures Prosody to only listen on\nlocalhost without support for TLS termination, XMPP federation or\nthe file transfer proxy.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jitsi-meet", "prosody", "lockdown"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.secureDomain.authentication": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "\"internal_hashed\""}, "description": "The authentication type to be used by jitsi", "loc": ["services", "jitsi-meet", "secureDomain", "authentication"], "readOnly": false, "type": "string"}, "services.jitsi-meet.secureDomain.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Authenticated room creation.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jitsi-meet", "secureDomain", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.videobridge.enable": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Jitsi Videobridge instance and configure it to connect to Prosody.\n\nAdditional configuration is possible with {option}`services.jitsi-videobridge`\n", "loc": ["services", "jitsi-meet", "videobridge", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-meet.videobridge.passwordFile": {"declarations": ["nixos/modules/services/web-apps/jitsi-meet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing password to the Prosody account for videobridge.\n\nIf `null`, a file with password will be generated automatically. Setting\nthis option is useful if you plan to connect additional videobridges to the XMPP server.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/videobridge\""}, "loc": ["services", "jitsi-meet", "videobridge", "passwordFile"], "readOnly": false, "type": "null or string"}, "services.jitsi-videobridge.colibriRestApi": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the private rest API for the COLIBRI control interface.\nNeeded for monitoring jitsi, enabling scraping of the /colibri/stats endpoint.\n", "loc": ["services", "jitsi-videobridge", "colibriRestApi"], "readOnly": false, "type": "boolean"}, "services.jitsi-videobridge.config": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Videobridge configuration.\n\nSee <https://github.com/jitsi/jitsi-videobridge/blob/master/jvb/src/main/resources/reference.conf>\nfor default configuration with comments.\n", "example": {"_type": "literalExpression", "text": "{\n  videobridge = {\n    ice.udp.port = 5000;\n    websockets = {\n      enabled = true;\n      server-id = \"jvb1\";\n    };\n  };\n}\n"}, "loc": ["services", "jitsi-videobridge", "config"], "readOnly": false, "type": "attribute set"}, "services.jitsi-videobridge.enable": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jitsi Videobridge, a WebRTC compatible video router.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jitsi-videobridge", "enable"], "readOnly": false, "type": "boolean"}, "services.jitsi-videobridge.extraProperties": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional Java properties passed to jitsi-videobridge.\n", "loc": ["services", "jitsi-videobridge", "extraProperties"], "readOnly": false, "type": "attribute set of string"}, "services.jitsi-videobridge.nat.harvesterAddresses": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"stunserver.stunprotocol.org:3478\"\n  \"stun.framasoft.org:3478\"\n  \"meet-jit-si-turnrelay.jitsi.net:443\"\n]"}, "description": "Addresses of public STUN services to use to automatically find\nthe public and local addresses of this Jitsi-Videobridge instance\nwithout the need for manual configuration.\n\nThis option is ignored if {option}`services.jitsi-videobridge.nat.localAddress`\nand {option}`services.jitsi-videobridge.nat.publicAddress` are set.\n", "example": {"_type": "literalExpression", "text": "[ ]"}, "loc": ["services", "jitsi-videobridge", "nat", "harvesterAddresses"], "readOnly": false, "type": "list of string"}, "services.jitsi-videobridge.nat.localAddress": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Local address to assume when running behind NAT.\n", "example": {"_type": "literalExpression", "text": "\"192.168.1.42\""}, "loc": ["services", "jitsi-videobridge", "nat", "localAddress"], "readOnly": false, "type": "null or string"}, "services.jitsi-videobridge.nat.publicAddress": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Public address to assume when running behind NAT.\n", "example": {"_type": "literalExpression", "text": "\"1.2.3.4\""}, "loc": ["services", "jitsi-videobridge", "nat", "publicAddress"], "readOnly": false, "type": "null or string"}, "services.jitsi-videobridge.openFirewall": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall for the videobridge.\n", "loc": ["services", "jitsi-videobridge", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.jitsi-videobridge.xmppConfigs": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "XMPP servers to connect to.\n\nSee <https://github.com/jitsi/jitsi-videobridge/blob/master/doc/muc.md> for more information.\n", "example": {"_type": "literalExpression", "text": "{\n  \"localhost\" = {\n    hostName = \"localhost\";\n    userName = \"jvb\";\n    domain = \"auth.xmpp.example.org\";\n    passwordFile = \"/var/lib/jitsi-meet/videobridge-secret\";\n    mucJids = \"jvbbrewery@internal.xmpp.example.org\";\n  };\n}\n"}, "loc": ["services", "jitsi-videobridge", "xmppConfigs"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.jitsi-videobridge.xmppConfigs.<name>.disableCertificateVerification": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to skip validation of the server's certificate.\n", "loc": ["services", "jitsi-videobridge", "xmppConfigs", "<name>", "disableCertificateVerification"], "readOnly": false, "type": "boolean"}, "services.jitsi-videobridge.xmppConfigs.<name>.domain": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Domain part of JID of the XMPP user, if it is different from hostName.\n", "example": {"_type": "literalExpression", "text": "\"auth.xmpp.example.org\""}, "loc": ["services", "jitsi-videobridge", "xmppConfigs", "<name>", "domain"], "readOnly": false, "type": "null or string"}, "services.jitsi-videobridge.xmppConfigs.<name>.hostName": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "description": "Hostname of the XMPP server to connect to. Name of the attribute set is used by default.\n", "example": {"_type": "literalExpression", "text": "\"xmpp.example.org\""}, "loc": ["services", "jitsi-videobridge", "xmppConfigs", "<name>", "hostName"], "readOnly": false, "type": "string"}, "services.jitsi-videobridge.xmppConfigs.<name>.mucJids": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "description": "JID of the MUC to join. JiCoFo needs to be configured to join the same MUC.\n", "example": {"_type": "literalExpression", "text": "\"jvbbrewery@internal.xmpp.example.org\""}, "loc": ["services", "jitsi-videobridge", "xmppConfigs", "<name>", "mucJids"], "readOnly": false, "type": "string"}, "services.jitsi-videobridge.xmppConfigs.<name>.mucNickname": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "description": "Videobridges use the same XMPP account and need to be distinguished by the\nnickname (aka resource part of the JID). By default, system hostname is used.\n", "loc": ["services", "jitsi-videobridge", "xmppConfigs", "<name>", "mucNickname"], "readOnly": false, "type": "string"}, "services.jitsi-videobridge.xmppConfigs.<name>.passwordFile": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "description": "File containing the password for the user.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/jitsi-videobridge-xmpp1\""}, "loc": ["services", "jitsi-videobridge", "xmppConfigs", "<name>", "passwordFile"], "readOnly": false, "type": "string"}, "services.jitsi-videobridge.xmppConfigs.<name>.userName": {"declarations": ["nixos/modules/services/networking/jitsi-videobridge.nix"], "default": {"_type": "literalExpression", "text": "\"jvb\""}, "description": "User part of the JID.\n", "loc": ["services", "jitsi-videobridge", "xmppConfigs", "<name>", "userName"], "readOnly": false, "type": "string"}, "services.jitterentropy-rngd.enable": {"declarations": ["nixos/modules/services/security/jitterentropy-rngd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable jitterentropy-rngd service configuration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jitterentropy-rngd", "enable"], "readOnly": false, "type": "boolean"}, "services.jitterentropy-rngd.flags": {"declarations": ["nixos/modules/services/security/jitterentropy-rngd.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Additional flags to pass to jitterentropy", "loc": ["services", "jitterentropy-rngd", "flags"], "readOnly": false, "type": "signed integer"}, "services.jitterentropy-rngd.forceSP800-90B": {"declarations": ["nixos/modules/services/security/jitterentropy-rngd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force SP800-90B mode for entropy reading", "loc": ["services", "jitterentropy-rngd", "forceSP800-90B"], "readOnly": false, "type": "boolean"}, "services.jitterentropy-rngd.memlockLimit": {"declarations": ["nixos/modules/services/security/jitterentropy-rngd.nix"], "default": {"_type": "literalExpression", "text": "\"2M\""}, "description": "Set limit for lockable memory with mlock", "loc": ["services", "jitterentropy-rngd", "memlockLimit"], "readOnly": false, "type": "string"}, "services.jitterentropy-rngd.osr": {"declarations": ["nixos/modules/services/security/jitterentropy-rngd.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Oversampling rate for jitterentropy (3 to 20)", "loc": ["services", "jitterentropy-rngd", "osr"], "readOnly": false, "type": "integer between 3 and 20 (both inclusive)"}, "services.jitterentropy-rngd.package": {"declarations": ["nixos/modules/services/security/jitterentropy-rngd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jitterentropy-rngd"}, "description": "The jitterentropy-rngd package to use.", "loc": ["services", "jitterentropy-rngd", "package"], "readOnly": false, "type": "package"}, "services.jitterentropy-rngd.verbose": {"declarations": ["nixos/modules/services/security/jitterentropy-rngd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable verbose log messages", "loc": ["services", "jitterentropy-rngd", "verbose"], "readOnly": false, "type": "boolean"}, "services.jmusicbot.enable": {"declarations": ["nixos/modules/services/audio/jmusicbot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable jmusicbot, a Discord music bot that's easy to set up and run yourself.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jmusicbot", "enable"], "readOnly": false, "type": "boolean"}, "services.jmusicbot.package": {"declarations": ["nixos/modules/services/audio/jmusicbot.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jmusicbot"}, "description": "The jmusicbot package to use.", "loc": ["services", "jmusicbot", "package"], "readOnly": false, "type": "package"}, "services.jmusicbot.stateDir": {"declarations": ["nixos/modules/services/audio/jmusicbot.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/jmusicbot/\""}, "description": "The directory where config.txt and serversettings.json is saved.\nIf left as the default value this directory will automatically be created before JMusicBot starts, otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership and permissions.\nUntouched by the value of this option config.txt needs to be placed manually into this directory.\n", "loc": ["services", "jmusicbot", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.jotta-cli.enable": {"declarations": ["nixos/modules/services/networking/jotta-cli.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jottacloud Command-line Tool.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jotta-cli", "enable"], "readOnly": false, "type": "boolean"}, "services.jotta-cli.options": {"declarations": ["nixos/modules/services/networking/jotta-cli.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"stdoutlog\"\n  \"datadir\"\n  \"%h/.jottad/\"\n]"}, "description": "Command-line options passed to jottad.", "example": {"_type": "literalExpression", "text": "[ ]"}, "loc": ["services", "jotta-cli", "options"], "readOnly": false, "type": "list of string"}, "services.jotta-cli.package": {"declarations": ["nixos/modules/services/networking/jotta-cli.nix"], "default": {"_type": "literalExpression", "text": "pkgs.jotta-cli"}, "description": "The jotta-cli package to use.", "loc": ["services", "jotta-cli", "package"], "readOnly": false, "type": "package"}, "services.journalbeat.enable": {"declarations": ["nixos/modules/services/logging/journalbeat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable journalbeat.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "journalbeat", "enable"], "readOnly": false, "type": "boolean"}, "services.journalbeat.extraConfig": {"declarations": ["nixos/modules/services/logging/journalbeat.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any other configuration options you want to add", "loc": ["services", "journalbeat", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.journalbeat.name": {"declarations": ["nixos/modules/services/logging/journalbeat.nix"], "default": {"_type": "literalExpression", "text": "\"journalbeat\""}, "description": "Name of the beat", "loc": ["services", "journalbeat", "name"], "readOnly": false, "type": "string"}, "services.journalbeat.package": {"declarations": ["nixos/modules/services/logging/journalbeat.nix"], "default": {"_type": "literalExpression", "text": "pkgs.journalbeat"}, "description": "The journalbeat package to use.", "loc": ["services", "journalbeat", "package"], "readOnly": false, "type": "package"}, "services.journalbeat.stateDir": {"declarations": ["nixos/modules/services/logging/journalbeat.nix"], "default": {"_type": "literalExpression", "text": "\"journalbeat\""}, "description": "Directory below `/var/lib/` to store journalbeat's\nown logs and other data. This directory will be created automatically\nusing systemd's StateDirectory mechanism.\n", "loc": ["services", "journalbeat", "stateDir"], "readOnly": false, "type": "string"}, "services.journalbeat.tags": {"declarations": ["nixos/modules/services/logging/journalbeat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Tags to place on the shipped log messages", "loc": ["services", "journalbeat", "tags"], "readOnly": false, "type": "list of string"}, "services.journald.audit": {"declarations": ["nixos/modules/system/boot/systemd/journald.nix"], "default": {"_type": "literalExpression", "text": "\"keep\""}, "description": "If enabled systemd-journald will turn on auditing on start-up.\nIf disabled it will turn it off. If unset it will neither enable nor disable it, leaving the previous state unchanged.\n\nNixOS defaults to leaving this unset as enabling audit without auditd running leads to spamming /dev/kmesg with random messages\nand if you enable auditd then auditd is responsible for turning auditing on.\n\nIf you want to have audit logs in journald and do not mind audit logs also ending up in /dev/kmesg you can set this option to true.\n\nIf you want to for some ununderstandable reason disable auditing if auditd enabled it then you can set this option to false.\nIt is of NixOS' opinion that setting this to false is definitely the wrong thing to do - but it's an option.\n", "loc": ["services", "journald", "audit"], "readOnly": false, "type": "boolean or value \"keep\" (singular enum)"}, "services.journald.console": {"declarations": ["nixos/modules/system/boot/systemd/journald.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "If non-empty, write log messages to the specified TTY device.", "loc": ["services", "journald", "console"], "readOnly": false, "type": "string"}, "services.journald.extraConfig": {"declarations": ["nixos/modules/system/boot/systemd/journald.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra config options for systemd-journald. See {manpage}`journald.conf(5)`\nfor available options.\n", "example": {"_type": "literalExpression", "text": "\"Storage=volatile\""}, "loc": ["services", "journald", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.journald.forwardToSyslog": {"declarations": ["nixos/modules/system/boot/systemd/journald.nix"], "default": {"_type": "literalExpression", "text": "services.rsyslogd.enable || services.syslog-ng.enable"}, "description": "Whether to forward log messages to syslog.\n", "loc": ["services", "journald", "forwardToSyslog"], "readOnly": false, "type": "boolean"}, "services.journald.gateway.cert": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file or `AF_UNIX` stream socket to read the server\ncertificate from.\n\nThe certificate must be in PEM format. This option switches\n`systemd-journal-gatewayd` into HTTPS mode and must be used together\nwith {option}`services.journald.gateway.key`.\n", "loc": ["services", "journald", "gateway", "cert"], "readOnly": false, "type": "null or string"}, "services.journald.gateway.enable": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP gateway to the journal.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "journald", "gateway", "enable"], "readOnly": false, "type": "boolean"}, "services.journald.gateway.key": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify the path to a file or `AF_UNIX` stream socket to read the\nsecret server key corresponding to the certificate specified with\n{option}`services.journald.gateway.cert` from.\n\nThe key must be in PEM format.\n\nThis key should not be world-readable, and must be readably by the\n`systemd-journal-gateway` user.\n", "loc": ["services", "journald", "gateway", "key"], "readOnly": false, "type": "null or string"}, "services.journald.gateway.merge": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Serve entries interleaved from all available journals, including other\nmachines.\n\nThis has the same meaning as `--merge` option for\n{manpage}`journalctl(1)`.\n", "loc": ["services", "journald", "gateway", "merge"], "readOnly": false, "type": "boolean"}, "services.journald.gateway.port": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "19531"}, "description": "The port to listen to.\n", "loc": ["services", "journald", "gateway", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.journald.gateway.system": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Serve entries from system services and the kernel.\n\nThis has the same meaning as `--system` for {manpage}`journalctl(1)`.\n", "loc": ["services", "journald", "gateway", "system"], "readOnly": false, "type": "boolean"}, "services.journald.gateway.trust": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify the path to a file or `AF_UNIX` stream socket to read a CA\ncertificate from.\n\nThe certificate must be in PEM format.\n\nSetting this option enforces client certificate checking.\n", "loc": ["services", "journald", "gateway", "trust"], "readOnly": false, "type": "null or string"}, "services.journald.gateway.user": {"declarations": ["nixos/modules/system/boot/systemd/journald-gateway.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Serve entries from services for the current user.\n\nThis has the same meaning as `--user` for {manpage}`journalctl(1)`.\n", "loc": ["services", "journald", "gateway", "user"], "readOnly": false, "type": "boolean"}, "services.journald.rateLimitBurst": {"declarations": ["nixos/modules/system/boot/systemd/journald.nix"], "default": {"_type": "literalExpression", "text": "10000"}, "description": "Configures the rate limiting burst limit (number of messages per\ninterval) that is applied to all messages generated on the system.\nThis rate limiting is applied per-service, so that two services\nwhich log do not interfere with each other's limit.\n\nNote that the effective rate limit is multiplied by a factor derived\nfrom the available free disk space for the journal as described on\n{manpage}`journald.conf(5)`.\n\nNote that the total amount of logs stored is limited by journald settings\nsuch as `SystemMaxUse`, which defaults to 10% the file system size\n(capped at max 4GB), and `SystemKeepFree`, which defaults to 15% of the\nfile system size.\n\nIt is thus recommended to compute what period of time that you will be\nable to store logs for when an application logs at full burst rate.\nWith default settings for log lines that are 100 Bytes long, this can\namount to just a few hours.\n", "loc": ["services", "journald", "rateLimitBurst"], "readOnly": false, "type": "signed integer"}, "services.journald.rateLimitInterval": {"declarations": ["nixos/modules/system/boot/systemd/journald.nix"], "default": {"_type": "literalExpression", "text": "\"30s\""}, "description": "Configures the rate limiting interval that is applied to all\nmessages generated on the system. This rate limiting is applied\nper-service, so that two services which log do not interfere with\neach other's limit. The value may be specified in the following\nunits: s, min, h, ms, us. To turn off any kind of rate limiting,\nset either value to 0.\n\nSee {option}`services.journald.rateLimitBurst` for important\nconsiderations when setting this value.\n", "loc": ["services", "journald", "rateLimitInterval"], "readOnly": false, "type": "string"}, "services.journald.remote.enable": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable receiving systemd journals from the network.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "journald", "remote", "enable"], "readOnly": false, "type": "boolean"}, "services.journald.remote.listen": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "\"https\""}, "description": "Which protocol to listen to.\n", "loc": ["services", "journald", "remote", "listen"], "readOnly": false, "type": "one of \"https\", \"http\""}, "services.journald.remote.output": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/journal/remote/\""}, "description": "The location of the output journal.\n\nIn case the output file is not specified, journal files will be created\nunderneath the selected directory. Files will be called\n{file}`remote-hostname.journal`, where the `hostname` part is the\nescaped hostname of the source endpoint of the connection, or the\nnumerical address if the hostname cannot be determined.\n", "loc": ["services", "journald", "remote", "output"], "readOnly": false, "type": "string"}, "services.journald.remote.port": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "19532"}, "description": "The port to listen to.\n\nNote that this option is used only if\n{option}`services.journald.upload.listen` is configured to be either\n\"https\" or \"http\".\n", "loc": ["services", "journald", "remote", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.journald.remote.settings": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration in the journal-remote configuration file. See\n{manpage}`journal-remote.conf(5)` for available options.\n", "loc": ["services", "journald", "remote", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.journald.remote.settings.Remote.Seal": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Periodically sign the data in the journal using Forward Secure\nSealing.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "journald", "remote", "settings", "Remote", "Seal"], "readOnly": false, "type": "boolean"}, "services.journald.remote.settings.Remote.ServerCertificateFile": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/ssl/certs/journal-remote.pem\""}, "description": "A path to a SSL certificate file in PEM format.\n\nThis option can be used with `listen = \"https\"`. If the path\nrefers to an `AF_UNIX` stream socket in the file system a\nconnection is made to it and the certificate read from it.\n", "loc": ["services", "journald", "remote", "settings", "Remote", "ServerCertificateFile"], "readOnly": false, "type": "string"}, "services.journald.remote.settings.Remote.ServerKeyFile": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/ssl/private/journal-remote.pem\""}, "description": "A path to a SSL secret key file in PEM format.\n\nNote that due to security reasons, `systemd-journal-remote` will\nrefuse files from the world-readable `/nix/store`. This file\nshould be readable by the \"\" user.\n\nThis option can be used with `listen = \"https\"`. If the path\nrefers to an `AF_UNIX` stream socket in the file system a\nconnection is made to it and the key read from it.\n", "loc": ["services", "journald", "remote", "settings", "Remote", "ServerKeyFile"], "readOnly": false, "type": "string"}, "services.journald.remote.settings.Remote.SplitMode": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "\"host\""}, "description": "With \"host\", a separate output file is used, based on the\nhostname of the other endpoint of a connection. With \"none\", only\none output journal file is used.\n", "example": {"_type": "literalExpression", "text": "\"none\""}, "loc": ["services", "journald", "remote", "settings", "Remote", "SplitMode"], "readOnly": false, "type": "one of \"host\", \"none\""}, "services.journald.remote.settings.Remote.TrustedCertificateFile": {"declarations": ["nixos/modules/system/boot/systemd/journald-remote.nix"], "default": {"_type": "literalExpression", "text": "\"/etc/ssl/ca/trusted.pem\""}, "description": "A path to a SSL CA certificate file in PEM format, or `all`.\n\nIf `all` is set, then client certificate checking will be\ndisabled.\n\nThis option can be used with `listen = \"https\"`. If the path\nrefers to an `AF_UNIX` stream socket in the file system a\nconnection is made to it and the certificate read from it.\n", "loc": ["services", "journald", "remote", "settings", "Remote", "TrustedCertificateFile"], "readOnly": false, "type": "string"}, "services.journald.storage": {"declarations": ["nixos/modules/system/boot/systemd/journald.nix"], "default": {"_type": "literalExpression", "text": "\"persistent\""}, "description": "Controls where to store journal data. See\n{manpage}`journald.conf(5)` for further information.\n", "loc": ["services", "journald", "storage"], "readOnly": false, "type": "one of \"persistent\", \"volatile\", \"auto\", \"none\""}, "services.journald.upload.enable": {"declarations": ["nixos/modules/system/boot/systemd/journald-upload.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable uploading the systemd journal to a remote server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "journald", "upload", "enable"], "readOnly": false, "type": "boolean"}, "services.journald.upload.settings": {"declarations": ["nixos/modules/system/boot/systemd/journald-upload.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for journal-upload. See {manpage}`journal-upload.conf(5)`\nfor available options.\n", "loc": ["services", "journald", "upload", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.journald.upload.settings.Upload.NetworkTimeoutSec": {"declarations": ["nixos/modules/system/boot/systemd/journald-upload.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "When network connectivity to the server is lost, this option\nconfigures the time to wait for the connectivity to get restored.\n\nIf the server is not reachable over the network for the\nconfigured time, `systemd-journal-upload` exits. Takes a value in\nseconds (or in other time units if suffixed with \"ms\", \"min\",\n\"h\", etc). For details, see {manpage}`systemd.time(5)`.\n", "example": {"_type": "literalExpression", "text": "\"1s\""}, "loc": ["services", "journald", "upload", "settings", "Upload", "NetworkTimeoutSec"], "readOnly": false, "type": "null or string"}, "services.journald.upload.settings.Upload.ServerCertificateFile": {"declarations": ["nixos/modules/system/boot/systemd/journald-upload.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SSL CA certificate in PEM format.\n\nIn contrary to what the name suggests, this option configures the\nclient certificate sent to the remote journal server.\n", "example": {"_type": "literalExpression", "text": "./server-ca.pem"}, "loc": ["services", "journald", "upload", "settings", "Upload", "ServerCertificateFile"], "readOnly": false, "type": "null or string"}, "services.journald.upload.settings.Upload.ServerKeyFile": {"declarations": ["nixos/modules/system/boot/systemd/journald-upload.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SSL key in PEM format.\n\nIn contrary to what the name suggests, this option configures the\nclient private key sent to the remote journal server.\n\nThis key should not be world-readable, and must be readably by\nthe `systemd-journal` group.\n", "example": {"_type": "literalExpression", "text": "./server-key.pem"}, "loc": ["services", "journald", "upload", "settings", "Upload", "ServerKeyFile"], "readOnly": false, "type": "null or string"}, "services.journald.upload.settings.Upload.TrustedCertificateFile": {"declarations": ["nixos/modules/system/boot/systemd/journald-upload.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SSL CA certificate.\n\nThis certificate will be used to check the remote journal HTTPS\nserver certificate.\n", "example": {"_type": "literalExpression", "text": "./ca"}, "loc": ["services", "journald", "upload", "settings", "Upload", "TrustedCertificateFile"], "readOnly": false, "type": "null or string"}, "services.journald.upload.settings.Upload.URL": {"declarations": ["nixos/modules/system/boot/systemd/journald-upload.nix"], "description": "The URL to upload the journal entries to.\n\nSee the description of `--url=` option in\n{manpage}`systemd-journal-upload(8)` for the description of\npossible values.\n", "example": {"_type": "literalExpression", "text": "\"https://192.168.1.1\""}, "loc": ["services", "journald", "upload", "settings", "Upload", "URL"], "readOnly": false, "type": "string"}, "services.journaldriver.applicationCredentials": {"declarations": ["nixos/modules/services/logging/journaldriver.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the service account private key (in JSON-format) used\nto forward log entries to Stackdriver Logging on non-GCP\ninstances.\n\nThis option is required on non-GCP machines, but should not be\nset on GCP instances.\n", "loc": ["services", "journaldriver", "applicationCredentials"], "readOnly": false, "type": "null or absolute path"}, "services.journaldriver.enable": {"declarations": ["nixos/modules/services/logging/journaldriver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable journaldriver to forward journald logs to\nStackdriver Logging.\n", "loc": ["services", "journaldriver", "enable"], "readOnly": false, "type": "boolean"}, "services.journaldriver.googleCloudProject": {"declarations": ["nixos/modules/services/logging/journaldriver.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configures the name of the Google Cloud project to which to\nforward journald logs.\n\nThis option is required on non-GCP machines, but should not be\nset on GCP instances.\n", "loc": ["services", "journaldriver", "googleCloudProject"], "readOnly": false, "type": "null or string"}, "services.journaldriver.logLevel": {"declarations": ["nixos/modules/services/logging/journaldriver.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Log level at which journaldriver logs its own output.\n", "loc": ["services", "journaldriver", "logLevel"], "readOnly": false, "type": "string"}, "services.journaldriver.logName": {"declarations": ["nixos/modules/services/logging/journaldriver.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configures the name of the target log in Stackdriver Logging.\nThis option can be set to, for example, the hostname of a\nmachine to improve the user experience in the logging\noverview.\n", "loc": ["services", "journaldriver", "logName"], "readOnly": false, "type": "null or string"}, "services.journaldriver.logStream": {"declarations": ["nixos/modules/services/logging/journaldriver.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configures the name of the Stackdriver Logging log stream into\nwhich to write journald entries.\n\nThis option is required on non-GCP machines, but should not be\nset on GCP instances.\n", "loc": ["services", "journaldriver", "logStream"], "readOnly": false, "type": "null or string"}, "services.journalwatch.accuracy": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "\"10min\""}, "description": "The time window around the interval in which the journalwatch run will be scheduled.\n\nThe format is described in {manpage}`systemd.time(7)`.\n", "loc": ["services", "journalwatch", "accuracy"], "readOnly": false, "type": "string"}, "services.journalwatch.enable": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, periodically check the journal with journalwatch and report the results by mail.\n", "loc": ["services", "journalwatch", "enable"], "readOnly": false, "type": "boolean"}, "services.journalwatch.extraConfig": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the journalwatch/config configuration file.\nYou can add any commandline argument to the config, without the '--'.\nSee `journalwatch --help` for all arguments and their description.\n", "loc": ["services", "journalwatch", "extraConfig"], "readOnly": false, "type": "string"}, "services.journalwatch.filterBlocks": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "[\n  {\n    filters = ''\n      (Stopped|Stopping|Starting|Started) .*\n      (Created slice|Removed slice) user-\\d*\\.slice\\.\n      Received SIGRTMIN\\+24 from PID .*\n      (Reached target|Stopped target) .*\n      Startup finished in \\d*ms\\.\n    '';\n    match = \"SYSLOG_IDENTIFIER = systemd\";\n  }\n]"}, "description": "filterBlocks can be defined to blacklist journal messages which are not errors.\nEach block matches on a log entry field, and the filters in that block then are matched\nagainst all messages with a matching log entry field.\n\nAll messages whose PRIORITY is at least 6 (INFO) are processed by journalwatch.\nIf you don't specify any filterBlocks, PRIORITY is reduced to 5 (NOTICE) by default.\n\nAll regular expressions are extended Python regular expressions, for details\nsee: http://doc.pyschools.com/html/regex.html\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    filters = ''\n      New session [a-z]?\\d+ of user \\w+\\.\n      Removed session [a-z]?\\d+\\.\n    '';\n    match = \"_SYSTEMD_UNIT = systemd-logind.service\";\n  }\n  {\n    filters = ''\n      pam_unix\\(crond:session\\): session (opened|closed) for user \\w+\n      \\(\\w+\\) CMD .*\n    '';\n    match = \"SYSLOG_IDENTIFIER = /(CROND|crond)/\";\n  }\n]"}, "loc": ["services", "journalwatch", "filterBlocks"], "readOnly": false, "type": "list of (submodule)"}, "services.journalwatch.filterBlocks.*.filters": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "description": "The filters to apply on all messages which satisfy {option}`match`.\nAny of those messages that match any specified filter will be removed from journalwatch's output.\nEach filter is an extended Python regular expression.\nYou can specify multiple filters and separate them by newlines.\nLines starting with '#' are comments. Inline-comments are not permitted.\n", "example": {"_type": "literalExpression", "text": "''\n  (Stopped|Stopping|Starting|Started) .*\n  (Reached target|Stopped target) .*\n''"}, "loc": ["services", "journalwatch", "filterBlocks", "*", "filters"], "readOnly": false, "type": "string"}, "services.journalwatch.filterBlocks.*.match": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "description": "Syntax: `field = value`\nSpecifies the log entry `field` this block should apply to.\nIf the `field` of a message matches this `value`,\nthis patternBlock's {option}`filters` are applied.\nIf `value` starts and ends with a slash, it is interpreted as\nan extended python regular expression, if not, it's an exact match.\nThe journal fields are explained in {manpage}`systemd.journal-fields(7)`.\n", "example": {"_type": "literalExpression", "text": "\"SYSLOG_IDENTIFIER = systemd\""}, "loc": ["services", "journalwatch", "filterBlocks", "*", "match"], "readOnly": false, "type": "string"}, "services.journalwatch.interval": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "\"hourly\""}, "description": "How often to run journalwatch.\n\nThe format is described in {manpage}`systemd.time(7)`.\n", "loc": ["services", "journalwatch", "interval"], "readOnly": false, "type": "string"}, "services.journalwatch.mailBinary": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "\"/run/wrappers/bin/sendmail\""}, "description": "Sendmail-compatible binary to be used to send the messages.\n", "loc": ["services", "journalwatch", "mailBinary"], "readOnly": false, "type": "absolute path"}, "services.journalwatch.mailFrom": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "\"journalwatch@${config.networking.hostName}\""}, "description": "Mail address to send journalwatch reports from.\n", "loc": ["services", "journalwatch", "mailFrom"], "readOnly": false, "type": "string"}, "services.journalwatch.mailTo": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mail address to send journalwatch reports to.\n", "loc": ["services", "journalwatch", "mailTo"], "readOnly": false, "type": "null or string"}, "services.journalwatch.package": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "pkgs.journalwatch"}, "description": "The journalwatch package to use.", "loc": ["services", "journalwatch", "package"], "readOnly": false, "type": "package"}, "services.journalwatch.priority": {"declarations": ["nixos/modules/services/logging/journalwatch.nix"], "default": {"_type": "literalExpression", "text": "6"}, "description": "Lowest priority of message to be considered.\nA value between 7 (\"debug\"), and 0 (\"emerg\"). Defaults to 6 (\"info\").\nIf you don't care about anything with \"info\" priority, you can reduce\nthis to e.g. 5 (\"notice\") to considerably reduce the amount of\nmessages without needing many {option}`filterBlocks`.\n", "loc": ["services", "journalwatch", "priority"], "readOnly": false, "type": "integer between 0 and 7 (both inclusive)"}, "services.joycond.enable": {"declarations": ["nixos/modules/services/hardware/joycond.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for Nintendo Pro Controllers and Joycons.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "joycond", "enable"], "readOnly": false, "type": "boolean"}, "services.joycond.package": {"declarations": ["nixos/modules/services/hardware/joycond.nix"], "default": {"_type": "literalExpression", "text": "pkgs.joycond"}, "description": "The joycond package to use.", "loc": ["services", "joycond", "package"], "readOnly": false, "type": "package"}, "services.jupyter.command": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "\"jupyter notebook\""}, "description": "Which command the service runs. Note that not all jupyter packages\nhave all commands, e.g. `jupyter lab` isn't present in the `notebook` package.\n", "example": {"_type": "literalExpression", "text": "\"jupyter lab\""}, "loc": ["services", "jupyter", "command"], "readOnly": false, "type": "string"}, "services.jupyter.enable": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jupyter development server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jupyter", "enable"], "readOnly": false, "type": "boolean"}, "services.jupyter.extraEnvironmentVariables": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to be set in the runtime context of jupyter notebook", "example": {"_type": "literalExpression", "text": "{\n  PLAYWRIGHT_BROWSERS_PATH = \"${pkgs.playwright-driver.browsers}\";\n  PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS = \"true\";\n}\n"}, "loc": ["services", "jupyter", "extraEnvironmentVariables"], "readOnly": false, "type": "attribute set of (null or (list of (signed integer or string or absolute path)) or signed integer or string or absolute path)"}, "services.jupyter.extraPackages": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages to be available in the jupyter runtime environment", "example": {"_type": "literalExpression", "text": "[\n  pkgs.python3.pkgs.nbconvert\n  pkgs.python3.pkgs.playwright\n]\n"}, "loc": ["services", "jupyter", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.jupyter.group": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "\"jupyter\""}, "description": "Name of the group used to run the jupyter service.\nUse this if you want to create a group of users that are able to view the notebook directory's content.\n", "example": {"_type": "literalExpression", "text": "\"users\""}, "loc": ["services", "jupyter", "group"], "readOnly": false, "type": "string"}, "services.jupyter.ip": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "IP address Jupyter will be listening on.\n", "loc": ["services", "jupyter", "ip"], "readOnly": false, "type": "string"}, "services.jupyter.kernels": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Declarative kernel config.\n\nKernels can be declared in any language that supports and has the required\ndependencies to communicate with a jupyter server.\nIn python's case, it means that ipykernel package must always be included in\nthe list of packages of the targeted environment.\n", "example": {"_type": "literalExpression", "text": "{\n  python3 = let\n    env = (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [\n            ipykernel\n            pandas\n            scikit-learn\n          ]));\n  in {\n    displayName = \"Python 3 for machine learning\";\n    argv = [\n      \"${env.interpreter}\"\n      \"-m\"\n      \"ipykernel_launcher\"\n      \"-f\"\n      \"{connection_file}\"\n    ];\n    language = \"python\";\n    logo32 = \"${env.sitePackages}/ipykernel/resources/logo-32x32.png\";\n    logo64 = \"${env.sitePackages}/ipykernel/resources/logo-64x64.png\";\n    extraPaths = {\n      \"cool.txt\" = pkgs.writeText \"cool\" \"cool content\";\n    };\n  };\n}\n"}, "loc": ["services", "jupyter", "kernels"], "readOnly": false, "type": "null or (attribute set of (open submodule of (JSON value)))"}, "services.jupyter.kernels.<name>.argv": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Command and arguments to start the kernel.\n", "example": {"_type": "literalExpression", "text": "[\n  \"{customEnv.interpreter}\"\n  \"-m\"\n  \"ipykernel_launcher\"\n  \"-f\"\n  \"{connection_file}\"\n]"}, "loc": ["services", "jupyter", "kernels", "<name>", "argv"], "readOnly": false, "type": "list of string"}, "services.jupyter.kernels.<name>.displayName": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Name that will be shown to the user.\n", "example": {"_type": "literalExpression", "text": "\"Python 3\"\n\"Python 3 for Data Science\"\n"}, "loc": ["services", "jupyter", "kernels", "<name>", "displayName"], "readOnly": false, "type": "string"}, "services.jupyter.kernels.<name>.env": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to set for the kernel.\n", "example": {"_type": "literalExpression", "text": "{\n  OMP_NUM_THREADS = \"1\";\n}"}, "loc": ["services", "jupyter", "kernels", "<name>", "env"], "readOnly": false, "type": "attribute set of string"}, "services.jupyter.kernels.<name>.extraPaths": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra paths to link in kernel directory\n", "example": {"_type": "literalExpression", "text": "\"{ examples = ${env.sitePack}/IRkernel/kernelspec/kernel.js\"; }"}, "loc": ["services", "jupyter", "kernels", "<name>", "extraPaths"], "readOnly": false, "type": "attribute set of absolute path"}, "services.jupyter.kernels.<name>.language": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "description": "Language of the environment. Typically the name of the binary.\n", "example": {"_type": "literalExpression", "text": "\"python\""}, "loc": ["services", "jupyter", "kernels", "<name>", "language"], "readOnly": false, "type": "string"}, "services.jupyter.kernels.<name>.logo32": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to 32x32 logo png.\n", "example": {"_type": "literalExpression", "text": "\"${env.sitePackages}/ipykernel/resources/logo-32x32.png\""}, "loc": ["services", "jupyter", "kernels", "<name>", "logo32"], "readOnly": false, "type": "null or absolute path"}, "services.jupyter.kernels.<name>.logo64": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to 64x64 logo png.\n", "example": {"_type": "literalExpression", "text": "\"${env.sitePackages}/ipykernel/resources/logo-64x64.png\""}, "loc": ["services", "jupyter", "kernels", "<name>", "logo64"], "readOnly": false, "type": "null or absolute path"}, "services.jupyter.notebookConfig": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Raw jupyter config.\nPlease use the password configuration option to set a password instead of passing it in here.\n", "loc": ["services", "jupyter", "notebookConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jupyter.notebookDir": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "\"~/\""}, "description": "Root directory for notebooks.\n", "loc": ["services", "jupyter", "notebookDir"], "readOnly": false, "type": "string"}, "services.jupyter.package": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3.pkgs.jupyter"}, "description": "The jupyter package to use.", "loc": ["services", "jupyter", "package"], "readOnly": false, "type": "package"}, "services.jupyter.password": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "description": "Password to use with notebook.\nCan be generated following: <https://jupyter-server.readthedocs.io/en/stable/operators/public-server.html#preparing-a-hashed-password>\n", "example": {"_type": "literalExpression", "text": "\"argon2:$argon2id$v=19$m=10240,t=10,p=8$48hF+vTUuy1LB83/GzNhUg$J1nx4jPWD7PwOJHs5OtDW8pjYK2s0c1R3rYGbSIKB54\""}, "loc": ["services", "jupyter", "password"], "readOnly": false, "type": "string"}, "services.jupyter.port": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "8888"}, "description": "Port number Jupyter will be listening on.\n", "loc": ["services", "jupyter", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.jupyter.user": {"declarations": ["nixos/modules/services/development/jupyter/default.nix"], "default": {"_type": "literalExpression", "text": "\"jupyter\""}, "description": "Name of the user used to run the jupyter service.\nFor security reason, jupyter should really not be run as root.\nIf not set (jupyter), the service will create a jupyter user with appropriate settings.\n", "example": {"_type": "literalExpression", "text": "\"aborsu\""}, "loc": ["services", "jupyter", "user"], "readOnly": false, "type": "string"}, "services.jupyterhub.authentication": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "\"jupyterhub.auth.PAMAuthenticator\""}, "description": "Jupyterhub authentication to use\n\nThere are many authenticators available including: oauth, pam,\nldap, kerberos, etc.\n", "loc": ["services", "jupyterhub", "authentication"], "readOnly": false, "type": "string"}, "services.jupyterhub.enable": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Jupyterhub development server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "jupyterhub", "enable"], "readOnly": false, "type": "boolean"}, "services.jupyterhub.extraConfig": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra contents appended to the jupyterhub configuration\n\nJupyterhub configuration is a normal python file using\nTraitlets. <https://jupyterhub.readthedocs.io/en/stable/getting-started/config-basics.html>. The\nbase configuration of this module was designed to have sane\ndefaults for configuration but you can override anything since\nthis is a python file.\n", "example": {"_type": "literalExpression", "text": "''\n  c.SystemdSpawner.mem_limit = '8G'\n  c.SystemdSpawner.cpu_limit = 2.0\n''"}, "loc": ["services", "jupyterhub", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.jupyterhub.host": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Bind IP JupyterHub will be listening on\n", "loc": ["services", "jupyterhub", "host"], "readOnly": false, "type": "string"}, "services.jupyterhub.jupyterhubEnv": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3.withPackages (p: with p; [\n  jupyterhub\n  jupyterhub-systemdspawner\n])\n"}, "description": "Python environment to run jupyterhub\n\nCustomizing will affect the packages available in the hub and\nproxy. This will allow packages to be available for the\nextraConfig that you may need. This will not normally need to\nbe changed.\n", "loc": ["services", "jupyterhub", "jupyterhubEnv"], "readOnly": false, "type": "package"}, "services.jupyterhub.jupyterlabEnv": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3.withPackages (p: with p; [\n  jupyterhub\n  jupyterlab\n])\n"}, "description": "Python environment to run jupyterlab\n\nCustomizing will affect the packages available in the\njupyterlab server and the default kernel provided. This is the\nway to customize the jupyterlab extensions and jupyter\nnotebook extensions. This will not normally need to\nbe changed.\n", "loc": ["services", "jupyterhub", "jupyterlabEnv"], "readOnly": false, "type": "package"}, "services.jupyterhub.kernels": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Declarative kernel config\n\nKernels can be declared in any language that supports and has\nthe required dependencies to communicate with a jupyter server.\nIn python's case, it means that ipykernel package must always be\nincluded in the list of packages of the targeted environment.\n", "example": {"_type": "literalExpression", "text": "{\n  python3 = let\n    env = (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [\n            ipykernel\n            pandas\n            scikit-learn\n          ]));\n  in {\n    displayName = \"Python 3 for machine learning\";\n    argv = [\n      \"${env.interpreter}\"\n      \"-m\"\n      \"ipykernel_launcher\"\n      \"-f\"\n      \"{connection_file}\"\n    ];\n    language = \"python\";\n    logo32 = \"${env}/${env.sitePackages}/ipykernel/resources/logo-32x32.png\";\n    logo64 = \"${env}/${env.sitePackages}/ipykernel/resources/logo-64x64.png\";\n  };\n}\n"}, "loc": ["services", "jupyterhub", "kernels"], "readOnly": false, "type": "null or (attribute set of (open submodule of (JSON value)))"}, "services.jupyterhub.kernels.<name>.argv": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Command and arguments to start the kernel.\n", "example": {"_type": "literalExpression", "text": "[\n  \"{customEnv.interpreter}\"\n  \"-m\"\n  \"ipykernel_launcher\"\n  \"-f\"\n  \"{connection_file}\"\n]"}, "loc": ["services", "jupyterhub", "kernels", "<name>", "argv"], "readOnly": false, "type": "list of string"}, "services.jupyterhub.kernels.<name>.displayName": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Name that will be shown to the user.\n", "example": {"_type": "literalExpression", "text": "\"Python 3\"\n\"Python 3 for Data Science\"\n"}, "loc": ["services", "jupyterhub", "kernels", "<name>", "displayName"], "readOnly": false, "type": "string"}, "services.jupyterhub.kernels.<name>.env": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to set for the kernel.\n", "example": {"_type": "literalExpression", "text": "{\n  OMP_NUM_THREADS = \"1\";\n}"}, "loc": ["services", "jupyterhub", "kernels", "<name>", "env"], "readOnly": false, "type": "attribute set of string"}, "services.jupyterhub.kernels.<name>.extraPaths": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra paths to link in kernel directory\n", "example": {"_type": "literalExpression", "text": "\"{ examples = ${env.sitePack}/IRkernel/kernelspec/kernel.js\"; }"}, "loc": ["services", "jupyterhub", "kernels", "<name>", "extraPaths"], "readOnly": false, "type": "attribute set of absolute path"}, "services.jupyterhub.kernels.<name>.language": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "description": "Language of the environment. Typically the name of the binary.\n", "example": {"_type": "literalExpression", "text": "\"python\""}, "loc": ["services", "jupyterhub", "kernels", "<name>", "language"], "readOnly": false, "type": "string"}, "services.jupyterhub.kernels.<name>.logo32": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to 32x32 logo png.\n", "example": {"_type": "literalExpression", "text": "\"${env.sitePackages}/ipykernel/resources/logo-32x32.png\""}, "loc": ["services", "jupyterhub", "kernels", "<name>", "logo32"], "readOnly": false, "type": "null or absolute path"}, "services.jupyterhub.kernels.<name>.logo64": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to 64x64 logo png.\n", "example": {"_type": "literalExpression", "text": "\"${env.sitePackages}/ipykernel/resources/logo-64x64.png\""}, "loc": ["services", "jupyterhub", "kernels", "<name>", "logo64"], "readOnly": false, "type": "null or absolute path"}, "services.jupyterhub.port": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "8000"}, "description": "Port number Jupyterhub will be listening on\n", "loc": ["services", "jupyterhub", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.jupyterhub.spawner": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "\"systemdspawner.SystemdSpawner\""}, "description": "Jupyterhub spawner to use\n\nThere are many spawners available including: local process,\nsystemd, docker, kubernetes, yarn, batch, etc.\n", "loc": ["services", "jupyterhub", "spawner"], "readOnly": false, "type": "string"}, "services.jupyterhub.stateDirectory": {"declarations": ["nixos/modules/services/development/jupyterhub/default.nix"], "default": {"_type": "literalExpression", "text": "\"jupyterhub\""}, "description": "Directory for jupyterhub state (token + database)\n", "loc": ["services", "jupyterhub", "stateDirectory"], "readOnly": false, "type": "string"}, "services.kanata.enable": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kanata, a tool to improve keyboard comfort and usability with advanced customization.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kanata", "enable"], "readOnly": false, "type": "boolean"}, "services.kanata.keyboards": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Keyboard configurations.", "loc": ["services", "kanata", "keyboards"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.kanata.keyboards.<name>.config": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "description": "Configuration other than `defcfg`.\n\nSee [the upstream documentation](https://github.com/jtroo/kanata/blob/main/docs/config.adoc) and [example config files](https://github.com/jtroo/kanata/tree/main/cfg_samples) for more information.\n", "example": {"_type": "literalExpression", "text": "''\n  (defsrc\n    caps)\n  \n  (deflayermap (default-layer)\n    ;; tap caps lock as caps lock, hold caps lock as left control\n    caps (tap-hold 100 100 caps lctl))\n''"}, "loc": ["services", "kanata", "keyboards", "<name>", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kanata.keyboards.<name>.configFile": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "\"A config file generated by values from other kanata module options.\""}, "description": "The config file.\n\nBy default, it is generated by values from other kanata\nmodule options.\n\nYou can also set it to your own full config file which\noverrides all other kanata module options.  See [the upstream documentation](https://github.com/jtroo/kanata/blob/main/docs/config.adoc) and [example config files](https://github.com/jtroo/kanata/tree/main/cfg_samples) for more information.\n", "loc": ["services", "kanata", "keyboards", "<name>", "configFile"], "readOnly": false, "type": "absolute path"}, "services.kanata.keyboards.<name>.devices": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Paths to keyboard devices.\n\nAn empty list, the default value, lets kanata detect which\ninput devices are keyboards and intercept them all.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/dev/input/by-id/usb-0000_0000-event-kbd\"\n]"}, "loc": ["services", "kanata", "keyboards", "<name>", "devices"], "readOnly": false, "type": "list of string"}, "services.kanata.keyboards.<name>.extraArgs": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments passed to kanata.", "loc": ["services", "kanata", "keyboards", "<name>", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.kanata.keyboards.<name>.extraDefCfg": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configuration of `defcfg` other than `linux-dev` (generated\nfrom the devices option) and\n`linux-continue-if-no-devs-found` (hardcoded to be yes).\n\nSee [the upstream documentation](https://github.com/jtroo/kanata/blob/main/docs/config.adoc) and [example config files](https://github.com/jtroo/kanata/tree/main/cfg_samples) for more information.\n", "example": {"_type": "literalExpression", "text": "\"danger-enable-cmd yes\""}, "loc": ["services", "kanata", "keyboards", "<name>", "extraDefCfg"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kanata.keyboards.<name>.port": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port to run the TCP server on. `null` will not run the server.\n", "example": {"_type": "literalExpression", "text": "6666"}, "loc": ["services", "kanata", "keyboards", "<name>", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kanata.package": {"declarations": ["nixos/modules/services/hardware/kanata.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kanata"}, "description": "The kanata package to use. ::: {.note}\nIf {option}`danger-enable-cmd` is enabled in any of the keyboards, the\n`kanata-with-cmd` package should be used.\n:::\n", "example": {"_type": "literalExpression", "text": "pkgs.kanata-with-cmd"}, "loc": ["services", "kanata", "package"], "readOnly": false, "type": "package"}, "services.kanboard.dataDir": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/kanboard\""}, "description": "Default data folder for Kanboard.", "example": {"_type": "literalExpression", "text": "\"/mnt/kanboard\""}, "loc": ["services", "kanboard", "dataDir"], "readOnly": false, "type": "string"}, "services.kanboard.domain": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "\"kanboard\""}, "description": "FQDN for the Kanboard instance.", "example": {"_type": "literalExpression", "text": "\"kanboard.example.org\""}, "loc": ["services", "kanboard", "domain"], "readOnly": false, "type": "string"}, "services.kanboard.enable": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Kanboard.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kanboard", "enable"], "readOnly": false, "type": "boolean"}, "services.kanboard.group": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "\"kanboard\""}, "description": "Group under which Kanboard runs.", "loc": ["services", "kanboard", "group"], "readOnly": false, "type": "string"}, "services.kanboard.nginx": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "With this option, you can customize an NGINX virtual host which already\nhas sensible defaults for Kanboard. Set to `{ }` if you do not need any\ncustomization for the virtual host. If enabled, then by default, the\n{option}`serverName` is `${domain}`. If this is set to null (the\ndefault), no NGINX virtual host will be configured.\n", "example": {"_type": "literalExpression", "text": "{\n  enableACME = true;\n  forceSSL = true;\n}\n"}, "loc": ["services", "kanboard", "nginx"], "readOnly": false, "type": "null or (submodule)"}, "services.kanboard.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "kanboard", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "kanboard", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "kanboard", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "kanboard", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.kanboard.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "kanboard", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.kanboard.nginx.default": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "kanboard", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "kanboard", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "kanboard", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kanboard.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "kanboard", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "kanboard", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "kanboard", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "kanboard", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "kanboard", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "kanboard", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "kanboard", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.kanboard.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "description": "Listen address.", "loc": ["services", "kanboard", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.kanboard.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "kanboard", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.kanboard.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "kanboard", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kanboard.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "kanboard", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "kanboard", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "kanboard", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.kanboard.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "kanboard", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.kanboard.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.kanboard.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.kanboard.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "kanboard", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.kanboard.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "kanboard", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kanboard.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "kanboard", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.kanboard.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "kanboard", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.kanboard.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "kanboard", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "kanboard", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.kanboard.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.kanboard.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "kanboard", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "kanboard", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "kanboard", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "kanboard", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.kanboard.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "kanboard", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "kanboard", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.kanboard.nginx.root": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "kanboard", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.kanboard.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "kanboard", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.kanboard.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "kanboard", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.kanboard.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "kanboard", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.kanboard.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "kanboard", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.kanboard.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "kanboard", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.kanboard.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "kanboard", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.kanboard.package": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kanboard"}, "description": "The kanboard package to use.", "loc": ["services", "kanboard", "package"], "readOnly": false, "type": "package"}, "services.kanboard.phpfpm.settings": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for kanboard's PHPFPM pool.\n", "loc": ["services", "kanboard", "phpfpm", "settings"], "readOnly": false, "type": "attribute set of (signed integer or string or boolean)"}, "services.kanboard.settings": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Customize the default settings, refer to <https://github.com/kanboard/kanboard/blob/main/config.default.php>\nfor details on supported values.\n", "loc": ["services", "kanboard", "settings"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.kanboard.user": {"declarations": ["nixos/modules/services/web-apps/kanboard.nix"], "default": {"_type": "literalExpression", "text": "\"kanboard\""}, "description": "User under which Kanboard runs.", "loc": ["services", "kanboard", "user"], "readOnly": false, "type": "string"}, "services.kapacitor.alerta.enable": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kapacitor alerta integration.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kapacitor", "alerta", "enable"], "readOnly": false, "type": "boolean"}, "services.kapacitor.alerta.environment": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"Production\""}, "description": "Default Alerta environment", "loc": ["services", "kapacitor", "alerta", "environment"], "readOnly": false, "type": "string"}, "services.kapacitor.alerta.origin": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"kapacitor\""}, "description": "Default origin of alert", "loc": ["services", "kapacitor", "alerta", "origin"], "readOnly": false, "type": "string"}, "services.kapacitor.alerta.token": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Default Alerta authentication token", "loc": ["services", "kapacitor", "alerta", "token"], "readOnly": false, "type": "string"}, "services.kapacitor.alerta.url": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost:5000\""}, "description": "The URL to the Alerta REST API", "loc": ["services", "kapacitor", "alerta", "url"], "readOnly": false, "type": "string"}, "services.kapacitor.bind": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Address to bind to. The default is to bind to all addresses", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "kapacitor", "bind"], "readOnly": false, "type": "string"}, "services.kapacitor.dataDir": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/kapacitor\""}, "description": "Location where Kapacitor stores its state", "loc": ["services", "kapacitor", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.kapacitor.defaultDatabase.enable": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kapacitor.defaultDatabase.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kapacitor", "defaultDatabase", "enable"], "readOnly": false, "type": "boolean"}, "services.kapacitor.defaultDatabase.password": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "description": "The password to connect to the remote InfluxDB server", "loc": ["services", "kapacitor", "defaultDatabase", "password"], "readOnly": false, "type": "string"}, "services.kapacitor.defaultDatabase.url": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "description": "The URL to an InfluxDB server that serves as the default database", "example": {"_type": "literalExpression", "text": "\"http://localhost:8086\""}, "loc": ["services", "kapacitor", "defaultDatabase", "url"], "readOnly": false, "type": "string"}, "services.kapacitor.defaultDatabase.username": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "description": "The username to connect to the remote InfluxDB server", "loc": ["services", "kapacitor", "defaultDatabase", "username"], "readOnly": false, "type": "string"}, "services.kapacitor.enable": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kapacitor.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kapacitor", "enable"], "readOnly": false, "type": "boolean"}, "services.kapacitor.extraConfig": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go into kapacitord.conf verbatim.", "loc": ["services", "kapacitor", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kapacitor.group": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"kapacitor\""}, "description": "Group under which Kapacitor runs", "loc": ["services", "kapacitor", "group"], "readOnly": false, "type": "string"}, "services.kapacitor.loadDirectory": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Directory where to load services from, such as tasks, templates and handlers (or null to disable service loading on startup)", "loc": ["services", "kapacitor", "loadDirectory"], "readOnly": false, "type": "null or absolute path"}, "services.kapacitor.port": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "9092"}, "description": "Port of Kapacitor", "loc": ["services", "kapacitor", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kapacitor.taskSnapshotInterval": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"1m0s\""}, "description": "Specifies how often to snapshot the task state  (in InfluxDB time units)", "loc": ["services", "kapacitor", "taskSnapshotInterval"], "readOnly": false, "type": "string"}, "services.kapacitor.user": {"declarations": ["nixos/modules/services/monitoring/kapacitor.nix"], "default": {"_type": "literalExpression", "text": "\"kapacitor\""}, "description": "User account under which Kapacitor runs", "loc": ["services", "kapacitor", "user"], "readOnly": false, "type": "string"}, "services.karakeep.browser.enable": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the karakeep-browser service that runs a chromium instance in\nthe background with debugging ports exposed. This is necessary for\ncertain features like screenshots.\n", "loc": ["services", "karakeep", "browser", "enable"], "readOnly": false, "type": "boolean"}, "services.karakeep.browser.exe": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "${pkgs.chromium}/bin/chromium"}, "description": "The browser executable (must be Chrome-like).", "example": {"_type": "literalExpression", "text": "${pkgs.google-chrome}/bin/google-chrome-stable"}, "loc": ["services", "karakeep", "browser", "exe"], "readOnly": false, "type": "string"}, "services.karakeep.browser.port": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "9222"}, "description": "The port the browser should run on.", "loc": ["services", "karakeep", "browser", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.karakeep.enable": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Enable the Karakeep service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "karakeep", "enable"], "readOnly": false, "type": "boolean"}, "services.karakeep.environmentFile": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An optional path to an environment file that will be used in the web and workers\nservices. This is useful for loading private keys.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/karakeep/secrets.env\""}, "loc": ["services", "karakeep", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.karakeep.extraEnvironment": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to pass to Karakaeep. This is how most settings\ncan be configured. Changing DATA_DIR is possible but not supported.\n\nSee <https://docs.karakeep.app/configuration/environment-variables>\n", "example": {"_type": "literalExpression", "text": "{\n  PORT = \"1234\";\n  DISABLE_SIGNUPS = \"true\";\n  DISABLE_NEW_RELEASE_CHECK = \"true\";\n}\n"}, "loc": ["services", "karakeep", "extraEnvironment"], "readOnly": false, "type": "attribute set of string"}, "services.karakeep.meilisearch.enable": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable Meilisearch and configure Karakeep to use it. Meilisearch is\nrequired for text search.\n", "loc": ["services", "karakeep", "meilisearch", "enable"], "readOnly": false, "type": "boolean"}, "services.karakeep.meilisearch.experimental_dumpless_upgrade": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable (experimental) dumpless upgrade of the search index.\nAllows upgrading Meilisearch without manually dumping and importing\nthe database.\n{option}`services.meilisearch.settings.experimental_dumpless_upgrade`\noverrides this option if set explicitly.\n\nMore information at <https://www.meilisearch.com/docs/learn/update_and_migration/updating#dumpless-upgrade>.\n", "loc": ["services", "karakeep", "meilisearch", "experimental_dumpless_upgrade"], "readOnly": false, "type": "boolean"}, "services.karakeep.package": {"declarations": ["nixos/modules/services/web-apps/karakeep.nix"], "default": {"_type": "literalExpression", "text": "pkgs.karakeep"}, "description": "The karakeep package to use.", "loc": ["services", "karakeep", "package"], "readOnly": false, "type": "package"}, "services.karma.configFile": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "\"A configuration file generated from the provided nix attributes settings option.\""}, "description": "A YAML config file which can be used to configure karma instead of the nix-generated file.\n", "example": {"_type": "literalExpression", "text": "\"/etc/karma/karma.conf\""}, "loc": ["services", "karma", "configFile"], "readOnly": false, "type": "absolute path"}, "services.karma.enable": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Karma dashboard service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "karma", "enable"], "readOnly": false, "type": "boolean"}, "services.karma.environment": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables to provide to karma.\n", "example": {"_type": "literalExpression", "text": "{\n  ALERTMANAGER_NAME = \"single\";\n  ALERTMANAGER_URI = \"https://alertmanager.example.com\";\n}"}, "loc": ["services", "karma", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.karma.extraOptions": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--alertmanager.timeout 10s\"\n]"}, "loc": ["services", "karma", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.karma.openFirewall": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall needed for karma to function.\n", "loc": ["services", "karma", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.karma.package": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "pkgs.karma"}, "description": "The karma package to use.", "loc": ["services", "karma", "package"], "readOnly": false, "type": "package"}, "services.karma.settings": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "{\n  listen = {\n    address = \"127.0.0.1\";\n  };\n}"}, "description": "Karma dashboard configuration as nix attributes.\n\nReference: <https://github.com/prymitive/karma/blob/main/docs/CONFIGURATION.md>\n", "example": {"_type": "literalExpression", "text": "{\n  alertmanager = {\n    interval = \"15s\";\n    servers = [\n      {\n        name = \"prod\";\n        uri = \"http://alertmanager.example.com\";\n      }\n    ];\n  };\n  listen = {\n    address = \"192.168.1.4\";\n    port = \"8000\";\n    prefix = \"/dashboard\";\n  };\n}"}, "loc": ["services", "karma", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.karma.settings.listen.address": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Hostname or IP to listen on.\n", "example": {"_type": "literalExpression", "text": "\"[::]\""}, "loc": ["services", "karma", "settings", "listen", "address"], "readOnly": false, "type": "string"}, "services.karma.settings.listen.port": {"declarations": ["nixos/modules/services/monitoring/karma.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "HTTP port to listen on.\n", "example": {"_type": "literalExpression", "text": "8182"}, "loc": ["services", "karma", "settings", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kasmweb.datastorePath": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/kasmweb\""}, "description": "The directory used to store all data for kasmweb.\n", "loc": ["services", "kasmweb", "datastorePath"], "readOnly": false, "type": "string"}, "services.kasmweb.defaultAdminPassword": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "default admin password to use.\n", "loc": ["services", "kasmweb", "defaultAdminPassword"], "readOnly": false, "type": "string"}, "services.kasmweb.defaultGuacToken": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "default guac token to use.\n", "loc": ["services", "kasmweb", "defaultGuacToken"], "readOnly": false, "type": "string"}, "services.kasmweb.defaultManagerToken": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "default manager token to use.\n", "loc": ["services", "kasmweb", "defaultManagerToken"], "readOnly": false, "type": "string"}, "services.kasmweb.defaultRegistrationToken": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "default registration token to use.\n", "loc": ["services", "kasmweb", "defaultRegistrationToken"], "readOnly": false, "type": "string"}, "services.kasmweb.defaultUserPassword": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "default user password to use.\n", "loc": ["services", "kasmweb", "defaultUserPassword"], "readOnly": false, "type": "string"}, "services.kasmweb.enable": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kasmweb.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kasmweb", "enable"], "readOnly": false, "type": "boolean"}, "services.kasmweb.listenAddress": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "The address on which kasmweb should listen.\n", "loc": ["services", "kasmweb", "listenAddress"], "readOnly": false, "type": "string"}, "services.kasmweb.listenPort": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "443"}, "description": "The port on which kasmweb should listen.\n", "loc": ["services", "kasmweb", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kasmweb.networkSubnet": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"172.20.0.0/16\""}, "description": "The network subnet to use for the containers.\n", "loc": ["services", "kasmweb", "networkSubnet"], "readOnly": false, "type": "string"}, "services.kasmweb.postgres.password": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "password to use for the postgres database.\n", "loc": ["services", "kasmweb", "postgres", "password"], "readOnly": false, "type": "string"}, "services.kasmweb.postgres.user": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "Username to use for the postgres database.\n", "loc": ["services", "kasmweb", "postgres", "user"], "readOnly": false, "type": "string"}, "services.kasmweb.redisPassword": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "\"kasmweb\""}, "description": "password to use for the redis cache.\n", "loc": ["services", "kasmweb", "redisPassword"], "readOnly": false, "type": "string"}, "services.kasmweb.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The SSL certificate to be used for kasmweb.\n", "loc": ["services", "kasmweb", "sslCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.kasmweb.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/kasmweb/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The SSL certificate's key to be used for kasmweb. Make sure to specify\nthis as a string and not a literal path, so that it is not accidentally\nincluded in your nixstore.\n", "loc": ["services", "kasmweb", "sslCertificateKey"], "readOnly": false, "type": "null or absolute path"}, "services.kavita.dataDir": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/kavita\""}, "description": "The directory where Kavita stores its state.", "loc": ["services", "kavita", "dataDir"], "readOnly": false, "type": "string"}, "services.kavita.enable": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Kavita reading server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kavita", "enable"], "readOnly": false, "type": "boolean"}, "services.kavita.package": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kavita"}, "description": "The kavita package to use.", "loc": ["services", "kavita", "package"], "readOnly": false, "type": "package"}, "services.kavita.settings": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Kavita configuration options, as configured in {file}`appsettings.json`.\n", "loc": ["services", "kavita", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.kavita.settings.IpAddresses": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0,::\""}, "description": "IP Addresses to bind to. The default is to bind to all IPv4 and IPv6 addresses.\n", "loc": ["services", "kavita", "settings", "IpAddresses"], "readOnly": false, "type": "strings concatenated with \",\""}, "services.kavita.settings.Port": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "Port to bind to.", "loc": ["services", "kavita", "settings", "Port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kavita.tokenKeyFile": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "description": "A file containing the TokenKey, a secret with at 512+ bits.\nIt can be generated with `head -c 64 /dev/urandom | base64 --wrap=0`.\n", "loc": ["services", "kavita", "tokenKeyFile"], "readOnly": false, "type": "absolute path"}, "services.kavita.user": {"declarations": ["nixos/modules/services/web-apps/kavita.nix"], "default": {"_type": "literalExpression", "text": "\"kavita\""}, "description": "User account under which Kavita runs.", "loc": ["services", "kavita", "user"], "readOnly": false, "type": "string"}, "services.kbfs.enable": {"declarations": ["nixos/modules/services/network-filesystems/kbfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to mount the Keybase filesystem.", "loc": ["services", "kbfs", "enable"], "readOnly": false, "type": "boolean"}, "services.kbfs.enableRedirector": {"declarations": ["nixos/modules/services/network-filesystems/kbfs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Keybase root redirector service, allowing\nany user to access KBFS files via `/keybase`,\nwhich will show different contents depending on the requester.\n", "loc": ["services", "kbfs", "enableRedirector"], "readOnly": false, "type": "boolean"}, "services.kbfs.extraFlags": {"declarations": ["nixos/modules/services/network-filesystems/kbfs.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional flags to pass to the Keybase filesystem on launch.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-label kbfs\"\n  \"-mount-type normal\"\n]"}, "loc": ["services", "kbfs", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.kbfs.mountPoint": {"declarations": ["nixos/modules/services/network-filesystems/kbfs.nix"], "default": {"_type": "literalExpression", "text": "\"%h/keybase\""}, "description": "Mountpoint for the Keybase filesystem.", "example": {"_type": "literalExpression", "text": "\"/keybase\""}, "loc": ["services", "kbfs", "mountPoint"], "readOnly": false, "type": "string"}, "services.keepalived.enable": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Keepalived.\n", "loc": ["services", "keepalived", "enable"], "readOnly": false, "type": "boolean"}, "services.keepalived.enableScriptSecurity": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Don't run scripts configured to be run as root if any part of the path is writable by a non-root user.\n", "loc": ["services", "keepalived", "enableScriptSecurity"], "readOnly": false, "type": "boolean"}, "services.keepalived.extraConfig": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the configuration file.\n", "loc": ["services", "keepalived", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.keepalived.extraGlobalDefs": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the 'global_defs' block of the\nconfiguration file\n", "loc": ["services", "keepalived", "extraGlobalDefs"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.keepalived.openFirewall": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically allow VRRP and AH packets in the firewall.\n", "loc": ["services", "keepalived", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.keepalived.package": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.keepalived"}, "description": "The keepalived package to use.", "loc": ["services", "keepalived", "package"], "readOnly": false, "type": "package"}, "services.keepalived.secretFile": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment variables from this file will be interpolated into the\nfinal config file using envsubst with this syntax: `$ENVIRONMENT`\nor `${VARIABLE}`.\nThe file should contain lines formatted as `SECRET_VAR=SECRET_VALUE`.\nThis is useful to avoid putting secrets into the nix store.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/keepalived.env\""}, "loc": ["services", "keepalived", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.keepalived.snmp.enable": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the builtin AgentX subagent.\n", "loc": ["services", "keepalived", "snmp", "enable"], "readOnly": false, "type": "boolean"}, "services.keepalived.snmp.enableChecker": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SNMP handling of checker element of KEEPALIVED MIB.\n", "loc": ["services", "keepalived", "snmp", "enableChecker"], "readOnly": false, "type": "boolean"}, "services.keepalived.snmp.enableKeepalived": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SNMP handling of vrrp element of KEEPALIVED MIB.\n", "loc": ["services", "keepalived", "snmp", "enableKeepalived"], "readOnly": false, "type": "boolean"}, "services.keepalived.snmp.enableRfc": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SNMP handling of RFC2787 and RFC6527 VRRP MIBs.\n", "loc": ["services", "keepalived", "snmp", "enableRfc"], "readOnly": false, "type": "boolean"}, "services.keepalived.snmp.enableRfcV2": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SNMP handling of RFC2787 VRRP MIB.\n", "loc": ["services", "keepalived", "snmp", "enableRfcV2"], "readOnly": false, "type": "boolean"}, "services.keepalived.snmp.enableRfcV3": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SNMP handling of RFC6527 VRRP MIB.\n", "loc": ["services", "keepalived", "snmp", "enableRfcV3"], "readOnly": false, "type": "boolean"}, "services.keepalived.snmp.enableTraps": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SNMP traps.\n", "loc": ["services", "keepalived", "snmp", "enableTraps"], "readOnly": false, "type": "boolean"}, "services.keepalived.snmp.socket": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Socket to use for connecting to SNMP master agent. If this value is\nset to null, keepalived's default will be used, which is\nunix:/var/agentx/master, unless using a network namespace, when the\ndefault is udp:localhost:705.\n", "loc": ["services", "keepalived", "snmp", "socket"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpInstances": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative vhost config", "loc": ["services", "keepalived", "vrrpInstances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.keepalived.vrrpInstances.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the vrrp_instance section.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.keepalived.vrrpInstances.<name>.interface": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "description": "Interface for inside_network, bound by vrrp.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "interface"], "readOnly": false, "type": "string"}, "services.keepalived.vrrpInstances.<name>.noPreempt": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "VRRP will normally preempt a lower priority machine when a higher\npriority machine comes online. \"nopreempt\" allows the lower priority\nmachine to maintain the master role, even when a higher priority machine\ncomes back online. NOTE: For this to work, the initial state of this\nentry must be BACKUP.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "noPreempt"], "readOnly": false, "type": "boolean"}, "services.keepalived.vrrpInstances.<name>.priority": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "100"}, "description": "For electing MASTER, highest priority wins. To be MASTER, make 50 more\nthan other machines.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.keepalived.vrrpInstances.<name>.state": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "\"BACKUP\""}, "description": "Initial state. As soon as the other machine(s) come up, an election will\nbe held and the machine with the highest \"priority\" will become MASTER.\nSo the entry here doesn't matter a whole lot.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "state"], "readOnly": false, "type": "one of \"MASTER\", \"BACKUP\""}, "services.keepalived.vrrpInstances.<name>.trackInterfaces": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of network interfaces to monitor for health tracking.", "example": {"_type": "literalExpression", "text": "[\n  \"eth0\"\n  \"eth1\"\n]"}, "loc": ["services", "keepalived", "vrrpInstances", "<name>", "trackInterfaces"], "readOnly": false, "type": "list of string"}, "services.keepalived.vrrpInstances.<name>.trackScripts": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of script names to invoke for health tracking.", "example": {"_type": "literalExpression", "text": "[\n  \"chk_cmd1\"\n  \"chk_cmd2\"\n]"}, "loc": ["services", "keepalived", "vrrpInstances", "<name>", "trackScripts"], "readOnly": false, "type": "list of string"}, "services.keepalived.vrrpInstances.<name>.unicastPeers": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Do not send VRRP adverts over VRRP multicast group. Instead it sends\nadverts to the following list of ip addresses using unicast design\nfashion. It can be cool to use VRRP FSM and features in a networking\nenvironment where multicast is not supported! IP Addresses specified can\nIPv4 as well as IPv6.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "unicastPeers"], "readOnly": false, "type": "list of string"}, "services.keepalived.vrrpInstances.<name>.unicastSrcIp": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Default IP for binding vrrpd is the primary IP on interface. If you\nwant to hide location of vrrpd, use this IP as src_addr for unicast\nvrrp packets.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "unicastSrcIp"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpInstances.<name>.useVmac": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use VRRP Virtual MAC.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "useVmac"], "readOnly": false, "type": "boolean"}, "services.keepalived.vrrpInstances.<name>.virtualIps": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Declarative vhost config", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "virtualIps"], "readOnly": false, "type": "list of (submodule)"}, "services.keepalived.vrrpInstances.<name>.virtualIps.*.addr": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "description": "IP address, optionally with a netmask: IPADDR[/MASK]\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "virtualIps", "*", "addr"], "readOnly": false, "type": "string"}, "services.keepalived.vrrpInstances.<name>.virtualIps.*.brd": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The broadcast address on the interface.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "virtualIps", "*", "brd"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpInstances.<name>.virtualIps.*.dev": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of the device to add the address to.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "virtualIps", "*", "dev"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpInstances.<name>.virtualIps.*.label": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Each address may be tagged with a label string. In order to preserve\ncompatibility with Linux-2.0 net aliases, this string must coincide with\nthe name of the device or must be prefixed with the device name followed\nby colon.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "virtualIps", "*", "label"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpInstances.<name>.virtualIps.*.scope": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The scope of the area where this address is valid.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "virtualIps", "*", "scope"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpInstances.<name>.virtualRouterId": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "description": "Arbitrary unique number 1..255. Used to differentiate multiple instances\nof vrrpd running on the same NIC (and hence same socket).\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "virtualRouterId"], "readOnly": false, "type": "integer between 1 and 255 (both inclusive)"}, "services.keepalived.vrrpInstances.<name>.vmacInterface": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the vmac interface to use. keepalived will come up with a name\nif you don't specify one.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "vmacInterface"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpInstances.<name>.vmacXmitBase": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Send/Recv VRRP messages from base interface instead of VMAC interface.\n", "loc": ["services", "keepalived", "vrrpInstances", "<name>", "vmacXmitBase"], "readOnly": false, "type": "boolean"}, "services.keepalived.vrrpScripts": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative vrrp script config", "loc": ["services", "keepalived", "vrrpScripts"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.keepalived.vrrpScripts.<name>.extraConfig": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the vrrp_script section.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.keepalived.vrrpScripts.<name>.fall": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Required number of failures for KO transition.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "fall"], "readOnly": false, "type": "signed integer"}, "services.keepalived.vrrpScripts.<name>.group": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of group to run the script under. Defaults to user group.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "group"], "readOnly": false, "type": "null or string"}, "services.keepalived.vrrpScripts.<name>.interval": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Seconds between script invocations.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "interval"], "readOnly": false, "type": "signed integer"}, "services.keepalived.vrrpScripts.<name>.rise": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Required number of successes for OK transition.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "rise"], "readOnly": false, "type": "signed integer"}, "services.keepalived.vrrpScripts.<name>.script": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "description": "(Path of) Script command to execute followed by args, i.e. cmd [args]...", "example": {"_type": "literalExpression", "text": "\"${pkgs.curl} -f http://localhost:80\""}, "loc": ["services", "keepalived", "vrrpScripts", "<name>", "script"], "readOnly": false, "type": "string"}, "services.keepalived.vrrpScripts.<name>.timeout": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Seconds after which script is considered to have failed.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "timeout"], "readOnly": false, "type": "signed integer"}, "services.keepalived.vrrpScripts.<name>.user": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "\"keepalived_script\""}, "description": "Name of user to run the script under.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "user"], "readOnly": false, "type": "string"}, "services.keepalived.vrrpScripts.<name>.weight": {"declarations": ["nixos/modules/services/networking/keepalived/default.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Following a failure, adjust the priority by this weight.", "loc": ["services", "keepalived", "vrrpScripts", "<name>", "weight"], "readOnly": false, "type": "signed integer"}, "services.kerberos_server.enable": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the kerberos authentication server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kerberos_server", "enable"], "readOnly": false, "type": "boolean"}, "services.kerberos_server.extraKDCArgs": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to pass to the KDC process. See {manpage}`kdc(8)`.\n", "loc": ["services", "kerberos_server", "extraKDCArgs"], "readOnly": false, "type": "list of string"}, "services.kerberos_server.settings": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for the kerberos server of choice.\n\nSee the following documentation:\n- Heimdal: {manpage}`kdc.conf(5)`\n- MIT Kerberos: <https://web.mit.edu/kerberos/krb5-1.21/doc/admin/conf_files/kdc_conf.html>\n", "loc": ["services", "kerberos_server", "settings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of ((list of attribute set of ((list of (signed integer or string or boolean)) or signed integer or string or boolean)) or attribute set of ((list of (signed integer or string or boolean)) or signed integer or string or boolean) or (list of (signed integer or string or boolean)) or signed integer or string or boolean)"}, "services.kerberos_server.settings.include": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Files to include in the Kerberos configuration.\n", "loc": ["services", "kerberos_server", "settings", "include"], "readOnly": false, "type": "(list of absolute path) or absolute path convertible to it"}, "services.kerberos_server.settings.includedir": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Directories containing files to include in the Kerberos configuration.\n", "loc": ["services", "kerberos_server", "settings", "includedir"], "readOnly": false, "type": "(list of absolute path) or absolute path convertible to it"}, "services.kerberos_server.settings.module": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Modules to obtain Kerberos configuration from.\n", "loc": ["services", "kerberos_server", "settings", "module"], "readOnly": false, "type": "(list of absolute path) or absolute path convertible to it"}, "services.kerberos_server.settings.realms": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "description": "The realm(s) to serve keys for.\n", "loc": ["services", "kerberos_server", "settings", "realms"], "readOnly": false, "type": "attribute set of (open submodule of attribute set of ((list of attribute set of ((list of (signed integer or string or boolean)) or signed integer or string or boolean)) or attribute set of ((list of (signed integer or string or boolean)) or signed integer or string or boolean) or (list of (signed integer or string or boolean)) or signed integer or string or boolean))"}, "services.kerberos_server.settings.realms.<name>.acl": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "[\n  {\n    access = \"all\";\n    principal = \"*/admin\";\n  }\n  {\n    access = \"all\";\n    principal = \"admin\";\n  }\n]"}, "description": "The privileges granted to a user.\n", "loc": ["services", "kerberos_server", "settings", "realms", "<name>", "acl"], "readOnly": false, "type": "list of (submodule)"}, "services.kerberos_server.settings.realms.<name>.acl.*.access": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "\"all\""}, "description": "The changes the principal is allowed to make.\n\n:::{.important}\nThe \"all\" permission does not imply the \"get-keys\" permission. This\nis consistent with the behavior of both MIT Kerberos and Heimdal.\n:::\n\n:::{.warning}\nValue \"all\" is allowed as a list member only if it appears alone\nor accompanied by \"get-keys\". Any other combination involving\n\"all\" will raise an exception.\n:::\n", "loc": ["services", "kerberos_server", "settings", "realms", "<name>", "acl", "*", "access"], "readOnly": false, "type": "(list of (one of \"all\", \"add\", \"cpw\", \"delete\", \"get-keys\", \"get\", \"list\", \"modify\")) or string convertible to it"}, "services.kerberos_server.settings.realms.<name>.acl.*.principal": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "description": "Which principal the rule applies to", "loc": ["services", "kerberos_server", "settings", "realms", "<name>", "acl", "*", "principal"], "readOnly": false, "type": "string"}, "services.kerberos_server.settings.realms.<name>.acl.*.target": {"declarations": ["nixos/modules/services/system/kerberos/default.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "The principals that 'access' applies to.", "loc": ["services", "kerberos_server", "settings", "realms", "<name>", "acl", "*", "target"], "readOnly": false, "type": "string"}, "services.keter.bundle.appName": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "\"myapp\""}, "description": "The name keter assigns to this bundle", "loc": ["services", "keter", "bundle", "appName"], "readOnly": false, "type": "string"}, "services.keter.bundle.domain": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "\"example.com\""}, "description": "The domain keter will bind to", "loc": ["services", "keter", "bundle", "domain"], "readOnly": false, "type": "string"}, "services.keter.bundle.executable": {"declarations": ["nixos/modules/services/web-servers/keter"], "description": "The executable to be run", "loc": ["services", "keter", "bundle", "executable"], "readOnly": false, "type": "absolute path"}, "services.keter.bundle.publicScript": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Allows loading of public environment variables,\nthese are emitted to the log so it shouldn't contain secrets.\n", "example": {"_type": "literalExpression", "text": "\"ADMIN_EMAIL=hi@example.com\""}, "loc": ["services", "keter", "bundle", "publicScript"], "readOnly": false, "type": "string"}, "services.keter.bundle.secretScript": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Allows loading of private environment variables", "example": {"_type": "literalExpression", "text": "\"MY_AWS_KEY=$(cat /run/keys/AWS_ACCESS_KEY_ID)\""}, "loc": ["services", "keter", "bundle", "secretScript"], "readOnly": false, "type": "string"}, "services.keter.enable": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable keter, a web app deployment manager.\nNote that this module only support loading of webapps:\nKeep an old app running and swap the ports when the new one is booted\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "keter", "enable"], "readOnly": false, "type": "boolean"}, "services.keter.globalKeterConfig": {"declarations": ["nixos/modules/services/web-servers/keter"], "description": "Global config for keter, see <https://github.com/snoyberg/keter/blob/master/etc/keter-config.yaml> for reference", "loc": ["services", "keter", "globalKeterConfig"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.keter.globalKeterConfig.ip-from-header": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "true"}, "description": "You want that ip-from-header in the nginx setup case. It allows nginx setting the original ip address rather then it being localhost (due to reverse proxying)", "loc": ["services", "keter", "globalKeterConfig", "ip-from-header"], "readOnly": false, "type": "boolean"}, "services.keter.globalKeterConfig.listeners": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "[\n  {\n    host = \"*\";\n    port = 6981;\n  }\n]"}, "description": "You want that ip-from-header in\nthe nginx setup case.\nIt allows nginx setting the original ip address rather\nthen it being localhost (due to reverse proxying).\nHowever if you configure keter to accept connections\ndirectly you may want to set this to false.", "loc": ["services", "keter", "globalKeterConfig", "listeners"], "readOnly": false, "type": "list of (submodule)"}, "services.keter.globalKeterConfig.listeners.*.host": {"declarations": ["nixos/modules/services/web-servers/keter"], "description": "host", "loc": ["services", "keter", "globalKeterConfig", "listeners", "*", "host"], "readOnly": false, "type": "string"}, "services.keter.globalKeterConfig.listeners.*.port": {"declarations": ["nixos/modules/services/web-servers/keter"], "description": "port", "loc": ["services", "keter", "globalKeterConfig", "listeners", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.keter.globalKeterConfig.rotate-logs": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "false"}, "description": "emits keter logs and it's applications to stderr.\nwhich allows journald to capture them.\nSet to true to let keter put the logs in files\n(useful on non systemd systems, this is the old approach\nwhere keter handled log management)", "loc": ["services", "keter", "globalKeterConfig", "rotate-logs"], "readOnly": false, "type": "boolean"}, "services.keter.package": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "pkgs.haskellPackages.keter"}, "description": "The keter package to use.", "loc": ["services", "keter", "package"], "readOnly": false, "type": "package"}, "services.keter.root": {"declarations": ["nixos/modules/services/web-servers/keter"], "default": {"_type": "literalExpression", "text": "\"/var/lib/keter\""}, "description": "Mutable state folder for keter", "loc": ["services", "keter", "root"], "readOnly": false, "type": "string"}, "services.keybase.enable": {"declarations": ["nixos/modules/services/networking/keybase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to start the Keybase service.", "loc": ["services", "keybase", "enable"], "readOnly": false, "type": "boolean"}, "services.keycloak.database.caCert": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The SSL / TLS CA certificate that verifies the identity of the\ndatabase server.\n\nRequired when PostgreSQL is used and SSL is turned on.\n\nFor MySQL, if left at `null`, the default\nJava keystore is used, which should suffice if the server\ncertificate is issued by an official CA.\n", "loc": ["services", "keycloak", "database", "caCert"], "readOnly": false, "type": "null or absolute path"}, "services.keycloak.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether a database should be automatically created on the\nlocal host. Set this to false if you plan on provisioning a\nlocal database yourself. This has no effect if\nservices.keycloak.database.host is customized.\n", "loc": ["services", "keycloak", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.keycloak.database.host": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Hostname of the database to connect to.\n\nFor PostgreSQL, this can also be a path to a Unix socket\ndirectory (e.g., `/run/postgresql`) to use peer authentication.\nThis requires adding `junixsocket-common` and `junixsocket-native-common`\nto [](#opt-services.keycloak.plugins).\n", "loc": ["services", "keycloak", "database", "host"], "readOnly": false, "type": "string"}, "services.keycloak.database.name": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "\"keycloak\""}, "description": "Database name to use when connecting to an external or\nmanually provisioned database; has no effect when a local\ndatabase is automatically provisioned.\n\nTo use this with a local database, set [](#opt-services.keycloak.database.createLocally) to\n`false` and create the database and user\nmanually.\n", "loc": ["services", "keycloak", "database", "name"], "readOnly": false, "type": "string"}, "services.keycloak.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the database password.\n\nNot required when using Unix socket authentication (peer auth)\nby setting `host` to a socket path like `/run/postgresql`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/db_password\""}, "loc": ["services", "keycloak", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.keycloak.database.port": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalMD", "text": "default port of selected database"}, "description": "Port of the database to connect to.\n", "loc": ["services", "keycloak", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.keycloak.database.type": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "\"postgresql\""}, "description": "The type of database Keycloak should connect to.\n", "example": {"_type": "literalExpression", "text": "\"mariadb\""}, "loc": ["services", "keycloak", "database", "type"], "readOnly": false, "type": "one of \"mysql\", \"mariadb\", \"postgresql\""}, "services.keycloak.database.useSSL": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "config.services.keycloak.database.host != \"localhost\" && !lib.hasPrefix \"/\" config.services.keycloak.database.host"}, "description": "Whether the database connection should be secured by SSL / TLS.\n\nDefaults to `false` for localhost and Unix socket connections.\n", "loc": ["services", "keycloak", "database", "useSSL"], "readOnly": false, "type": "boolean"}, "services.keycloak.database.username": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "\"keycloak\""}, "description": "Username to use when connecting to an external or manually\nprovisioned database; has no effect when a local database is\nautomatically provisioned.\n\nTo use this with a local database, set [](#opt-services.keycloak.database.createLocally) to\n`false` and create the database and user\nmanually.\n", "loc": ["services", "keycloak", "database", "username"], "readOnly": false, "type": "string"}, "services.keycloak.enable": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Keycloak identity and access management\nserver.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "keycloak", "enable"], "readOnly": false, "type": "boolean"}, "services.keycloak.initialAdminPassword": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Initial password set for the temporary `admin` user.\nThe password is not stored safely and should be changed\nimmediately in the admin panel.\n\nSee [Admin bootstrap and recovery](https://www.keycloak.org/server/bootstrap-admin-recovery) for details.\n", "loc": ["services", "keycloak", "initialAdminPassword"], "readOnly": false, "type": "null or string"}, "services.keycloak.package": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "pkgs.keycloak"}, "description": "The keycloak package to use.", "loc": ["services", "keycloak", "package"], "readOnly": false, "type": "package"}, "services.keycloak.plugins": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Keycloak plugin jar, ear files or derivations containing\nthem. Packaged plugins are available through\n`pkgs.keycloak.plugins`.\n", "loc": ["services", "keycloak", "plugins"], "readOnly": false, "type": "list of absolute path"}, "services.keycloak.realmFiles": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Realm files that the server is going to import during startup.\nIf a realm already exists in the server, the import operation is\nskipped. Importing the master realm is not supported. All files are\nexpected to be in `json` format. See the\n[documentation](https://www.keycloak.org/server/importExport) for\nfurther information.\n", "example": {"_type": "literalExpression", "text": "[\n  ./some/realm.json\n  ./another/realm.json\n]\n"}, "loc": ["services", "keycloak", "realmFiles"], "readOnly": false, "type": "list of absolute path"}, "services.keycloak.settings": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "description": "Configuration options corresponding to parameters set in\n{file}`conf/keycloak.conf`.\n\nMost available options are documented at <https://www.keycloak.org/server/all-config>.\n\nOptions containing secret data should be set to an attribute\nset containing the attribute `_secret` - a\nstring pointing to a file containing the value the option\nshould be set to. See the example to get a better picture of\nthis: in the resulting\n{file}`conf/keycloak.conf` file, the\n`https-key-store-password` key will be set\nto the contents of the\n{file}`/run/keys/store_password` file.\n", "example": {"_type": "literalExpression", "text": "{\n  hostname = \"keycloak.example.com\";\n  https-key-store-file = \"/path/to/file\";\n  https-key-store-password = { _secret = \"/run/keys/store_password\"; };\n}\n"}, "loc": ["services", "keycloak", "settings"], "readOnly": false, "type": "open submodule of attribute set of (null or string or signed integer or boolean or attribute set of absolute path)"}, "services.keycloak.settings.hostname": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The hostname part of the public URL used as base for\nall frontend requests.\n\nSee <https://www.keycloak.org/server/hostname>\nfor more information about hostname configuration.\n", "example": {"_type": "literalExpression", "text": "\"keycloak.example.com\""}, "loc": ["services", "keycloak", "settings", "hostname"], "readOnly": false, "type": "null or string"}, "services.keycloak.settings.hostname-backchannel-dynamic": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables dynamic resolving of backchannel URLs,\nincluding hostname, scheme, port and context path.\n\nSee <https://www.keycloak.org/server/hostname>\nfor more information about hostname configuration.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "keycloak", "settings", "hostname-backchannel-dynamic"], "readOnly": false, "type": "boolean"}, "services.keycloak.settings.http-host": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "\"::\""}, "description": "On which address Keycloak should accept new connections.\n", "example": {"_type": "literalExpression", "text": "\"::1\""}, "loc": ["services", "keycloak", "settings", "http-host"], "readOnly": false, "type": "string"}, "services.keycloak.settings.http-port": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "80"}, "description": "On which port Keycloak should listen for new HTTP connections.\n", "example": {"_type": "literalExpression", "text": "8080"}, "loc": ["services", "keycloak", "settings", "http-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.keycloak.settings.http-relative-path": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "The path relative to `/` for serving\nresources.\n\n::: {.note}\nIn versions of Keycloak using Wildfly (&lt;17),\nthis defaulted to `/auth`. If\nupgrading from the Wildfly version of Keycloak,\ni.e. a NixOS version before 22.05, you'll likely\nwant to set this to `/auth` to\nkeep compatibility with your clients.\n\nSee <https://www.keycloak.org/migration/migrating-to-quarkus>\nfor more information on migrating from Wildfly to Quarkus.\n:::\n", "example": {"_type": "literalExpression", "text": "\"/auth\""}, "loc": ["services", "keycloak", "settings", "http-relative-path"], "readOnly": false, "type": "string"}, "services.keycloak.settings.https-port": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "443"}, "description": "On which port Keycloak should listen for new HTTPS connections.\n", "example": {"_type": "literalExpression", "text": "8443"}, "loc": ["services", "keycloak", "settings", "https-port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.keycloak.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a PEM formatted certificate to use for TLS/SSL\nconnections.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/ssl_cert\""}, "loc": ["services", "keycloak", "sslCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.keycloak.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a PEM formatted private key to use for TLS/SSL\nconnections.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/ssl_key\""}, "loc": ["services", "keycloak", "sslCertificateKey"], "readOnly": false, "type": "null or absolute path"}, "services.keycloak.themes": {"declarations": ["nixos/modules/services/web-apps/keycloak.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional theme packages for Keycloak. Each theme is linked into\nsubdirectory with a corresponding attribute name.\n\nTheme packages consist of several subdirectories which provide\ndifferent theme types: for example, `account`,\n`login` etc. After adding a theme to this option you\ncan select it by its name in Keycloak administration console.\n", "loc": ["services", "keycloak", "themes"], "readOnly": false, "type": "attribute set of package"}, "services.keyd.enable": {"declarations": ["nixos/modules/services/hardware/keyd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable keyd, a key remapping daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "keyd", "enable"], "readOnly": false, "type": "boolean"}, "services.keyd.keyboards": {"declarations": ["nixos/modules/services/hardware/keyd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for one or more device IDs. Corresponding files in the /etc/keyd/ directory are created according to the name of the keys (like `default` or `externalKeyboard`).\n", "example": {"_type": "literalExpression", "text": "{\n  default = {\n    ids = [ \"*\" ];\n    settings = {\n      main = {\n        capslock = \"overload(control, esc)\";\n      };\n    };\n  };\n  externalKeyboard = {\n    ids = [ \"1ea7:0907\" ];\n    settings = {\n      main = {\n        esc = capslock;\n      };\n    };\n  };\n}\n"}, "loc": ["services", "keyd", "keyboards"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.keyd.keyboards.<name>.extraConfig": {"declarations": ["nixos/modules/services/hardware/keyd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra configuration that is appended to the end of the file.\n**Do not** write `ids` section here, use a separate option for it.\nYou can use this option to define compound layers that must always be defined after the layer they are comprised.\n", "example": {"_type": "literalExpression", "text": "''\n  [control+shift]\n  h = left\n''"}, "loc": ["services", "keyd", "keyboards", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.keyd.keyboards.<name>.ids": {"declarations": ["nixos/modules/services/hardware/keyd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "Device identifiers, as shown by {manpage}`keyd(1)`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"*\"\n  \"-0123:0456\"\n]"}, "loc": ["services", "keyd", "keyboards", "<name>", "ids"], "readOnly": false, "type": "list of string"}, "services.keyd.keyboards.<name>.settings": {"declarations": ["nixos/modules/services/hardware/keyd.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration, except `ids` section, that is written to {file}`/etc/keyd/<keyboard>.conf`.\nAppropriate names can be used to write non-alpha keys, for example \"equal\" instead of \"=\" sign (see <https://github.com/NixOS/nixpkgs/issues/236622>).\nSee <https://github.com/rvaiya/keyd> how to configure.\n", "example": {"_type": "literalExpression", "text": "{\n  main = {\n    capslock = \"overload(control, esc)\";\n    rightalt = \"layer(rightalt)\";\n  };\n  rightalt = {\n    h = \"left\";\n    j = \"down\";\n    k = \"up\";\n    l = \"right\";\n  };\n}"}, "loc": ["services", "keyd", "keyboards", "<name>", "settings"], "readOnly": false, "type": "attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.keyd.package": {"declarations": ["nixos/modules/services/hardware/keyd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.keyd"}, "description": "The keyd package to use.", "loc": ["services", "keyd", "package"], "readOnly": false, "type": "package"}, "services.kimai.sites": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specification of one or more Kimai sites to serve", "loc": ["services", "kimai", "sites"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.kimai.sites.<name>.database.charset": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "\"utf8mb4\""}, "description": "Database charset.", "loc": ["services", "kimai", "sites", "<name>", "database", "charset"], "readOnly": false, "type": "string"}, "services.kimai.sites.<name>.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "kimai", "sites", "<name>", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.kimai.sites.<name>.database.host": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host address.", "loc": ["services", "kimai", "sites", "<name>", "database", "host"], "readOnly": false, "type": "string"}, "services.kimai.sites.<name>.database.name": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "\"kimai\""}, "description": "Database name.", "loc": ["services", "kimai", "sites", "<name>", "database", "name"], "readOnly": false, "type": "string"}, "services.kimai.sites.<name>.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/kimai-dbpassword\""}, "loc": ["services", "kimai", "sites", "<name>", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.kimai.sites.<name>.database.port": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port.", "loc": ["services", "kimai", "sites", "<name>", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kimai.sites.<name>.database.serverVersion": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "MySQL *exact* version string. Not used if `createdLocally` is set,\nbut must be set otherwise. See\n<https://www.kimai.org/documentation/installation.html#column-table_name-in-where-clause-is-ambiguous>\nfor how to set this value, especially if you're using MariaDB.\n", "loc": ["services", "kimai", "sites", "<name>", "database", "serverVersion"], "readOnly": false, "type": "null or string"}, "services.kimai.sites.<name>.database.socket": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "/run/mysqld/mysqld.sock"}, "description": "Path to the unix socket file to use for authentication.", "loc": ["services", "kimai", "sites", "<name>", "database", "socket"], "readOnly": false, "type": "null or absolute path"}, "services.kimai.sites.<name>.database.user": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "\"kimai\""}, "description": "Database user.", "loc": ["services", "kimai", "sites", "<name>", "database", "user"], "readOnly": false, "type": "string"}, "services.kimai.sites.<name>.environmentFile": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Securely pass environment variabels to Kimai. This can be used to\nset other environement variables such as MAILER_URL.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/kimai.env\""}, "loc": ["services", "kimai", "sites", "<name>", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.kimai.sites.<name>.package": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kimai"}, "description": "The kimai package to use.", "loc": ["services", "kimai", "sites", "<name>", "package"], "readOnly": false, "type": "package"}, "services.kimai.sites.<name>.poolConfig": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the Kimai PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "kimai", "sites", "<name>", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.kimai.sites.<name>.settings": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Structural Kimai's local.yaml configuration.\nRefer to <https://www.kimai.org/documentation/local-yaml.html#localyaml>\nfor details.\n", "example": {"_type": "literalExpression", "text": "{\n  kimai = {\n    timesheet = {\n      rounding = {\n        default = {\n          begin = 15;\n          end = 15;\n        };\n      };\n    };\n  };\n}\n"}, "loc": ["services", "kimai", "sites", "<name>", "settings"], "readOnly": false, "type": "attribute set of anything"}, "services.kimai.webserver": {"declarations": ["nixos/modules/services/web-apps/kimai.nix"], "default": {"_type": "literalExpression", "text": "\"nginx\""}, "description": "The webserver to configure for the PHP frontend.\n\nAt the moment, only `nginx` is supported. PRs are welcome for support\nfor other web servers.\n", "loc": ["services", "kimai", "webserver"], "readOnly": false, "type": "value \"nginx\" (singular enum)"}, "services.kismet.dataDir": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/kismet\""}, "description": "The Kismet data directory.", "loc": ["services", "kismet", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.kismet.enable": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kismet.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kismet", "enable"], "readOnly": false, "type": "boolean"}, "services.kismet.extraConfig": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Literal Kismet config lines appended to the site config.\nNote that `services.kismet.settings` allows you to define\nall options here using Nix attribute sets.\n", "example": {"_type": "literalExpression", "text": "''\n  # Looks like the following in `services.kismet.settings`:\n  # wepkey = [ \"00:DE:AD:C0:DE:00\" \"FEEDFACE42\" ];\n  wepkey=00:DE:AD:C0:DE:00,FEEDFACE42\n''"}, "loc": ["services", "kismet", "extraConfig"], "readOnly": false, "type": "string"}, "services.kismet.group": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "\"kismet\""}, "description": "The group to run Kismet as.", "loc": ["services", "kismet", "group"], "readOnly": false, "type": "string"}, "services.kismet.httpd.address": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The address to listen on. Note that this cannot be a hostname or Kismet will not start.", "loc": ["services", "kismet", "httpd", "address"], "readOnly": false, "type": "string"}, "services.kismet.httpd.enable": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "True to enable the HTTP server.", "loc": ["services", "kismet", "httpd", "enable"], "readOnly": false, "type": "boolean"}, "services.kismet.httpd.port": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "2501"}, "description": "The port to listen on.", "loc": ["services", "kismet", "httpd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kismet.logTypes": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"kismet\"\n]"}, "description": "The log types.", "loc": ["services", "kismet", "logTypes"], "readOnly": false, "type": "list of string"}, "services.kismet.package": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kismet"}, "description": "The kismet package to use.", "loc": ["services", "kismet", "package"], "readOnly": false, "type": "package"}, "services.kismet.serverDescription": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "\"NixOS Kismet server\""}, "description": "The description of the server.", "loc": ["services", "kismet", "serverDescription"], "readOnly": false, "type": "string"}, "services.kismet.serverName": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "\"Kismet\""}, "description": "The name of the server.", "loc": ["services", "kismet", "serverName"], "readOnly": false, "type": "string"}, "services.kismet.settings": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for Kismet. See:\nhttps://www.kismetwireless.net/docs/readme/configuring/configfiles/\n", "example": {"_type": "literalExpression", "text": "{\n  /* Examples for atoms */\n  # dot11_link_bssts=false\n  dot11_link_bssts = false; # Boolean\n\n  # dot11_related_bss_window=10000000\n  dot11_related_bss_window = 10000000; # Integer\n\n  # devicefound=00:11:22:33:44:55\n  devicefound = \"00:11:22:33:44:55\"; # String\n\n  # log_types+=wiglecsv\n  log_types' = \"wiglecsv\";\n\n  /* Examples for lists of atoms */\n  # wepkey=00:DE:AD:C0:DE:00,FEEDFACE42\n  wepkey = [ \"00:DE:AD:C0:DE:00\" \"FEEDFACE42\" ];\n\n  # alert=ADHOCCONFLICT,5/min,1/sec\n  # alert=ADVCRYPTCHANGE,5/min,1/sec\n  alert = [\n    [ \"ADHOCCONFLICT\"  \"5/min\" \"1/sec\" ]\n    [ \"ADVCRYPTCHANGE\" \"5/min\" \"1/sec\" ]\n  ];\n\n  /* Examples for sets of atoms */\n  # source=wlan0:name=ath11k\n  source.wlan0 = { name = \"ath11k\"; };\n\n  /* Examples with colon-suffixed headers */\n  # gps=gpsd:host=localhost,port=2947\n  gps.gpsd = {\n    host = \"localhost\";\n    port = 2947;\n  };\n\n  # apspoof=Foo1:ssid=Bar1,validmacs=\"00:11:22:33:44:55,aa:bb:cc:dd:ee:ff\"\n  # apspoof=Foo1:ssid=Bar2,validmacs=\"01:12:23:34:45:56,ab:bc:cd:de:ef:f0\"\n  # apspoof=Foo2:ssid=Baz1,validmacs=\"11:22:33:44:55:66,bb:cc:dd:ee:ff:00\"\n  apspoof.Foo1 = [\n    { ssid = \"Bar1\"; validmacs = [ \"00:11:22:33:44:55\" \"aa:bb:cc:dd:ee:ff\" ]; }\n    { ssid = \"Bar2\"; validmacs = [ \"01:12:23:34:45:56\" \"ab:bc:cd:de:ef:f0\" ]; }\n  ];\n\n  # because Foo1 is a list, Foo2 needs to be as well\n  apspoof.Foo2 = [\n    {\n      ssid = \"Bar2\";\n      validmacs = [ \"00:11:22:33:44:55\" \"aa:bb:cc:dd:ee:ff\" ];\n    };\n  ];\n}\n"}, "loc": ["services", "kismet", "settings"], "readOnly": false, "type": "Kismet config stanza"}, "services.kismet.user": {"declarations": ["nixos/modules/services/networking/kismet.nix"], "default": {"_type": "literalExpression", "text": "\"kismet\""}, "description": "The user to run Kismet as.", "loc": ["services", "kismet", "user"], "readOnly": false, "type": "string"}, "services.kiwix-serve.address": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "\"all\""}, "description": "Listen only on the specified IP address.\nSpecify \"ipv4\", \"ipv6\" or \"all\" to listen on all IPv4, IPv6, or both types of addresses, respectively.\n", "example": {"_type": "literalExpression", "text": "\"ipv4\""}, "loc": ["services", "kiwix-serve", "address"], "readOnly": false, "type": "string"}, "services.kiwix-serve.enable": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the kiwix-serve server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kiwix-serve", "enable"], "readOnly": false, "type": "boolean"}, "services.kiwix-serve.extraArgs": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to pass to kiwix-serve.", "example": {"_type": "literalExpression", "text": "[\n  \"--verbose\"\n  \"--skipInvalid\"\n]"}, "loc": ["services", "kiwix-serve", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.kiwix-serve.library": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of ZIM files to serve. The key is used as the name for the ZIM files\n(e.g. in the example, the files will be served as `wikipedia.zim` and `nix.zim`).\n\nExclusive with [services.kiwix-serve.libraryPath](#opt-services.kiwix-serve.libraryPath).\n", "example": {"_type": "literalExpression", "text": "{\n  wikipedia = \"/data/wikipedia_en_all_maxi_2026-02.zim\";\n  nix = pkgs.fetchurl {\n    url = \"https://download.kiwix.org/zim/devdocs/devdocs_en_nix_2026-01.zim\";\n    hash = \"sha256-QxB9qDKSzzEU8t4droI08BXdYn+HMVkgiJMO3SoGTqM=\";\n  };\n}"}, "loc": ["services", "kiwix-serve", "library"], "readOnly": false, "type": "attribute set of absolute path"}, "services.kiwix-serve.libraryPath": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An XML library file listing ZIM files to serve.\nFor more information, see <https://wiki.kiwix.org/wiki/Kiwix-manage>.\n\nExclusive with [services.kiwix-serve.library](#opt-services.kiwix-serve.library).\n", "example": {"_type": "literalExpression", "text": "\"/data/library.xml\""}, "loc": ["services", "kiwix-serve", "libraryPath"], "readOnly": false, "type": "null or absolute path"}, "services.kiwix-serve.openFirewall": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the configured port.", "loc": ["services", "kiwix-serve", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.kiwix-serve.package": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kiwix-tools"}, "description": "The kiwix-tools package to use.", "loc": ["services", "kiwix-serve", "package"], "readOnly": false, "type": "package"}, "services.kiwix-serve.port": {"declarations": ["nixos/modules/services/misc/kiwix-serve.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port on which to run kiwix-serve.", "loc": ["services", "kiwix-serve", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.klipper.apiSocket": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "\"/run/klipper/api\""}, "description": "Path of the API socket to create.", "loc": ["services", "klipper", "apiSocket"], "readOnly": false, "type": "null or absolute path"}, "services.klipper.configDir": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/klipper\""}, "description": "Path to Klipper config file.", "loc": ["services", "klipper", "configDir"], "readOnly": false, "type": "absolute path"}, "services.klipper.configFile": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to default Klipper config.", "loc": ["services", "klipper", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.klipper.enable": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Klipper, the 3D printer firmware.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "klipper", "enable"], "readOnly": false, "type": "boolean"}, "services.klipper.extraSettings": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to append to the generated Klipper configuration.", "loc": ["services", "klipper", "extraSettings"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.klipper.firmwares": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Firmwares Klipper should manage", "example": {"_type": "literalExpression", "text": "{\n  mcu = {\n    configFile = {\n      _type = \"literalExpression\";\n      text = \"./klipper-firmware.cfg\";\n    };\n    enable = true;\n    enableKlipperFlash = true;\n    serial = \"/dev/serial/by-id/usb-Klipper_123ABCDEF\";\n  };\n}"}, "loc": ["services", "klipper", "firmwares"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.klipper.firmwares.<name>.configFile": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "description": "Path to firmware config which is generated using `klipper-genconf`", "loc": ["services", "klipper", "firmwares", "<name>", "configFile"], "readOnly": false, "type": "absolute path"}, "services.klipper.firmwares.<name>.enable": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable building of firmware for manual flashing\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "klipper", "firmwares", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.klipper.firmwares.<name>.enableKlipperFlash": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable flashings scripts for firmware. This will add `klipper-flash-$mcu` scripts to your environment which can be called to flash the firmware.\nPlease check the configs at [klipper](https://github.com/Klipper3d/klipper/tree/master/config) whether your board supports flashing via `make flash`\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "klipper", "firmwares", "<name>", "enableKlipperFlash"], "readOnly": false, "type": "boolean"}, "services.klipper.firmwares.<name>.klipperFlashPackage": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the built klipper-flash package.", "loc": ["services", "klipper", "firmwares", "<name>", "klipperFlashPackage"], "readOnly": true, "type": "null or package"}, "services.klipper.firmwares.<name>.package": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the built firmware package.", "loc": ["services", "klipper", "firmwares", "<name>", "package"], "readOnly": true, "type": "null or package"}, "services.klipper.firmwares.<name>.serial": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "config.services.klipper.settings.<name>.serial"}, "description": "Path to serial port this printer is connected to. Derived from `service.klipper.settings` by default.", "loc": ["services", "klipper", "firmwares", "<name>", "serial"], "readOnly": false, "type": "null or absolute path"}, "services.klipper.group": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Group account under which Klipper runs.\n\nIf null is specified (default), a temporary user will be created by systemd.\n", "loc": ["services", "klipper", "group"], "readOnly": false, "type": "null or string"}, "services.klipper.inputTTY": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "\"/run/klipper/tty\""}, "description": "Path of the virtual printer symlink to create.", "loc": ["services", "klipper", "inputTTY"], "readOnly": false, "type": "absolute path"}, "services.klipper.logFile": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of the file Klipper should log to.\nIf `null`, it logs to stdout, which is not recommended by upstream.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/klipper/klipper.log\""}, "loc": ["services", "klipper", "logFile"], "readOnly": false, "type": "null or absolute path"}, "services.klipper.mutableConfig": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to manage the config outside of NixOS.\n\nIt will still be initialized with the defined NixOS config if the file doesn't already exist.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "klipper", "mutableConfig"], "readOnly": false, "type": "boolean"}, "services.klipper.octoprintIntegration": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allows Octoprint to control Klipper.", "loc": ["services", "klipper", "octoprintIntegration"], "readOnly": false, "type": "boolean"}, "services.klipper.package": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "pkgs.klipper"}, "description": "The klipper package to use.", "loc": ["services", "klipper", "package"], "readOnly": false, "type": "package"}, "services.klipper.settings": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Configuration for Klipper. See the [documentation](https://www.klipper3d.org/Overview.html#configuration-and-tuning-guides)\nfor supported values.\n", "loc": ["services", "klipper", "settings"], "readOnly": false, "type": "null or (attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non-empty list of them))"}, "services.klipper.user": {"declarations": ["nixos/modules/services/misc/klipper.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User account under which Klipper runs.\n\nIf null is specified (default), a temporary user will be created by systemd.\n", "loc": ["services", "klipper", "user"], "readOnly": false, "type": "null or string"}, "services.kmonad.enable": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable KMonad: an advanced keyboard manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kmonad", "enable"], "readOnly": false, "type": "boolean"}, "services.kmonad.extraArgs": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to pass to KMonad.", "example": {"_type": "literalExpression", "text": "[\n  \"--log-level\"\n  \"debug\"\n]"}, "loc": ["services", "kmonad", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.kmonad.keyboards": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Keyboard configuration.", "loc": ["services", "kmonad", "keyboards"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.kmonad.keyboards.<name>.config": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "description": "Keyboard configuration.", "loc": ["services", "kmonad", "keyboards", "<name>", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kmonad.keyboards.<name>.defcfg.allowCommands": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable keys to run shell commands.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kmonad", "keyboards", "<name>", "defcfg", "allowCommands"], "readOnly": false, "type": "boolean"}, "services.kmonad.keyboards.<name>.defcfg.compose.delay": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "The delay (in milliseconds) between compose key sequences.", "loc": ["services", "kmonad", "keyboards", "<name>", "defcfg", "compose", "delay"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.kmonad.keyboards.<name>.defcfg.compose.key": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "\"ralt\""}, "description": "The (optional) compose key to use.", "loc": ["services", "kmonad", "keyboards", "<name>", "defcfg", "compose", "key"], "readOnly": false, "type": "null or string"}, "services.kmonad.keyboards.<name>.defcfg.enable": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic generation of the defcfg block.\n\nWhen this option is set to true, the config option for\nthis keyboard should not include a defcfg block\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kmonad", "keyboards", "<name>", "defcfg", "enable"], "readOnly": false, "type": "boolean"}, "services.kmonad.keyboards.<name>.defcfg.fallthrough": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable re-emitting unhandled key events.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kmonad", "keyboards", "<name>", "defcfg", "fallthrough"], "readOnly": false, "type": "boolean"}, "services.kmonad.keyboards.<name>.device": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "description": "Path to the keyboard's device file.", "example": {"_type": "literalExpression", "text": "\"/dev/input/by-id/some-dev\""}, "loc": ["services", "kmonad", "keyboards", "<name>", "device"], "readOnly": false, "type": "absolute path"}, "services.kmonad.keyboards.<name>.enableHardening": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable systemd hardening.\n\n::: {.note}\nIf KMonad is used to execute shell commands, hardening may make some of them fail.\n:::\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "kmonad", "keyboards", "<name>", "enableHardening"], "readOnly": false, "type": "boolean"}, "services.kmonad.keyboards.<name>.extraGroups": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra permission groups to attach to the KMonad instance for\nthis keyboard.\n\nSince KMonad runs as an unprivileged user, it may sometimes\nneed extra permissions in order to read the keyboard device\nfile.  If your keyboard's device file isn't in the input\ngroup, you'll need to list its group in this option.\n", "loc": ["services", "kmonad", "keyboards", "<name>", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.kmonad.keyboards.<name>.name": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Keyboard name.", "example": {"_type": "literalExpression", "text": "\"laptop-internal\""}, "loc": ["services", "kmonad", "keyboards", "<name>", "name"], "readOnly": false, "type": "string"}, "services.kmonad.package": {"declarations": ["nixos/modules/services/hardware/kmonad.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kmonad"}, "description": "The KMonad package to use.", "loc": ["services", "kmonad", "package"], "readOnly": false, "type": "package"}, "services.kmscon.enable": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Use kmscon instead of autovt.\n\nKmscon is a simple terminal emulator based on linux kernel mode setting (KMS).\nIt is an attempt to replace the in-kernel VT implementation with a userspace console.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kmscon", "enable"], "readOnly": false, "type": "boolean"}, "services.kmscon.extraConfig": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra contents of the kmscon.conf file.", "example": {"_type": "literalExpression", "text": "\"font-size=14\""}, "loc": ["services", "kmscon", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kmscon.extraOptions": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra flags to pass to kmscon.", "example": {"_type": "literalExpression", "text": "\"--term xterm-256color\""}, "loc": ["services", "kmscon", "extraOptions"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.kmscon.fonts": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Fonts used by kmscon, in order of priority.", "example": {"_type": "literalExpression", "text": "[ { name = \"Source Code Pro\"; package = pkgs.source-code-pro; } ]"}, "loc": ["services", "kmscon", "fonts"], "readOnly": false, "type": "null or (non-empty (list of (submodule)))"}, "services.kmscon.fonts.*.name": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "description": "Font name, as used by fontconfig.", "loc": ["services", "kmscon", "fonts", "*", "name"], "readOnly": false, "type": "string"}, "services.kmscon.fonts.*.package": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "description": "Package providing the font.", "loc": ["services", "kmscon", "fonts", "*", "package"], "readOnly": false, "type": "package"}, "services.kmscon.hwRender": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable 3D hardware acceleration to render the console.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kmscon", "hwRender"], "readOnly": false, "type": "boolean"}, "services.kmscon.package": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kmscon"}, "description": "The kmscon package to use.", "loc": ["services", "kmscon", "package"], "readOnly": false, "type": "package"}, "services.kmscon.term": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Value for the TERM environment variable.", "example": {"_type": "literalExpression", "text": "\"xterm-256color\""}, "loc": ["services", "kmscon", "term"], "readOnly": false, "type": "null or string"}, "services.kmscon.useXkbConfig": {"declarations": ["nixos/modules/services/ttys/kmscon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable configure keymap from xserver keyboard settings..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kmscon", "useXkbConfig"], "readOnly": false, "type": "boolean"}, "services.knot-resolver.enable": {"declarations": ["nixos/modules/services/networking/knot-resolver.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable knot-resolver (version 6) domain name server.\nDNSSEC validation is turned on by default.\nIf you want to use knot-resolver 5, please use services.kresd.\n", "loc": ["services", "knot-resolver", "enable"], "readOnly": false, "type": "boolean"}, "services.knot-resolver.managerPackage": {"declarations": ["nixos/modules/services/networking/knot-resolver.nix"], "default": {"_type": "literalExpression", "text": "pkgs.knot-resolver-manager_6"}, "description": "The knot-resolver-manager_6 package to use.", "example": {"_type": "literalExpression", "text": "pkgs.knot-resolver-manager_6.override { extraFeatures = true; }"}, "loc": ["services", "knot-resolver", "managerPackage"], "readOnly": false, "type": "package"}, "services.knot-resolver.settings": {"declarations": ["nixos/modules/services/networking/knot-resolver.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Nix-based (RFC 42) configuration for Knot Resolver.\nFor configuration reference (described as YAML) see\n<https://www.knot-resolver.cz/documentation/latest/config-overview.html>\n", "loc": ["services", "knot-resolver", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.knot-resolver.settings.network.listen": {"declarations": ["nixos/modules/services/networking/knot-resolver.nix"], "default": {"_type": "literalExpression", "text": "[\n  {\n    interface = [ \"127.0.0.1\" ];\n    kind = \"dns\";\n    freebind = false;\n  }\n]\n++ lib.optionals config.networking.enableIPv6 [\n  {\n    interface = [ \"::1\" ];\n    kind = \"dns\";\n    freebind = false;\n  }\n ];\n"}, "description": "List of interfaces to listen to and its configuration.", "loc": ["services", "knot-resolver", "settings", "network", "listen"], "readOnly": false, "type": "list of (open submodule of (YAML 1.1 value))"}, "services.knot-resolver.settings.workers": {"declarations": ["nixos/modules/services/networking/knot-resolver.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "The number of running kresd (Knot Resolver daemon) workers. If set to 'auto', it is equal to number of CPUs available.\n", "loc": ["services", "knot-resolver", "settings", "workers"], "readOnly": false, "type": "value \"auto\" (singular enum) or (unsigned integer, meaning >=0)"}, "services.knot.checkConfig": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "''\n  Disabled when the config uses `keyFiles` or `enableXDP`.\n''"}, "description": "Toggles the configuration test at build time. It runs in a\nsandbox, and therefore cannot be used in all scenarios.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "knot", "checkConfig"], "readOnly": false, "type": "boolean"}, "services.knot.enable": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Knot authoritative-only DNS server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "knot", "enable"], "readOnly": false, "type": "boolean"}, "services.knot.enableXDP": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "''\n  Enabled when the `xdp.listen` setting is configured through `settings`.\n''"}, "description": "Extends the systemd unit with permissions to allow for the use of\nthe eXpress Data Path (XDP).\n\n::: {.note}\n  Make sure to read up on functional [limitations](https://www.knot-dns.cz/docs/latest/singlehtml/index.html#mode-xdp-limitations)\n  when running in XDP mode.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "knot", "enableXDP"], "readOnly": false, "type": "boolean"}, "services.knot.extraArgs": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional command line parameters for knotd\n", "loc": ["services", "knot", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.knot.keyFiles": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of files containing additional configuration\nto be included using the include directive. This option\nallows to include configuration like TSIG keys without\nexposing them to the nix store readable to any process.\nNote that using this option will also disable configuration\nchecks at build time.\n", "loc": ["services", "knot", "keyFiles"], "readOnly": false, "type": "list of absolute path"}, "services.knot.package": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "pkgs.knot-dns"}, "description": "The knot-dns package to use.", "loc": ["services", "knot", "package"], "readOnly": false, "type": "package"}, "services.knot.settings": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration as nix values.\n", "loc": ["services", "knot", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.knot.settingsFile": {"declarations": ["nixos/modules/services/networking/knot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "As alternative to ``settings``, you can provide whole configuration\ndirectly in the almost-YAML format of Knot DNS.\nYou might want to utilize ``pkgs.writeText \"knot.conf\" \"longConfigString\"`` for this.\n", "loc": ["services", "knot", "settingsFile"], "readOnly": false, "type": "null or absolute path"}, "services.komga.enable": {"declarations": ["nixos/modules/services/web-apps/komga.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Komga, a free and open source comics/mangas media server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "komga", "enable"], "readOnly": false, "type": "boolean"}, "services.komga.group": {"declarations": ["nixos/modules/services/web-apps/komga.nix"], "default": {"_type": "literalExpression", "text": "\"komga\""}, "description": "Group under which Komga runs.", "loc": ["services", "komga", "group"], "readOnly": false, "type": "string"}, "services.komga.openFirewall": {"declarations": ["nixos/modules/services/web-apps/komga.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for the port in {option}`services.komga.settings.server.port`.", "loc": ["services", "komga", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.komga.settings": {"declarations": ["nixos/modules/services/web-apps/komga.nix"], "description": "Komga configuration.\n\nSee [documentation](https://komga.org/docs/installation/configuration).\n", "loc": ["services", "komga", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.komga.settings.server.port": {"declarations": ["nixos/modules/services/web-apps/komga.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port that Komga will listen on.", "loc": ["services", "komga", "settings", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.komga.stateDir": {"declarations": ["nixos/modules/services/web-apps/komga.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/komga\""}, "description": "State and configuration directory Komga will use.", "loc": ["services", "komga", "stateDir"], "readOnly": false, "type": "string"}, "services.komga.user": {"declarations": ["nixos/modules/services/web-apps/komga.nix"], "default": {"_type": "literalExpression", "text": "\"komga\""}, "description": "User account under which Komga runs.", "loc": ["services", "komga", "user"], "readOnly": false, "type": "string"}, "services.komodo-periphery.allowedIps": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "IP addresses or subnets allowed to call the periphery API. Empty list allows all.", "example": {"_type": "literalExpression", "text": "[\n  \"::ffff:12.34.56.78\"\n  \"10.0.10.0/24\"\n]"}, "loc": ["services", "komodo-periphery", "allowedIps"], "readOnly": false, "type": "list of string"}, "services.komodo-periphery.bindIp": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"[::]\""}, "description": "IP address to bind to.", "loc": ["services", "komodo-periphery", "bindIp"], "readOnly": false, "type": "string"}, "services.komodo-periphery.configFile": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the periphery configuration file. If null, a configuration file will be generated from the module options.", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"periphery.toml\" ''\n  port = 8120\n  bind_ip = \"[::]\"\n  ssl_enabled = true\n  [logging]\n  level = \"info\"\n''\n"}, "loc": ["services", "komodo-periphery", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.komodo-periphery.containerStatsPollingRate": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"30-sec\""}, "description": "Container stats polling interval.", "example": {"_type": "literalExpression", "text": "\"1-min\""}, "loc": ["services", "komodo-periphery", "containerStatsPollingRate"], "readOnly": false, "type": "string"}, "services.komodo-periphery.disableContainerExec": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable remote container shell access through Periphery.", "loc": ["services", "komodo-periphery", "disableContainerExec"], "readOnly": false, "type": "boolean"}, "services.komodo-periphery.disableTerminals": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable remote shell access through Periphery.", "loc": ["services", "komodo-periphery", "disableTerminals"], "readOnly": false, "type": "boolean"}, "services.komodo-periphery.enable": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Periphery, a multi-server Docker and Git deployment agent by Komodo.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "komodo-periphery", "enable"], "readOnly": false, "type": "boolean"}, "services.komodo-periphery.environment": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to set for the service.", "example": {"_type": "literalExpression", "text": "{\n  DOCKER_HOST = \"unix:///var/run/docker.sock\";\n  RUST_LOG = \"komodo=debug\";\n}"}, "loc": ["services", "komodo-periphery", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.komodo-periphery.environmentFile": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file for additional configuration via environment variables.", "example": {"_type": "literalExpression", "text": "\"/run/secrets/komodo-periphery.env\""}, "loc": ["services", "komodo-periphery", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.komodo-periphery.excludeDiskMounts": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Exclude these mount paths from disk reporting.", "example": {"_type": "literalExpression", "text": "[\n  \"/tmp\"\n  \"/boot\"\n]"}, "loc": ["services", "komodo-periphery", "excludeDiskMounts"], "readOnly": false, "type": "list of string"}, "services.komodo-periphery.extraSettings": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra settings to add to the generated TOML config.", "example": {"_type": "literalExpression", "text": "{\n  secrets = {\n    GITHUB_TOKEN = \"ghp_xxxx\";\n  };\n}"}, "loc": ["services", "komodo-periphery", "extraSettings"], "readOnly": false, "type": "TOML value"}, "services.komodo-periphery.group": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"komodo-periphery\""}, "description": "Group under which the Periphery agent runs.", "loc": ["services", "komodo-periphery", "group"], "readOnly": false, "type": "string"}, "services.komodo-periphery.includeDiskMounts": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Only include these mount paths in disk reporting.", "example": {"_type": "literalExpression", "text": "[\n  \"/mnt/data\"\n  \"/mnt/backup\"\n]"}, "loc": ["services", "komodo-periphery", "includeDiskMounts"], "readOnly": false, "type": "list of string"}, "services.komodo-periphery.legacyComposeCli": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use `docker-compose` instead of `docker compose`.", "loc": ["services", "komodo-periphery", "legacyComposeCli"], "readOnly": false, "type": "boolean"}, "services.komodo-periphery.logging.level": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Logging verbosity level.", "loc": ["services", "komodo-periphery", "logging", "level"], "readOnly": false, "type": "one of \"off\", \"error\", \"warn\", \"info\", \"debug\", \"trace\""}, "services.komodo-periphery.logging.otlpEndpoint": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "OpenTelemetry OTLP endpoint for traces.", "example": {"_type": "literalExpression", "text": "\"http://localhost:4317\""}, "loc": ["services", "komodo-periphery", "logging", "otlpEndpoint"], "readOnly": false, "type": "string"}, "services.komodo-periphery.logging.stdio": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"standard\""}, "description": "Logging format for stdout/stderr.", "loc": ["services", "komodo-periphery", "logging", "stdio"], "readOnly": false, "type": "one of \"standard\", \"json\", \"none\""}, "services.komodo-periphery.package": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "pkgs.komodo"}, "description": "The komodo package to use.", "loc": ["services", "komodo-periphery", "package"], "readOnly": false, "type": "package"}, "services.komodo-periphery.passkeys": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Passkeys required to access the periphery API.\nWARNING: These will be stored in the Nix store in plain text!\n", "example": {"_type": "literalExpression", "text": "[\n  \"your-secure-passkey\"\n]"}, "loc": ["services", "komodo-periphery", "passkeys"], "readOnly": false, "type": "list of string"}, "services.komodo-periphery.port": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "8120"}, "description": "Port for the Periphery agent to listen on.", "loc": ["services", "komodo-periphery", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.komodo-periphery.rootDirectory": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/komodo-periphery\""}, "description": "Root directory for Komodo Periphery data.", "loc": ["services", "komodo-periphery", "rootDirectory"], "readOnly": false, "type": "absolute path"}, "services.komodo-periphery.ssl.certFile": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.komodo-periphery.rootDirectory}/ssl/cert.pem\""}, "description": "Path to SSL certificate file.", "loc": ["services", "komodo-periphery", "ssl", "certFile"], "readOnly": false, "type": "absolute path"}, "services.komodo-periphery.ssl.enable": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable SSL/TLS support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "komodo-periphery", "ssl", "enable"], "readOnly": false, "type": "boolean"}, "services.komodo-periphery.ssl.keyFile": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.komodo-periphery.rootDirectory}/ssl/key.pem\""}, "description": "Path to SSL key file.", "loc": ["services", "komodo-periphery", "ssl", "keyFile"], "readOnly": false, "type": "absolute path"}, "services.komodo-periphery.statsPollingRate": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"5-sec\""}, "description": "System stats polling interval.", "example": {"_type": "literalExpression", "text": "\"10-sec\""}, "loc": ["services", "komodo-periphery", "statsPollingRate"], "readOnly": false, "type": "string"}, "services.komodo-periphery.user": {"declarations": ["nixos/modules/services/admin/komodo-periphery.nix"], "default": {"_type": "literalExpression", "text": "\"komodo-periphery\""}, "description": "User under which the Periphery agent runs.", "loc": ["services", "komodo-periphery", "user"], "readOnly": false, "type": "string"}, "services.kresd.enable": {"declarations": ["nixos/modules/services/networking/kresd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable knot-resolver (version 5) domain name server.\nDNSSEC validation is turned on by default.\nYou can run `kresd-cli 1` and give commands interactively to kresd@1.service.\nIf you want to user knot-resolver 6, please use services.knot-resolver.\n", "loc": ["services", "kresd", "enable"], "readOnly": false, "type": "boolean"}, "services.kresd.extraConfig": {"declarations": ["nixos/modules/services/networking/kresd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to the generated configuration file.\nSee upstream documentation <https://www.knot-resolver.cz/documentation/stable/config-overview.html> for more details.\n", "loc": ["services", "kresd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.kresd.instances": {"declarations": ["nixos/modules/services/networking/kresd.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "The number of instances to start.  They will be called kresd@{1,2,...}.service.\nKnot Resolver uses no threads, so this is the way to scale.\nYou can dynamically start/stop them at will, so this is just system default.\n", "loc": ["services", "kresd", "instances"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.kresd.listenDoH": {"declarations": ["nixos/modules/services/networking/kresd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Addresses and ports on which kresd should provide DNS over HTTPS/2 (see RFC 8484).\nFor detailed syntax see ListenStream in {manpage}`systemd.socket(5)`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"198.51.100.1:443\"\n  \"[2001:db8::1]:443\"\n  \"443\"\n]"}, "loc": ["services", "kresd", "listenDoH"], "readOnly": false, "type": "list of string"}, "services.kresd.listenPlain": {"declarations": ["nixos/modules/services/networking/kresd.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"[::1]:53\"\n  \"127.0.0.1:53\"\n]"}, "description": "What addresses and ports the server should listen on.\nFor detailed syntax see ListenStream in {manpage}`systemd.socket(5)`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"53\"\n]"}, "loc": ["services", "kresd", "listenPlain"], "readOnly": false, "type": "list of string"}, "services.kresd.listenTLS": {"declarations": ["nixos/modules/services/networking/kresd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Addresses and ports on which kresd should provide DNS over TLS (see RFC 7858).\nFor detailed syntax see ListenStream in {manpage}`systemd.socket(5)`.\n", "example": {"_type": "literalExpression", "text": "[\n  \"198.51.100.1:853\"\n  \"[2001:db8::1]:853\"\n  \"853\"\n]"}, "loc": ["services", "kresd", "listenTLS"], "readOnly": false, "type": "list of string"}, "services.kresd.package": {"declarations": ["nixos/modules/services/networking/kresd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.knot-resolver_5"}, "description": "The knot-resolver_5 package to use.", "example": {"_type": "literalExpression", "text": "knot-resolver_5.override { extraFeatures = true; }"}, "loc": ["services", "kresd", "package"], "readOnly": false, "type": "package"}, "services.kthxbye.alertmanager.timeout": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "\"1m0s\""}, "description": "Alertmanager request timeout duration in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.\n", "example": {"_type": "literalExpression", "text": "\"30s\""}, "loc": ["services", "kthxbye", "alertmanager", "timeout"], "readOnly": false, "type": "string"}, "services.kthxbye.alertmanager.uri": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost:9093\""}, "description": "Alertmanager URI to use.\n", "example": {"_type": "literalExpression", "text": "\"https://alertmanager.example.com\""}, "loc": ["services", "kthxbye", "alertmanager", "uri"], "readOnly": false, "type": "string"}, "services.kthxbye.enable": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kthxbye alert acknowledgement management daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kthxbye", "enable"], "readOnly": false, "type": "boolean"}, "services.kthxbye.extendBy": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "\"15m0s\""}, "description": "Extend silences by adding DURATION seconds.\n\nDURATION should be provided in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.\n", "example": {"_type": "literalExpression", "text": "\"6h0m0s\""}, "loc": ["services", "kthxbye", "extendBy"], "readOnly": false, "type": "string"}, "services.kthxbye.extendIfExpiringIn": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "\"5m0s\""}, "description": "Extend silences that are about to expire in the next DURATION seconds.\n\nDURATION should be provided in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.\n", "example": {"_type": "literalExpression", "text": "\"1m0s\""}, "loc": ["services", "kthxbye", "extendIfExpiringIn"], "readOnly": false, "type": "string"}, "services.kthxbye.extendWithPrefix": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "\"ACK!\""}, "description": "Extend silences with comment starting with PREFIX string.\n", "example": {"_type": "literalExpression", "text": "\"!perma-silence\""}, "loc": ["services", "kthxbye", "extendWithPrefix"], "readOnly": false, "type": "string"}, "services.kthxbye.extraOptions": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options.\n\nDocumentation can be found [here](https://github.com/prymitive/kthxbye/blob/main/README.md).\n", "example": {"_type": "literalExpression", "text": "[\n  \"-extend-with-prefix 'ACK!'\"\n];\n"}, "loc": ["services", "kthxbye", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.kthxbye.interval": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "\"45s\""}, "description": "Silence check interval duration in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.\n", "example": {"_type": "literalExpression", "text": "\"30s\""}, "loc": ["services", "kthxbye", "interval"], "readOnly": false, "type": "string"}, "services.kthxbye.listenAddress": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "The address to listen on for HTTP requests.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "kthxbye", "listenAddress"], "readOnly": false, "type": "string"}, "services.kthxbye.logJSON": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Format logged messages as JSON.\n", "loc": ["services", "kthxbye", "logJSON"], "readOnly": false, "type": "boolean"}, "services.kthxbye.maxDuration": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Maximum duration of a silence, it won't be extended anymore after reaching it.\n\nDuration should be provided in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.\n", "example": {"_type": "literalExpression", "text": "\"30d\""}, "loc": ["services", "kthxbye", "maxDuration"], "readOnly": false, "type": "null or string"}, "services.kthxbye.openFirewall": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall needed for the daemon to function.\n", "loc": ["services", "kthxbye", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.kthxbye.package": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kthxbye"}, "description": "The kthxbye package to use.", "loc": ["services", "kthxbye", "package"], "readOnly": false, "type": "package"}, "services.kthxbye.port": {"declarations": ["nixos/modules/services/monitoring/kthxbye.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "The port to listen on for HTTP requests.\n", "loc": ["services", "kthxbye", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.kubo.autoMigrate": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether Kubo should try to migrate its filesystem repository automatically.", "loc": ["services", "kubo", "autoMigrate"], "readOnly": false, "type": "boolean"}, "services.kubo.autoMount": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether Kubo should try to mount /ipfs, /ipns and /mfs at startup.", "loc": ["services", "kubo", "autoMount"], "readOnly": false, "type": "boolean"}, "services.kubo.dataDir": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "if lib.versionAtLeast config.system.stateVersion \"17.09\"\nthen \"/var/lib/ipfs\"\nelse \"/var/lib/ipfs/.ipfs\"\n"}, "description": "The data dir for Kubo", "loc": ["services", "kubo", "dataDir"], "readOnly": false, "type": "string"}, "services.kubo.defaultMode": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "\"online\""}, "description": "systemd service that is enabled by default", "loc": ["services", "kubo", "defaultMode"], "readOnly": false, "type": "one of \"online\", \"offline\", \"norouting\""}, "services.kubo.emptyRepo": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If set to false, the repo will be initialized with help files", "loc": ["services", "kubo", "emptyRepo"], "readOnly": false, "type": "boolean"}, "services.kubo.enable": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Interplanetary File System (WARNING: may cause severe network degradation).\nNOTE: after enabling this option and rebuilding your system, you need to log out\nand back in for the `IPFS_PATH` environment variable to be present in your shell.\nUntil you do that, the CLI tools won't be able to talk to the daemon by default\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "kubo", "enable"], "readOnly": false, "type": "boolean"}, "services.kubo.enableGC": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic garbage collection", "loc": ["services", "kubo", "enableGC"], "readOnly": false, "type": "boolean"}, "services.kubo.extraFlags": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags passed to the Kubo daemon", "loc": ["services", "kubo", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.kubo.group": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "\"ipfs\""}, "description": "Group under which the Kubo daemon runs", "loc": ["services", "kubo", "group"], "readOnly": false, "type": "string"}, "services.kubo.localDiscovery": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable local discovery for the Kubo daemon.\n          This will allow Kubo to scan ports on your local network. Some hosting services will ban you if you do this.\n", "loc": ["services", "kubo", "localDiscovery"], "readOnly": false, "type": "boolean"}, "services.kubo.package": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.kubo"}, "description": "The kubo package to use.", "loc": ["services", "kubo", "package"], "readOnly": false, "type": "package"}, "services.kubo.serviceFdlimit": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The fdlimit for the Kubo systemd unit or `null` to have the daemon attempt to manage it", "example": {"_type": "literalExpression", "text": "65536"}, "loc": ["services", "kubo", "serviceFdlimit"], "readOnly": false, "type": "null or signed integer"}, "services.kubo.settings": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attrset of daemon configuration.\nSee [https://github.com/ipfs/kubo/blob/master/docs/config.md](https://github.com/ipfs/kubo/blob/master/docs/config.md) for reference.\nYou can't set `Identity` or `Pinning`.\n", "example": {"_type": "literalExpression", "text": "{\n  Bootstrap = [\n    \"/ip4/128.199.219.111/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu\"\n    \"/ip4/162.243.248.213/tcp/4001/ipfs/QmSoLueR4xBeUbY9WZ9xGUUxunbKWcrNFTDAadQJmocnWm\"\n  ];\n  Datastore = {\n    StorageMax = \"100GB\";\n  };\n  Discovery = {\n    MDNS = {\n      Enabled = false;\n    };\n  };\n  Swarm = {\n    AddrFilters = null;\n  };\n}"}, "loc": ["services", "kubo", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.kubo.settings.Addresses.API": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Multiaddr or array of multiaddrs describing the address to serve the local HTTP API on.\nIn addition to the multiaddrs listed here, the daemon will also listen on a Unix domain socket.\nTo allow the ipfs CLI tools to communicate with the daemon over that socket,\nadd your user to the correct group, e.g. `users.users.alice.extraGroups = [ config.services.kubo.group ];`\n", "loc": ["services", "kubo", "settings", "Addresses", "API"], "readOnly": false, "type": "string or list of string"}, "services.kubo.settings.Addresses.Gateway": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "\"/ip4/127.0.0.1/tcp/8080\""}, "description": "Where the IPFS Gateway can be reached", "loc": ["services", "kubo", "settings", "Addresses", "Gateway"], "readOnly": false, "type": "string or list of string"}, "services.kubo.settings.Addresses.Swarm": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/ip4/0.0.0.0/tcp/4001\"\n  \"/ip6/::/tcp/4001\"\n  \"/ip4/0.0.0.0/udp/4001/quic-v1\"\n  \"/ip4/0.0.0.0/udp/4001/quic-v1/webtransport\"\n  \"/ip4/0.0.0.0/udp/4001/webrtc-direct\"\n  \"/ip6/::/udp/4001/quic-v1\"\n  \"/ip6/::/udp/4001/quic-v1/webtransport\"\n  \"/ip6/::/udp/4001/webrtc-direct\"\n]"}, "description": "Where Kubo listens for incoming p2p connections", "loc": ["services", "kubo", "settings", "Addresses", "Swarm"], "readOnly": false, "type": "list of string"}, "services.kubo.settings.Mounts.FuseAllowOther": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Allow all users to access the FUSE mount points", "loc": ["services", "kubo", "settings", "Mounts", "FuseAllowOther"], "readOnly": false, "type": "boolean"}, "services.kubo.settings.Mounts.IPFS": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "\"/ipfs\""}, "description": "Where to mount the IPFS namespace to", "loc": ["services", "kubo", "settings", "Mounts", "IPFS"], "readOnly": false, "type": "string"}, "services.kubo.settings.Mounts.IPNS": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "\"/ipns\""}, "description": "Where to mount the IPNS namespace to", "loc": ["services", "kubo", "settings", "Mounts", "IPNS"], "readOnly": false, "type": "string"}, "services.kubo.settings.Mounts.MFS": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "\"/mfs\""}, "description": "Where to mount the MFS namespace to", "loc": ["services", "kubo", "settings", "Mounts", "MFS"], "readOnly": false, "type": "string"}, "services.kubo.startWhenNeeded": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use socket activation to start Kubo when needed.", "loc": ["services", "kubo", "startWhenNeeded"], "readOnly": false, "type": "boolean"}, "services.kubo.user": {"declarations": ["nixos/modules/services/network-filesystems/kubo.nix"], "default": {"_type": "literalExpression", "text": "\"ipfs\""}, "description": "User under which the Kubo daemon runs", "loc": ["services", "kubo", "user"], "readOnly": false, "type": "string"}, "services.labgrid.coordinator.bindAddress": {"declarations": ["nixos/modules/services/development/labgrid/coordinator.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Bind address for the labgrid coordinator.", "loc": ["services", "labgrid", "coordinator", "bindAddress"], "readOnly": false, "type": "string"}, "services.labgrid.coordinator.debug": {"declarations": ["nixos/modules/services/development/labgrid/coordinator.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug mode.\n", "loc": ["services", "labgrid", "coordinator", "debug"], "readOnly": false, "type": "boolean"}, "services.labgrid.coordinator.enable": {"declarations": ["nixos/modules/services/development/labgrid/coordinator.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Labgrid Coordinator.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "labgrid", "coordinator", "enable"], "readOnly": false, "type": "boolean"}, "services.labgrid.coordinator.openFirewall": {"declarations": ["nixos/modules/services/development/labgrid/coordinator.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically open the coordinator listen port in the firewall.\n", "loc": ["services", "labgrid", "coordinator", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.labgrid.coordinator.package": {"declarations": ["nixos/modules/services/development/labgrid/coordinator.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python3Packages.labgrid"}, "description": "The labgrid package to use.", "loc": ["services", "labgrid", "coordinator", "package"], "readOnly": false, "type": "package"}, "services.labgrid.coordinator.port": {"declarations": ["nixos/modules/services/development/labgrid/coordinator.nix"], "default": {"_type": "literalExpression", "text": "20408"}, "description": "Coordinator port to bind to.", "loc": ["services", "labgrid", "coordinator", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lact.enable": {"declarations": ["nixos/modules/services/hardware/lact.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LACT, a tool for monitoring, configuring and overclocking GPUs.\n\n::: {.note}\nIf you are on an AMD GPU, it is recommended to enable overdrive mode by using\n`hardware.amdgpu.overdrive.enable = true;` in your configuration.\nSee [LACT wiki](https://github.com/ilya-zlobintsev/LACT/wiki/Overclocking-(AMD)) for more information.\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lact", "enable"], "readOnly": false, "type": "boolean"}, "services.lact.package": {"declarations": ["nixos/modules/services/hardware/lact.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lact"}, "description": "The lact package to use.", "loc": ["services", "lact", "package"], "readOnly": false, "type": "package"}, "services.lact.settings": {"declarations": ["nixos/modules/services/hardware/lact.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for LACT.\n\nThe easiest method of acquiring the settings is to delete\n{file}`/etc/lact/config.yaml`, enter your settings and look\nat the file.\n\n::: {.note}\nWhen `settings` is populated, the config file will be a symbolic link\nand thus LACT daemon will not be able to modify it through the GUI.\n:::\n", "loc": ["services", "lact", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.lambdabot.enable": {"declarations": ["nixos/modules/services/networking/lambdabot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the Lambdabot IRC bot", "loc": ["services", "lambdabot", "enable"], "readOnly": false, "type": "boolean"}, "services.lambdabot.package": {"declarations": ["nixos/modules/services/networking/lambdabot.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lambdabot"}, "description": "The lambdabot package to use.", "loc": ["services", "lambdabot", "package"], "readOnly": false, "type": "package"}, "services.lambdabot.script": {"declarations": ["nixos/modules/services/networking/lambdabot.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Lambdabot script", "loc": ["services", "lambdabot", "script"], "readOnly": false, "type": "string"}, "services.languagetool.allowOrigin": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the Access-Control-Allow-Origin header in the HTTP response,\nused for direct (non-proxy) JavaScript-based access from browsers.\n`\"*\"` to allow access from all sites.\n", "example": {"_type": "literalExpression", "text": "\"https://my-website.org\""}, "loc": ["services", "languagetool", "allowOrigin"], "readOnly": false, "type": "null or string"}, "services.languagetool.enable": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the LanguageTool server, a multilingual spelling, style, and grammar checker that helps correct or paraphrase texts.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "languagetool", "enable"], "readOnly": false, "type": "boolean"}, "services.languagetool.jvmOptions": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line options for the JVM running languagetool.\nMore information can be found here: <https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#standard-options-for-java>\n", "example": {"_type": "literalExpression", "text": "[\n  \"-Xmx512m\"\n]"}, "loc": ["services", "languagetool", "jvmOptions"], "readOnly": false, "type": "list of string"}, "services.languagetool.package": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "pkgs.languagetool"}, "description": "The languagetool package to use.", "loc": ["services", "languagetool", "package"], "readOnly": false, "type": "package"}, "services.languagetool.port": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "8081"}, "description": "Port on which LanguageTool listens.\n", "example": {"_type": "literalExpression", "text": "8081"}, "loc": ["services", "languagetool", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.languagetool.public": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable access from anywhere (rather than just localhost).", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "languagetool", "public"], "readOnly": false, "type": "boolean"}, "services.languagetool.settings": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration file options for LanguageTool, see\n'languagetool-http-server --help'\nfor supported settings.\n", "loc": ["services", "languagetool", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string, package, bool, int or float)"}, "services.languagetool.settings.cacheSize": {"declarations": ["nixos/modules/services/misc/languagetool.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Number of sentences cached.", "loc": ["services", "languagetool", "settings", "cacheSize"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.lanraragi.enable": {"declarations": ["nixos/modules/services/web-apps/lanraragi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LANraragi.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lanraragi", "enable"], "readOnly": false, "type": "boolean"}, "services.lanraragi.openFirewall": {"declarations": ["nixos/modules/services/web-apps/lanraragi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for LANraragi's web interface.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lanraragi", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.lanraragi.package": {"declarations": ["nixos/modules/services/web-apps/lanraragi.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lanraragi"}, "description": "The lanraragi package to use.", "loc": ["services", "lanraragi", "package"], "readOnly": false, "type": "package"}, "services.lanraragi.passwordFile": {"declarations": ["nixos/modules/services/web-apps/lanraragi.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password for LANraragi's admin interface.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/lanraragi-password\""}, "loc": ["services", "lanraragi", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.lanraragi.port": {"declarations": ["nixos/modules/services/web-apps/lanraragi.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port for LANraragi's web interface.", "loc": ["services", "lanraragi", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lanraragi.redis.passwordFile": {"declarations": ["nixos/modules/services/web-apps/lanraragi.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password for LANraragi's Redis server.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/redis-lanraragi-password\""}, "loc": ["services", "lanraragi", "redis", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.lanraragi.redis.port": {"declarations": ["nixos/modules/services/web-apps/lanraragi.nix"], "default": {"_type": "literalExpression", "text": "6379"}, "description": "Port for LANraragi's Redis server.", "loc": ["services", "lanraragi", "redis", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lauti.dataDir": {"declarations": ["nixos/modules/services/web-apps/lauti.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/lauti\""}, "description": "Data directory for Lauti\n", "loc": ["services", "lauti", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.lauti.enable": {"declarations": ["nixos/modules/services/web-apps/lauti.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Lauti community event calendar web app.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lauti", "enable"], "readOnly": false, "type": "boolean"}, "services.lauti.secrets": {"declarations": ["nixos/modules/services/web-apps/lauti.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of files containing the various secrets. Should be in the\nformat expected by systemd's `EnvironmentFile` directory.\n", "loc": ["services", "lauti", "secrets"], "readOnly": false, "type": "list of absolute path"}, "services.lauti.settings": {"declarations": ["nixos/modules/services/web-apps/lauti.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings to configure web service. See\n<https://codeberg.org/Klasse-Methode/lauti/src/branch/main/DEPLOYMENT.md>\nfor available options.\n", "example": {"_type": "literalExpression", "text": "{\n  LAUTI_ADDR = \":1234\";\n  LAUTI_ADMIN_EMAIL = \"admin@example.org\";\n  LAUTI_TIMEZONE = \"Europe/Berlin\";\n}\n"}, "loc": ["services", "lauti", "settings"], "readOnly": false, "type": "attribute set of string"}, "services.lavalink.address": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "The network address to bind to.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "lavalink", "address"], "readOnly": false, "type": "string"}, "services.lavalink.enable": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Lavalink.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lavalink", "enable"], "readOnly": false, "type": "boolean"}, "services.lavalink.enableHttp2": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTP/2 support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lavalink", "enableHttp2"], "readOnly": false, "type": "boolean"}, "services.lavalink.environmentFile": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Add custom environment variables from a file.\nSee <https://lavalink.dev/configuration/index.html#example-environment-variables> for the full documentation.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/lavalink/passwordEnvFile\""}, "loc": ["services", "lavalink", "environmentFile"], "readOnly": false, "type": "null or string"}, "services.lavalink.extraConfig": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration to write to {file}`application.yml`.\nSee <https://lavalink.dev/configuration/#example-applicationyml> for the full documentation.\n\nIndividual configuration parameters can be overwritten using environment variables.\nSee <https://lavalink.dev/configuration/#example-environment-variables> for more information.\n", "example": {"_type": "literalExpression", "text": "{\n  lavalink.server = {\n    sources.twitch = true;\n\n    filters.volume = true;\n  };\n\n  logging.file.path = \"./logs/\";\n}\n"}, "loc": ["services", "lavalink", "extraConfig"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.lavalink.group": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "\"lavalink\""}, "description": "The group of the service.\n", "example": {"_type": "literalExpression", "text": "\"medias\""}, "loc": ["services", "lavalink", "group"], "readOnly": false, "type": "string"}, "services.lavalink.home": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/lavalink\""}, "description": "The home directory for lavalink.\n", "example": {"_type": "literalExpression", "text": "\"/home/lavalink\""}, "loc": ["services", "lavalink", "home"], "readOnly": false, "type": "string"}, "services.lavalink.jvmArgs": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "\"-Xmx4G\""}, "description": "Set custom JVM arguments.\n", "example": {"_type": "literalExpression", "text": "\"-Djava.io.tmpdir=/var/lib/lavalink/tmp -Xmx6G\""}, "loc": ["services", "lavalink", "jvmArgs"], "readOnly": false, "type": "string"}, "services.lavalink.openFirewall": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to expose the port to the network.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lavalink", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.lavalink.package": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lavalink"}, "description": "The lavalink package to use.", "loc": ["services", "lavalink", "package"], "readOnly": false, "type": "package"}, "services.lavalink.password": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The password for Lavalink's authentication in plain text.\n", "example": {"_type": "literalExpression", "text": "\"s3cRe!p4SsW0rD\""}, "loc": ["services", "lavalink", "password"], "readOnly": false, "type": "null or string"}, "services.lavalink.plugins": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of plugins for lavalink.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    dependency = \"dev.lavalink.youtube:youtube-plugin:1.8.0\";\n    repository = \"https://maven.lavalink.dev/snapshots\";\n    hash = lib.fakeHash;\n    configName = \"youtube\";\n    extraConfig = {\n      enabled = true;\n      allowSearch = true;\n      allowDirectVideoIds = true;\n      allowDirectPlaylistIds = true;\n    };\n  }\n]\n"}, "loc": ["services", "lavalink", "plugins"], "readOnly": false, "type": "list of (submodule)"}, "services.lavalink.plugins.*.configName": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The name of the plugin to use as the key for the plugin configuration.\n", "example": {"_type": "literalExpression", "text": "\"youtube\""}, "loc": ["services", "lavalink", "plugins", "*", "configName"], "readOnly": false, "type": "null or string"}, "services.lavalink.plugins.*.dependency": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "description": "The coordinates of the plugin.\n", "example": {"_type": "literalExpression", "text": "\"dev.lavalink.youtube:youtube-plugin:1.8.0\""}, "loc": ["services", "lavalink", "plugins", "*", "dependency"], "readOnly": false, "type": "string"}, "services.lavalink.plugins.*.extraConfig": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The configuration for the plugin.\n\nThe {option}`services.lavalink.plugins.*.configName` option must be set.\n", "loc": ["services", "lavalink", "plugins", "*", "extraConfig"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.lavalink.plugins.*.hash": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "description": "The hash of the plugin.\n", "example": {"_type": "literalExpression", "text": "\"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\""}, "loc": ["services", "lavalink", "plugins", "*", "hash"], "readOnly": false, "type": "string"}, "services.lavalink.plugins.*.repository": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "\"https://maven.lavalink.dev/releases\""}, "description": "The plugin repository. Defaults to the lavalink releases repository.\n\nTo use the snapshots repository, use <https://maven.lavalink.dev/snapshots> instead\n", "example": {"_type": "literalExpression", "text": "\"https://maven.example.com/releases\""}, "loc": ["services", "lavalink", "plugins", "*", "repository"], "readOnly": false, "type": "string"}, "services.lavalink.port": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "2333"}, "description": "The port that Lavalink will use.\n", "example": {"_type": "literalExpression", "text": "4567"}, "loc": ["services", "lavalink", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lavalink.user": {"declarations": ["nixos/modules/services/audio/lavalink.nix"], "default": {"_type": "literalExpression", "text": "\"lavalink\""}, "description": "The user of the service.\n", "example": {"_type": "literalExpression", "text": "\"root\""}, "loc": ["services", "lavalink", "user"], "readOnly": false, "type": "string"}, "services.leaps.address": {"declarations": ["nixos/modules/services/misc/leaps.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Hostname or IP-address to listen to. By default it will listen on all interfaces.", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "leaps", "address"], "readOnly": false, "type": "string"}, "services.leaps.enable": {"declarations": ["nixos/modules/services/misc/leaps.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable leaps, a pair programming service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "leaps", "enable"], "readOnly": false, "type": "boolean"}, "services.leaps.path": {"declarations": ["nixos/modules/services/misc/leaps.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "Subdirectory used for reverse proxy setups", "loc": ["services", "leaps", "path"], "readOnly": false, "type": "absolute path"}, "services.leaps.port": {"declarations": ["nixos/modules/services/misc/leaps.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "A port where leaps listens for incoming http requests", "loc": ["services", "leaps", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.legit.enable": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable legit git web frontend.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "legit", "enable"], "readOnly": false, "type": "boolean"}, "services.legit.group": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"legit\""}, "description": "Group account under which legit runs.", "loc": ["services", "legit", "group"], "readOnly": false, "type": "string"}, "services.legit.package": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.legit-web"}, "description": "The legit-web package to use.", "loc": ["services", "legit", "package"], "readOnly": false, "type": "package"}, "services.legit.settings": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The primary legit configuration. See the\n[sample configuration](https://github.com/icyphox/legit/blob/master/config.yaml)\nfor possible values.\n", "loc": ["services", "legit", "settings"], "readOnly": false, "type": "submodule"}, "services.legit.settings.dirs.static": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.legit-web}/lib/legit/static\""}, "description": "Directories where static files are located.", "loc": ["services", "legit", "settings", "dirs", "static"], "readOnly": false, "type": "absolute path"}, "services.legit.settings.dirs.templates": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"${pkgs.legit-web}/lib/legit/templates\""}, "description": "Directories where template files are located.", "loc": ["services", "legit", "settings", "dirs", "templates"], "readOnly": false, "type": "absolute path"}, "services.legit.settings.meta.description": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"git frontend\""}, "description": "Website description.", "loc": ["services", "legit", "settings", "meta", "description"], "readOnly": false, "type": "string"}, "services.legit.settings.meta.title": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"legit\""}, "description": "Website title.", "loc": ["services", "legit", "settings", "meta", "title"], "readOnly": false, "type": "string"}, "services.legit.settings.repo.ignore": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Repositories to ignore.", "loc": ["services", "legit", "settings", "repo", "ignore"], "readOnly": false, "type": "list of string"}, "services.legit.settings.repo.mainBranch": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"main\"\n  \"master\"\n]"}, "description": "Main branch to look for.", "loc": ["services", "legit", "settings", "repo", "mainBranch"], "readOnly": false, "type": "list of string"}, "services.legit.settings.repo.readme": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Readme files to look for.", "loc": ["services", "legit", "settings", "repo", "readme"], "readOnly": false, "type": "list of string"}, "services.legit.settings.repo.scanPath": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/legit\""}, "description": "Directory where legit will scan for repositories.", "loc": ["services", "legit", "settings", "repo", "scanPath"], "readOnly": false, "type": "absolute path"}, "services.legit.settings.server.host": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Host address.", "loc": ["services", "legit", "settings", "server", "host"], "readOnly": false, "type": "string"}, "services.legit.settings.server.name": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Server name.", "loc": ["services", "legit", "settings", "server", "name"], "readOnly": false, "type": "string"}, "services.legit.settings.server.port": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "5555"}, "description": "Legit port.", "loc": ["services", "legit", "settings", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.legit.user": {"declarations": ["nixos/modules/services/networking/legit.nix"], "default": {"_type": "literalExpression", "text": "\"legit\""}, "description": "User account under which legit runs.", "loc": ["services", "legit", "user"], "readOnly": false, "type": "string"}, "services.lemmy.adminPasswordFile": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File which contains the value of `setup.admin_password`.", "loc": ["services", "lemmy", "adminPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.lemmy.caddy.enable": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable exposing lemmy with the caddy reverse proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lemmy", "caddy", "enable"], "readOnly": false, "type": "boolean"}, "services.lemmy.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable creation of database on the instance.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lemmy", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.lemmy.database.uri": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The connection URI to use. Takes priority over the configuration file if set.", "loc": ["services", "lemmy", "database", "uri"], "readOnly": false, "type": "null or string"}, "services.lemmy.database.uriFile": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File which contains the database uri.", "loc": ["services", "lemmy", "database", "uriFile"], "readOnly": false, "type": "null or absolute path"}, "services.lemmy.enable": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lemmy a federated alternative to reddit in rust.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lemmy", "enable"], "readOnly": false, "type": "boolean"}, "services.lemmy.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable exposing lemmy with the nginx reverse proxy.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lemmy", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.lemmy.pictrsApiKeyFile": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File which contains the value of `pictrs.api_key`.", "loc": ["services", "lemmy", "pictrsApiKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.lemmy.server.package": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lemmy-server"}, "description": "The lemmy-server package to use.", "loc": ["services", "lemmy", "server", "package"], "readOnly": false, "type": "package"}, "services.lemmy.settings": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Lemmy configuration", "loc": ["services", "lemmy", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.lemmy.settings.captcha.difficulty": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "\"medium\""}, "description": "The difficultly of the captcha to solve.", "loc": ["services", "lemmy", "settings", "captcha", "difficulty"], "readOnly": false, "type": "one of \"easy\", \"medium\", \"hard\""}, "services.lemmy.settings.captcha.enabled": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable Captcha.", "loc": ["services", "lemmy", "settings", "captcha", "enabled"], "readOnly": false, "type": "boolean"}, "services.lemmy.settings.hostname": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The domain name of your instance (eg 'lemmy.ml').", "loc": ["services", "lemmy", "settings", "hostname"], "readOnly": false, "type": "string"}, "services.lemmy.settings.port": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "8536"}, "description": "Port where lemmy should listen for incoming requests.", "loc": ["services", "lemmy", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lemmy.smtpPasswordFile": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File which contains the value of `email.smtp_password`.", "loc": ["services", "lemmy", "smtpPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.lemmy.ui.package": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lemmy-ui"}, "description": "The lemmy-ui package to use.", "loc": ["services", "lemmy", "ui", "package"], "readOnly": false, "type": "package"}, "services.lemmy.ui.port": {"declarations": ["nixos/modules/services/web-apps/lemmy.nix"], "default": {"_type": "literalExpression", "text": "1234"}, "description": "Port where lemmy-ui should listen for incoming requests.", "loc": ["services", "lemmy", "ui", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.libeufin.bank.createLocalDatabase": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic creation of a local postgres database.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libeufin", "bank", "createLocalDatabase"], "readOnly": false, "type": "boolean"}, "services.libeufin.bank.debug": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logging.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libeufin", "bank", "debug"], "readOnly": false, "type": "boolean"}, "services.libeufin.bank.enable": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable libeufin core banking system and web interface.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libeufin", "bank", "enable"], "readOnly": false, "type": "boolean"}, "services.libeufin.bank.initialAccounts": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Accounts to enable before the bank service starts.\n\nThis is mainly needed for the nexus currency conversion\nsince the exchange's bank account is expected to be already\nregistered.\n\nDon't forget to change the account passwords afterwards.\n", "loc": ["services", "libeufin", "bank", "initialAccounts"], "readOnly": false, "type": "list of (attribute set)"}, "services.libeufin.bank.openFirewall": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall", "loc": ["services", "libeufin", "bank", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.libeufin.bank.package": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "pkgs.libeufin"}, "description": "The libeufin package to use.", "loc": ["services", "libeufin", "bank", "package"], "readOnly": false, "type": "package"}, "services.libeufin.bank.settings": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "description": "Configuration options for the libeufin bank system config file.\n\nFor a list of all possible options, please see the man page [`libeufin-bank.conf(5)`](https://docs.taler.net/manpages/libeufin-bank.conf.5.html)\n", "loc": ["services", "libeufin", "bank", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.libeufin.bank.settings.libeufin-bank.CURRENCY": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "description": "The currency under which the libeufin-bank should operate.\n\nThis defaults to the GNU taler module's currency for convenience\nbut if you run libeufin-bank separately from taler, you must set\nthis yourself.\n", "loc": ["services", "libeufin", "bank", "settings", "libeufin-bank", "CURRENCY"], "readOnly": false, "type": "string"}, "services.libeufin.bank.settings.libeufin-bank.PORT": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "8082"}, "description": "The port on which libeufin-bank should listen.\n", "loc": ["services", "libeufin", "bank", "settings", "libeufin-bank", "PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.libeufin.bank.settings.libeufin-bank.SUGGESTED_WITHDRAWAL_EXCHANGE": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "default": {"_type": "literalExpression", "text": "\"https://exchange.demo.taler.net/\""}, "description": "Exchange that is suggested to wallets when withdrawing.\n\nNote that, in order for withdrawals to work, your libeufin-bank\nmust be able to communicate with and send money etc. to the bank\nat which the exchange used for withdrawals has its bank account.\n\nIf you also have your own bank and taler exchange network, you\nprobably want to set one of your exchange's url here instead of\nthe demo exchange.\n\nThis setting must always be set in order for the Android app to\nnot crash during the withdrawal process but the exchange to be\nused can always be changed in the app.\n", "loc": ["services", "libeufin", "bank", "settings", "libeufin-bank", "SUGGESTED_WITHDRAWAL_EXCHANGE"], "readOnly": false, "type": "string"}, "services.libeufin.bank.settings.libeufin-bankdb-postgres.CONFIG": {"declarations": ["nixos/modules/services/finance/libeufin/bank.nix"], "description": "The database connection string for the libeufin-bank database.\n", "loc": ["services", "libeufin", "bank", "settings", "libeufin-bankdb-postgres", "CONFIG"], "readOnly": false, "type": "string"}, "services.libeufin.nexus.createLocalDatabase": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic creation of a local postgres database.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libeufin", "nexus", "createLocalDatabase"], "readOnly": false, "type": "boolean"}, "services.libeufin.nexus.debug": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable debug logging.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libeufin", "nexus", "debug"], "readOnly": false, "type": "boolean"}, "services.libeufin.nexus.enable": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable libeufin core banking system and web interface.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libeufin", "nexus", "enable"], "readOnly": false, "type": "boolean"}, "services.libeufin.nexus.openFirewall": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall", "loc": ["services", "libeufin", "nexus", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.libeufin.nexus.package": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "pkgs.libeufin"}, "description": "The libeufin package to use.", "loc": ["services", "libeufin", "nexus", "package"], "readOnly": false, "type": "package"}, "services.libeufin.nexus.settings": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "Configuration options for the libeufin nexus config file.\n\nFor a list of all possible options, please see the man page [`libeufin-nexus.conf(5)`](https://docs.taler.net/manpages/libeufin-nexus.conf.5.html)\n", "loc": ["services", "libeufin", "nexus", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.libeufin.nexus.settings.libeufin-nexusdb-postgres.CONFIG": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "The database connection string for the libeufin-nexus database.\n", "loc": ["services", "libeufin", "nexus", "settings", "libeufin-nexusdb-postgres", "CONFIG"], "readOnly": false, "type": "string"}, "services.libeufin.nexus.settings.nexus-ebics.BANK_DIALECT": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "Name of the following combination: EBICS version and ISO20022\nrecommendations that Nexus would honor in the communication with the\nbank.\n\nCurrently only the \"postfinance\" or \"gls\" value is supported.\n", "example": {"_type": "literalExpression", "text": "\"postfinance\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "BANK_DIALECT"], "readOnly": false, "type": "one of \"postfinance\", \"gls\""}, "services.libeufin.nexus.settings.nexus-ebics.BANK_PUBLIC_KEYS_FILE": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/libeufin-nexus/bank-ebics-keys.json\""}, "description": "Filesystem location where Nexus should store the bank public keys.\n", "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "BANK_PUBLIC_KEYS_FILE"], "readOnly": false, "type": "absolute path"}, "services.libeufin.nexus.settings.nexus-ebics.BIC": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "BIC of the bank account that is associated with the EBICS subscriber.", "example": {"_type": "literalExpression", "text": "\"POFICHBEXXX\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "BIC"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-ebics.CLIENT_PRIVATE_KEYS_FILE": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/libeufin-nexus/client-ebics-keys.json\""}, "description": "Filesystem location where Nexus should store the subscriber private keys.\n", "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "CLIENT_PRIVATE_KEYS_FILE"], "readOnly": false, "type": "absolute path"}, "services.libeufin.nexus.settings.nexus-ebics.CURRENCY": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "Name of the fiat currency.", "example": {"_type": "literalExpression", "text": "\"CHF\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "CURRENCY"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-ebics.HOST_BASE_URL": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "URL of the EBICS server.", "example": {"_type": "literalExpression", "text": "\"https://ebics.postfinance.ch/ebics/ebics.aspx\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "HOST_BASE_URL"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-ebics.HOST_ID": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "Name of the EBICS host.", "example": {"_type": "literalExpression", "text": "\"PFEBICS\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "HOST_ID"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-ebics.IBAN": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "IBAN of the bank account that is associated with the EBICS subscriber.", "example": {"_type": "literalExpression", "text": "\"CH7789144474425692816\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "IBAN"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-ebics.NAME": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "Legal entity that is associated with the EBICS subscriber.", "example": {"_type": "literalExpression", "text": "\"John Smith S.A.\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "NAME"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-ebics.PARTNER_ID": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "Partner ID of the EBICS subscriber.\n\nThis value must be assigned by the bank after having activated a new EBICS subscriber.\n", "example": {"_type": "literalExpression", "text": "\"PFC00563\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "PARTNER_ID"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-ebics.USER_ID": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "description": "User ID of the EBICS subscriber.\n\nThis value must be assigned by the bank after having activated a new EBICS subscriber.\n", "example": {"_type": "literalExpression", "text": "\"PFC00563\""}, "loc": ["services", "libeufin", "nexus", "settings", "nexus-ebics", "USER_ID"], "readOnly": false, "type": "non-empty string"}, "services.libeufin.nexus.settings.nexus-httpd.PORT": {"declarations": ["nixos/modules/services/finance/libeufin/nexus.nix"], "default": {"_type": "literalExpression", "text": "8084"}, "description": "The port on which libeufin-bank should listen.\n", "loc": ["services", "libeufin", "nexus", "settings", "nexus-httpd", "PORT"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.libeufin.settings": {"declarations": ["nixos/modules/services/finance/libeufin/module.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Global configuration options for the libeufin bank system config file.", "loc": ["services", "libeufin", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.libinput.enable": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "config.services.xserver.enable"}, "description": "Whether to enable libinput.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libinput", "enable"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.accelPointsFallback": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the points of the fallback acceleration function. The value must be a list of\nfloating point non-negative numbers. This only applies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "[\n  0.0\n  1.0\n  2.4\n  2.5\n]"}, "loc": ["services", "libinput", "mouse", "accelPointsFallback"], "readOnly": false, "type": "null or (list of (signed integer or floating point number))"}, "services.libinput.mouse.accelPointsMotion": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the points of the (pointer) motion acceleration function. The value must be a\nlist of floating point non-negative numbers. This only applies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "[\n  0.0\n  1.0\n  2.4\n  2.5\n]"}, "loc": ["services", "libinput", "mouse", "accelPointsMotion"], "readOnly": false, "type": "null or (list of (signed integer or floating point number))"}, "services.libinput.mouse.accelPointsScroll": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the points of the scroll acceleration function. The value must be a list of\nfloating point non-negative numbers. This only applies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "[\n  0.0\n  1.0\n  2.4\n  2.5\n]"}, "loc": ["services", "libinput", "mouse", "accelPointsScroll"], "readOnly": false, "type": "null or (list of (signed integer or floating point number))"}, "services.libinput.mouse.accelProfile": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"adaptive\""}, "description": "Sets the pointer acceleration profile to the given profile.\nPermitted values are `adaptive`, `flat`, `custom`.\nNot all devices support this option or all profiles.\nIf a profile is unsupported, the default profile for this is used.\n`flat`: Pointer motion is accelerated by a constant\n(device-specific) factor, depending on the current speed.\n`adaptive`: Pointer acceleration depends on the input speed.\nThis is the default profile for most devices.\n`custom`: Allows the user to define a custom acceleration function.\nTo define custom functions use the accelPoints<Fallback/Motion/Scroll>\nand accelStep<Fallback/Motion/Scroll> options.\n", "example": {"_type": "literalExpression", "text": "\"flat\""}, "loc": ["services", "libinput", "mouse", "accelProfile"], "readOnly": false, "type": "one of \"flat\", \"adaptive\", \"custom\""}, "services.libinput.mouse.accelSpeed": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cursor acceleration (how fast speed increases from minSpeed to maxSpeed).\nThis only applies to the flat or adaptive profile.\n", "example": {"_type": "literalExpression", "text": "\"-0.5\""}, "loc": ["services", "libinput", "mouse", "accelSpeed"], "readOnly": false, "type": "null or string"}, "services.libinput.mouse.accelStepFallback": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the step between the points of the fallback acceleration function. When a step of\n0.0 is provided, libinput's Fallback acceleration function is used. This only applies\nto the custom profile.\n", "example": {"_type": "literalExpression", "text": "0.1"}, "loc": ["services", "libinput", "mouse", "accelStepFallback"], "readOnly": false, "type": "null or signed integer or floating point number"}, "services.libinput.mouse.accelStepMotion": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the step between the points of the (pointer) motion acceleration function. When a\nstep of 0.0 is provided, libinput's Fallback acceleration function is used. This only\napplies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "0.1"}, "loc": ["services", "libinput", "mouse", "accelStepMotion"], "readOnly": false, "type": "null or signed integer or floating point number"}, "services.libinput.mouse.accelStepScroll": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the step between the points of the scroll acceleration function. When a step of\n0.0 is provided, libinput's Fallback acceleration function is used. This only applies\nto the custom profile.\n", "example": {"_type": "literalExpression", "text": "0.1"}, "loc": ["services", "libinput", "mouse", "accelStepScroll"], "readOnly": false, "type": "null or signed integer or floating point number"}, "services.libinput.mouse.additionalOptions": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional options for libinput mouse driver. See\n{manpage}`libinput(4)`\nfor available options.\";\n", "example": {"_type": "literalExpression", "text": "''\n  Option \"DragLockButtons\" \"L1 B1 L2 B2\"\n''"}, "loc": ["services", "libinput", "mouse", "additionalOptions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.libinput.mouse.buttonMapping": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the logical button mapping for this device, see {manpage}`XSetPointerMapping(3)`. The string  must\nbe  a  space-separated  list  of  button mappings in the order of the logical buttons on the\ndevice, starting with button 1.  The default mapping is \"1 2 3 ... 32\". A mapping of 0 deac\u2010\ntivates the button. Multiple buttons can have the same mapping.  Invalid mapping strings are\ndiscarded and the default mapping is used for all buttons.  Buttons  not  specified  in  the\nuser's mapping use the default mapping. See section BUTTON MAPPING for more details.\n", "example": {"_type": "literalExpression", "text": "\"1 6 3 4 5 0 7\""}, "loc": ["services", "libinput", "mouse", "buttonMapping"], "readOnly": false, "type": "null or string"}, "services.libinput.mouse.calibrationMatrix": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A string of 9 space-separated floating point numbers. Sets the calibration matrix to the\n3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi).\n", "example": {"_type": "literalExpression", "text": "\"0.5 0 0 0 0.8 0.1 0 0 1\""}, "loc": ["services", "libinput", "mouse", "calibrationMatrix"], "readOnly": false, "type": "null or string"}, "services.libinput.mouse.clickMethod": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enables a click method. Permitted values are `none`,\n`buttonareas`, `clickfinger`.\nNot all devices support all methods, if an option is unsupported,\nthe default click method for this device is used.\n", "example": {"_type": "literalExpression", "text": "\"buttonareas\""}, "loc": ["services", "libinput", "mouse", "clickMethod"], "readOnly": false, "type": "null or one of \"none\", \"buttonareas\", \"clickfinger\""}, "services.libinput.mouse.dev": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path for mouse device.  Set to `null` to apply to any\nauto-detected mouse.\n", "example": {"_type": "literalExpression", "text": "\"/dev/input/event0\""}, "loc": ["services", "libinput", "mouse", "dev"], "readOnly": false, "type": "null or string"}, "services.libinput.mouse.disableWhileTyping": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable input method while typing.\n", "loc": ["services", "libinput", "mouse", "disableWhileTyping"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.horizontalScrolling": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables or disables horizontal scrolling. When disabled, this driver will discard any\nhorizontal scroll events from libinput. This does not disable horizontal scroll events\nfrom libinput; it merely discards the horizontal axis from any scroll events.\n", "loc": ["services", "libinput", "mouse", "horizontalScrolling"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.leftHanded": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables left-handed button orientation, i.e. swapping left and right buttons.", "loc": ["services", "libinput", "mouse", "leftHanded"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.middleEmulation": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables middle button emulation. When enabled, pressing the left and right buttons\nsimultaneously produces a middle mouse button click.\n", "loc": ["services", "libinput", "mouse", "middleEmulation"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.naturalScrolling": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables or disables natural scrolling behavior.", "loc": ["services", "libinput", "mouse", "naturalScrolling"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.scrollButton": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Designates a button as scroll button. If the ScrollMethod is button and the button is logically\nheld down, x/y axis movement is converted into scroll events.\n", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "libinput", "mouse", "scrollButton"], "readOnly": false, "type": "null or signed integer"}, "services.libinput.mouse.scrollMethod": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"twofinger\""}, "description": "Specify the scrolling method: `twofinger`, `edge`,\n`button`, or `none`\n", "example": {"_type": "literalExpression", "text": "\"edge\""}, "loc": ["services", "libinput", "mouse", "scrollMethod"], "readOnly": false, "type": "one of \"twofinger\", \"edge\", \"button\", \"none\""}, "services.libinput.mouse.sendEventsMode": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"enabled\""}, "description": "Sets the send events mode to `disabled`, `enabled`,\nor `disabled-on-external-mouse`\n", "example": {"_type": "literalExpression", "text": "\"disabled\""}, "loc": ["services", "libinput", "mouse", "sendEventsMode"], "readOnly": false, "type": "one of \"disabled\", \"enabled\", \"disabled-on-external-mouse\""}, "services.libinput.mouse.tapping": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables or disables tap-to-click behavior.\n", "loc": ["services", "libinput", "mouse", "tapping"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.tappingButtonMap": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the button mapping for 1/2/3-finger taps to left/right/middle or left/middle/right, respectively.\n", "loc": ["services", "libinput", "mouse", "tappingButtonMap"], "readOnly": false, "type": "null or one of \"lrm\", \"lmr\""}, "services.libinput.mouse.tappingDragLock": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables or disables drag lock during tapping behavior. When enabled, a finger up during tap-\nand-drag will not immediately release the button. If the finger is set down again within the\ntimeout, the dragging process continues.\n", "loc": ["services", "libinput", "mouse", "tappingDragLock"], "readOnly": false, "type": "boolean"}, "services.libinput.mouse.transformationMatrix": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A string of 9 space-separated floating point numbers. Sets the transformation matrix to\nthe 3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi).\n", "example": {"_type": "literalExpression", "text": "\"0.5 0 0 0 0.8 0.1 0 0 1\""}, "loc": ["services", "libinput", "mouse", "transformationMatrix"], "readOnly": false, "type": "null or string"}, "services.libinput.touchpad.accelPointsFallback": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the points of the fallback acceleration function. The value must be a list of\nfloating point non-negative numbers. This only applies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "[\n  0.0\n  1.0\n  2.4\n  2.5\n]"}, "loc": ["services", "libinput", "touchpad", "accelPointsFallback"], "readOnly": false, "type": "null or (list of (signed integer or floating point number))"}, "services.libinput.touchpad.accelPointsMotion": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the points of the (pointer) motion acceleration function. The value must be a\nlist of floating point non-negative numbers. This only applies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "[\n  0.0\n  1.0\n  2.4\n  2.5\n]"}, "loc": ["services", "libinput", "touchpad", "accelPointsMotion"], "readOnly": false, "type": "null or (list of (signed integer or floating point number))"}, "services.libinput.touchpad.accelPointsScroll": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the points of the scroll acceleration function. The value must be a list of\nfloating point non-negative numbers. This only applies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "[\n  0.0\n  1.0\n  2.4\n  2.5\n]"}, "loc": ["services", "libinput", "touchpad", "accelPointsScroll"], "readOnly": false, "type": "null or (list of (signed integer or floating point number))"}, "services.libinput.touchpad.accelProfile": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"adaptive\""}, "description": "Sets the pointer acceleration profile to the given profile.\nPermitted values are `adaptive`, `flat`, `custom`.\nNot all devices support this option or all profiles.\nIf a profile is unsupported, the default profile for this is used.\n`flat`: Pointer motion is accelerated by a constant\n(device-specific) factor, depending on the current speed.\n`adaptive`: Pointer acceleration depends on the input speed.\nThis is the default profile for most devices.\n`custom`: Allows the user to define a custom acceleration function.\nTo define custom functions use the accelPoints<Fallback/Motion/Scroll>\nand accelStep<Fallback/Motion/Scroll> options.\n", "example": {"_type": "literalExpression", "text": "\"flat\""}, "loc": ["services", "libinput", "touchpad", "accelProfile"], "readOnly": false, "type": "one of \"flat\", \"adaptive\", \"custom\""}, "services.libinput.touchpad.accelSpeed": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Cursor acceleration (how fast speed increases from minSpeed to maxSpeed).\nThis only applies to the flat or adaptive profile.\n", "example": {"_type": "literalExpression", "text": "\"-0.5\""}, "loc": ["services", "libinput", "touchpad", "accelSpeed"], "readOnly": false, "type": "null or string"}, "services.libinput.touchpad.accelStepFallback": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the step between the points of the fallback acceleration function. When a step of\n0.0 is provided, libinput's Fallback acceleration function is used. This only applies\nto the custom profile.\n", "example": {"_type": "literalExpression", "text": "0.1"}, "loc": ["services", "libinput", "touchpad", "accelStepFallback"], "readOnly": false, "type": "null or signed integer or floating point number"}, "services.libinput.touchpad.accelStepMotion": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the step between the points of the (pointer) motion acceleration function. When a\nstep of 0.0 is provided, libinput's Fallback acceleration function is used. This only\napplies to the custom profile.\n", "example": {"_type": "literalExpression", "text": "0.1"}, "loc": ["services", "libinput", "touchpad", "accelStepMotion"], "readOnly": false, "type": "null or signed integer or floating point number"}, "services.libinput.touchpad.accelStepScroll": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the step between the points of the scroll acceleration function. When a step of\n0.0 is provided, libinput's Fallback acceleration function is used. This only applies\nto the custom profile.\n", "example": {"_type": "literalExpression", "text": "0.1"}, "loc": ["services", "libinput", "touchpad", "accelStepScroll"], "readOnly": false, "type": "null or signed integer or floating point number"}, "services.libinput.touchpad.additionalOptions": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional options for libinput touchpad driver. See\n{manpage}`libinput(4)`\nfor available options.\";\n", "example": {"_type": "literalExpression", "text": "''\n  Option \"DragLockButtons\" \"L1 B1 L2 B2\"\n''"}, "loc": ["services", "libinput", "touchpad", "additionalOptions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.libinput.touchpad.buttonMapping": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets the logical button mapping for this device, see {manpage}`XSetPointerMapping(3)`. The string  must\nbe  a  space-separated  list  of  button mappings in the order of the logical buttons on the\ndevice, starting with button 1.  The default mapping is \"1 2 3 ... 32\". A mapping of 0 deac\u2010\ntivates the button. Multiple buttons can have the same mapping.  Invalid mapping strings are\ndiscarded and the default mapping is used for all buttons.  Buttons  not  specified  in  the\nuser's mapping use the default mapping. See section BUTTON MAPPING for more details.\n", "example": {"_type": "literalExpression", "text": "\"1 6 3 4 5 0 7\""}, "loc": ["services", "libinput", "touchpad", "buttonMapping"], "readOnly": false, "type": "null or string"}, "services.libinput.touchpad.calibrationMatrix": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A string of 9 space-separated floating point numbers. Sets the calibration matrix to the\n3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi).\n", "example": {"_type": "literalExpression", "text": "\"0.5 0 0 0 0.8 0.1 0 0 1\""}, "loc": ["services", "libinput", "touchpad", "calibrationMatrix"], "readOnly": false, "type": "null or string"}, "services.libinput.touchpad.clickMethod": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Enables a click method. Permitted values are `none`,\n`buttonareas`, `clickfinger`.\nNot all devices support all methods, if an option is unsupported,\nthe default click method for this device is used.\n", "example": {"_type": "literalExpression", "text": "\"buttonareas\""}, "loc": ["services", "libinput", "touchpad", "clickMethod"], "readOnly": false, "type": "null or one of \"none\", \"buttonareas\", \"clickfinger\""}, "services.libinput.touchpad.dev": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path for touchpad device.  Set to `null` to apply to any\nauto-detected touchpad.\n", "example": {"_type": "literalExpression", "text": "\"/dev/input/event0\""}, "loc": ["services", "libinput", "touchpad", "dev"], "readOnly": false, "type": "null or string"}, "services.libinput.touchpad.disableWhileTyping": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable input method while typing.\n", "loc": ["services", "libinput", "touchpad", "disableWhileTyping"], "readOnly": false, "type": "boolean"}, "services.libinput.touchpad.horizontalScrolling": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables or disables horizontal scrolling. When disabled, this driver will discard any\nhorizontal scroll events from libinput. This does not disable horizontal scroll events\nfrom libinput; it merely discards the horizontal axis from any scroll events.\n", "loc": ["services", "libinput", "touchpad", "horizontalScrolling"], "readOnly": false, "type": "boolean"}, "services.libinput.touchpad.leftHanded": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables left-handed button orientation, i.e. swapping left and right buttons.", "loc": ["services", "libinput", "touchpad", "leftHanded"], "readOnly": false, "type": "boolean"}, "services.libinput.touchpad.middleEmulation": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables middle button emulation. When enabled, pressing the left and right buttons\nsimultaneously produces a middle mouse button click.\n", "loc": ["services", "libinput", "touchpad", "middleEmulation"], "readOnly": false, "type": "boolean"}, "services.libinput.touchpad.naturalScrolling": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables or disables natural scrolling behavior.", "loc": ["services", "libinput", "touchpad", "naturalScrolling"], "readOnly": false, "type": "boolean"}, "services.libinput.touchpad.scrollButton": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Designates a button as scroll button. If the ScrollMethod is button and the button is logically\nheld down, x/y axis movement is converted into scroll events.\n", "example": {"_type": "literalExpression", "text": "1"}, "loc": ["services", "libinput", "touchpad", "scrollButton"], "readOnly": false, "type": "null or signed integer"}, "services.libinput.touchpad.scrollMethod": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"twofinger\""}, "description": "Specify the scrolling method: `twofinger`, `edge`,\n`button`, or `none`\n", "example": {"_type": "literalExpression", "text": "\"edge\""}, "loc": ["services", "libinput", "touchpad", "scrollMethod"], "readOnly": false, "type": "one of \"twofinger\", \"edge\", \"button\", \"none\""}, "services.libinput.touchpad.sendEventsMode": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "\"enabled\""}, "description": "Sets the send events mode to `disabled`, `enabled`,\nor `disabled-on-external-mouse`\n", "example": {"_type": "literalExpression", "text": "\"disabled\""}, "loc": ["services", "libinput", "touchpad", "sendEventsMode"], "readOnly": false, "type": "one of \"disabled\", \"enabled\", \"disabled-on-external-mouse\""}, "services.libinput.touchpad.tapping": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables or disables tap-to-click behavior.\n", "loc": ["services", "libinput", "touchpad", "tapping"], "readOnly": false, "type": "boolean"}, "services.libinput.touchpad.tappingButtonMap": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set the button mapping for 1/2/3-finger taps to left/right/middle or left/middle/right, respectively.\n", "loc": ["services", "libinput", "touchpad", "tappingButtonMap"], "readOnly": false, "type": "null or one of \"lrm\", \"lmr\""}, "services.libinput.touchpad.tappingDragLock": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enables or disables drag lock during tapping behavior. When enabled, a finger up during tap-\nand-drag will not immediately release the button. If the finger is set down again within the\ntimeout, the dragging process continues.\n", "loc": ["services", "libinput", "touchpad", "tappingDragLock"], "readOnly": false, "type": "boolean"}, "services.libinput.touchpad.transformationMatrix": {"declarations": ["nixos/modules/services/hardware/libinput.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A string of 9 space-separated floating point numbers. Sets the transformation matrix to\nthe 3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi).\n", "example": {"_type": "literalExpression", "text": "\"0.5 0 0 0 0.8 0.1 0 0 1\""}, "loc": ["services", "libinput", "touchpad", "transformationMatrix"], "readOnly": false, "type": "null or string"}, "services.librechat.credentials": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables which are loaded from the contents of files at a file paths, mainly used for secrets.\nSee [LibreChat environment variables](https://www.librechat.ai/docs/configuration/dotenv).\nAlternatively you can use `services.librechat.credentialsFile` to define all the variables in a single file.\n", "example": {"_type": "literalExpression", "text": "{\n  CREDS_KEY = \"/run/secrets/creds_key\";\n}"}, "loc": ["services", "librechat", "credentials"], "readOnly": false, "type": "attribute set of absolute path"}, "services.librechat.credentialsFile": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "\"/dev/null\""}, "description": "Path to a file that contains environment variables.\nSee [LibreChat environment variables](https://www.librechat.ai/docs/configuration/dotenv).\n\nExample content of the file:\n```\nCREDS_KEY=6d6deb03cdfb27ea454f6b9ddd42494bdce4af25d50d8aee454ddce583690cc5\n```\n\nAlternatively you can use `services.librechat.credentials` to define the value of each variable in a separate file.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/librechat\""}, "loc": ["services", "librechat", "credentialsFile"], "readOnly": false, "type": "null or absolute path"}, "services.librechat.dataDir": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/librechat\""}, "description": "Absolute path for where the LibreChat server will use as its data directory to store logs, user uploads, and generated images.", "example": {"_type": "literalExpression", "text": "\"/persist/librechat\""}, "loc": ["services", "librechat", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.librechat.enable": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the LibreChat server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "librechat", "enable"], "readOnly": false, "type": "boolean"}, "services.librechat.enableLocalDB": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a local mongodb instance.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "librechat", "enableLocalDB"], "readOnly": false, "type": "boolean"}, "services.librechat.env": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "description": "Environment variables that will be set for the service.\nSee [LibreChat environment variables](https://www.librechat.ai/docs/configuration/dotenv).\n", "example": {"_type": "literalExpression", "text": "{\n  ALLOW_REGISTRATION = true;\n  CONSOLE_JSON_STRING_LENGTH = 255;\n  HOST = \"0.0.0.0\";\n  PORT = 2309;\n}"}, "loc": ["services", "librechat", "env"], "readOnly": false, "type": "open submodule of attribute set of (string or absolute path or (string or signed integer convertible to it) or (string or floating point number convertible to it) or (string or 16 bit unsigned integer; between 0 and 65535 (both inclusive) convertible to it) or (string or boolean convertible to it))"}, "services.librechat.env.LIBRECHAT_LOG_DIR": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "/var/lib/librechat/logs"}, "description": "Logs will be saved into this directory.\nBy default it is relative to `services.librechat.dataDir`.\n", "loc": ["services", "librechat", "env", "LIBRECHAT_LOG_DIR"], "readOnly": false, "type": "string"}, "services.librechat.env.PORT": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "3080"}, "description": "The value that will be passed to the PORT environment variable, telling LibreChat what to listen on.", "example": {"_type": "literalExpression", "text": "2309"}, "loc": ["services", "librechat", "env", "PORT"], "readOnly": false, "type": "string or 16 bit unsigned integer; between 0 and 65535 (both inclusive) convertible to it"}, "services.librechat.group": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "\"librechat\""}, "description": "The group to run the service as.", "example": {"_type": "literalExpression", "text": "\"users\""}, "loc": ["services", "librechat", "group"], "readOnly": false, "type": "string"}, "services.librechat.meilisearch": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "See [LibreChat search feature](https://www.librechat.ai/docs/features/search).\n", "loc": ["services", "librechat", "meilisearch"], "readOnly": false, "type": "submodule"}, "services.librechat.meilisearch.enable": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable and configure Meilisearch locally for Librechat.\nYou will manually need to set `services.meilisearch.masterKeyFile`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "librechat", "meilisearch", "enable"], "readOnly": false, "type": "boolean"}, "services.librechat.openFirewall": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the port in the firewall.\n", "loc": ["services", "librechat", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.librechat.package": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "pkgs.librechat"}, "description": "The librechat package to use.", "loc": ["services", "librechat", "package"], "readOnly": false, "type": "package"}, "services.librechat.settings": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "{\n  version = \"1.2.1\";\n}"}, "description": "A free-form attribute set that will be written to librechat.yaml.\nSee the [LibreChat configuration options](https://www.librechat.ai/docs/configuration/librechat_yaml).\nYou can use environment variables by wrapping them in $\\{}. Take care to escape the \\$ character.\n", "example": {"_type": "literalExpression", "text": "{\n  cache = true;\n  endpoints = {\n    custom = [\n      {\n        apiKey = \"\\${OPENROUTER_KEY}\";\n        baseURL = \"https://openrouter.ai/api/v1\";\n        dropParams = [\n          \"stop\"\n        ];\n        modelDisplayLabel = \"OpenRouter\";\n        models = {\n          default = [\n            \"meta-llama/llama-3-70b-instruct\"\n          ];\n          fetch = true;\n        };\n        name = \"OpenRouter\";\n        titleConvo = true;\n        titleModule = \"meta-llama/llama-3-70b-instruct\";\n      }\n    ];\n  };\n  interface = {\n    privacyPolicy = {\n      externalUrl = \"https://librechat.ai/privacy-policy\";\n      openNewTab = true;\n    };\n  };\n  version = \"1.2.1\";\n}"}, "loc": ["services", "librechat", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.librechat.user": {"declarations": ["nixos/modules/services/web-apps/librechat.nix"], "default": {"_type": "literalExpression", "text": "\"librechat\""}, "description": "The user to run the service as.", "example": {"_type": "literalExpression", "text": "\"alice\""}, "loc": ["services", "librechat", "user"], "readOnly": false, "type": "string"}, "services.librenms.dataDir": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/librenms\""}, "description": "Path of the LibreNMS state directory.\n", "loc": ["services", "librenms", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.librenms.database.createLocally": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to create a local database automatically.\n", "loc": ["services", "librenms", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.librenms.database.database": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"librenms\""}, "description": "Name of the database on the MySQL/MariaDB server.\n", "loc": ["services", "librenms", "database", "database"], "readOnly": false, "type": "string"}, "services.librenms.database.host": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Hostname or IP of the MySQL/MariaDB server.\nIgnored if 'socket' is defined.\n", "loc": ["services", "librenms", "database", "host"], "readOnly": false, "type": "unspecified value"}, "services.librenms.database.passwordFile": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password for the user of the MySQL/MariaDB server.\nMust be readable for the LibreNMS user.\nIgnored if 'socket' is defined, mandatory otherwise.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/mysql.pass\""}, "loc": ["services", "librenms", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.librenms.database.port": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Port of the MySQL/MariaDB server.\nIgnored if 'socket' is defined.\n", "loc": ["services", "librenms", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.librenms.database.socket": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A unix socket to mysql, accessible by the librenms user.\nUseful when mysql is on the localhost.\n", "example": {"_type": "literalExpression", "text": "\"/run/mysqld/mysqld.sock\""}, "loc": ["services", "librenms", "database", "socket"], "readOnly": false, "type": "null or string"}, "services.librenms.database.username": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"librenms\""}, "description": "Name of the user on the MySQL/MariaDB server.\nIgnored if 'socket' is defined.\n", "loc": ["services", "librenms", "database", "username"], "readOnly": false, "type": "string"}, "services.librenms.distributedPoller.distributedBilling": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable distributed billing on this poller.\n\nNote: according to [the docs](https://docs.librenms.org/Extensions/Distributed-Poller/#discovery),\nbilling should only be calculated on a single node per poller group. You can disable billing on\nsome nodes with the `services.librenms.enableLocalBilling` option.\n", "loc": ["services", "librenms", "distributedPoller", "distributedBilling"], "readOnly": false, "type": "boolean"}, "services.librenms.distributedPoller.enable": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configure this LibreNMS instance as a [distributed poller](https://docs.librenms.org/Extensions/Distributed-Poller/).\nThis will disable all web features and just configure the poller features.\nUse the `mysql` database of your main LibreNMS instance in the database settings.\n", "loc": ["services", "librenms", "distributedPoller", "enable"], "readOnly": false, "type": "boolean"}, "services.librenms.distributedPoller.group": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"0\""}, "description": "Group(s) of this poller.\n", "example": {"_type": "literalExpression", "text": "\"1,2\""}, "loc": ["services", "librenms", "distributedPoller", "group"], "readOnly": false, "type": "string"}, "services.librenms.distributedPoller.memcachedHost": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "description": "Hostname or IP of the `memcached` server.\n", "loc": ["services", "librenms", "distributedPoller", "memcachedHost"], "readOnly": false, "type": "string"}, "services.librenms.distributedPoller.memcachedPort": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "11211"}, "description": "Port of the `memcached` server.\n", "loc": ["services", "librenms", "distributedPoller", "memcachedPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.librenms.distributedPoller.name": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Custom name of this poller.\n", "loc": ["services", "librenms", "distributedPoller", "name"], "readOnly": false, "type": "null or string"}, "services.librenms.distributedPoller.rrdcachedHost": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "description": "Hostname or IP of the `rrdcached` server.\n", "loc": ["services", "librenms", "distributedPoller", "rrdcachedHost"], "readOnly": false, "type": "string"}, "services.librenms.distributedPoller.rrdcachedPort": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "42217"}, "description": "Port of the `memcached` server.\n", "loc": ["services", "librenms", "distributedPoller", "rrdcachedPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.librenms.enable": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LibreNMS network monitoring system.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "librenms", "enable"], "readOnly": false, "type": "boolean"}, "services.librenms.enableLocalBilling": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable billing Cron-Jobs on the local instance. Enabled by default, but you may disable it\non some nodes within a distributed poller setup. See [the docs](https://docs.librenms.org/Extensions/Distributed-Poller/#discovery)\nfor more informations about billing with distributed pollers.\n", "loc": ["services", "librenms", "enableLocalBilling"], "readOnly": false, "type": "boolean"}, "services.librenms.enableOneMinutePolling": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables the [1-Minute Polling](https://docs.librenms.org/Support/1-Minute-Polling/).\nChanging this option will automatically convert your existing rrd files.\n", "loc": ["services", "librenms", "enableOneMinutePolling"], "readOnly": false, "type": "boolean"}, "services.librenms.environmentFile": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing env-vars to be substituted into the final config. Useful for secrets.\nDoes not apply to settings defined in `extraConfig`.\n", "loc": ["services", "librenms", "environmentFile"], "readOnly": false, "type": "null or string"}, "services.librenms.extraConfig": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Additional config for LibreNMS that will be appended to the `config.php`. See\n<https://github.com/librenms/librenms/blob/master/misc/config_definitions.json>\nfor possible options. Useful if you want to use PHP-Functions in your config.\n", "loc": ["services", "librenms", "extraConfig"], "readOnly": false, "type": "null or string"}, "services.librenms.finalPackage": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "package"}, "description": "The final package used by the module. This is the package that has all overrides.\n", "loc": ["services", "librenms", "finalPackage"], "readOnly": true, "type": "package"}, "services.librenms.group": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"librenms\""}, "description": "Name of the LibreNMS group.\n", "loc": ["services", "librenms", "group"], "readOnly": false, "type": "string"}, "services.librenms.hostname": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdnOrHostName"}, "description": "The hostname to serve LibreNMS on.\n", "loc": ["services", "librenms", "hostname"], "readOnly": false, "type": "string"}, "services.librenms.logDir": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"/var/log/librenms\""}, "description": "Path of the LibreNMS logging directory.\n", "loc": ["services", "librenms", "logDir"], "readOnly": false, "type": "absolute path"}, "services.librenms.nginx": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "With this option, you can customize the nginx virtualHost settings.\n", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [\n    \"librenms.${config.networking.domain}\"\n  ];\n  # To enable encryption and let let's encrypt take care of certificate\n  forceSSL = true;\n  enableACME = true;\n  # To set the LibreNMS virtualHost as the default virtualHost;\n  default = true;\n}\n"}, "loc": ["services", "librenms", "nginx"], "readOnly": false, "type": "submodule"}, "services.librenms.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "librenms", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.acmeRoot": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "librenms", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.addSSL": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "librenms", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.basicAuth": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "librenms", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.librenms.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "librenms", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.librenms.nginx.default": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "librenms", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.enableACME": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "librenms", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.extraConfig": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "librenms", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.librenms.nginx.forceSSL": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "librenms", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.globalRedirect": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "librenms", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.http2": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "librenms", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.http3": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "librenms", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.http3_hq": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "librenms", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.kTLS": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "librenms", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.listen": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "librenms", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.librenms.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "description": "Listen address.", "loc": ["services", "librenms", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.librenms.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "librenms", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.librenms.nginx.listen.*.port": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "librenms", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.librenms.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "librenms", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "librenms", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.listenAddresses": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "librenms", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.librenms.nginx.locations": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "librenms", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.librenms.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.librenms.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.librenms.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "librenms", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.librenms.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "librenms", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.librenms.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "librenms", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.librenms.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "librenms", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.librenms.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "librenms", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "librenms", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.librenms.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.librenms.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "librenms", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.onlySSL": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "librenms", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.quic": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "librenms", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.redirectCode": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "librenms", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.librenms.nginx.rejectSSL": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "librenms", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.reuseport": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "librenms", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.librenms.nginx.root": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "librenms", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.librenms.nginx.serverAliases": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "librenms", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.librenms.nginx.serverName": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "librenms", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.librenms.nginx.sslCertificate": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "librenms", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.librenms.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "librenms", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.librenms.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "librenms", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.librenms.nginx.useACMEHost": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "librenms", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.librenms.package": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "pkgs.librenms"}, "description": "The librenms package to use.", "loc": ["services", "librenms", "package"], "readOnly": false, "type": "package"}, "services.librenms.phpOptions": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"date.timezone\" = {\n    _type = \"literalExpression\";\n    text = \"config.time.timeZone\";\n  };\n  log_errors = \"on\";\n  memory_limit = {\n    _type = \"literalExpression\";\n    text = \"\\${toString cfg.settings.php_memory_limit}M\";\n  };\n  \"opcache.enable\" = {\n    _type = \"literalExpression\";\n    text = \"1\";\n  };\n  \"opcache.memory_consumption\" = {\n    _type = \"literalExpression\";\n    text = \"256\";\n  };\n  post_max_size = \"100M\";\n  upload_max_filesize = \"100M\";\n  zend_extension = {\n    _type = \"literalExpression\";\n    text = \"opcache\";\n  };\n}"}, "description": "Options for PHP's php.ini file for librenms.\n\nPlease note that this option is _additive_ on purpose while the\nattribute values inside the default are option defaults: that means that\n\n```nix\n{\n  services.librenms.phpOptions.\"opcache.enable\" = 1;\n}\n```\n\nwill override the `php.ini` option `opcache.enable` without discarding the rest of the defaults.\n\nOverriding all of `phpOptions` can be done like this:\n\n```nix\n{\n  services.librenms.phpOptions = lib.mkForce {\n    /* ... */\n  };\n}\n```\n", "loc": ["services", "librenms", "phpOptions"], "readOnly": false, "type": "attribute set of (string or signed integer)"}, "services.librenms.pollerThreads": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "16"}, "description": "Amount of threads of the cron-poller.\n", "loc": ["services", "librenms", "pollerThreads"], "readOnly": false, "type": "signed integer"}, "services.librenms.poolConfig": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the LibreNMS PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "librenms", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.librenms.settings": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attrset of the LibreNMS configuration.\nSee <https://docs.librenms.org/Support/Configuration/> for reference.\nAll possible options are listed [here](https://github.com/librenms/librenms/blob/master/resources/definitions/config_definitions.json).\nSee <https://docs.librenms.org/Extensions/Authentication/> for setting other authentication methods.\n", "example": {"_type": "literalExpression", "text": "{\n  base_url = \"/librenms/\";\n  top_devices = true;\n  top_ports = false;\n}"}, "loc": ["services", "librenms", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.librenms.useDistributedPollers": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables [distributed pollers](https://docs.librenms.org/Extensions/Distributed-Poller/)\nfor this LibreNMS instance. This will enable a local `rrdcached` and `memcached` server.\n\nTo use this feature, make sure to configure your firewall that the distributed pollers\ncan reach the local `mysql`, `rrdcached` and `memcached` ports.\n", "loc": ["services", "librenms", "useDistributedPollers"], "readOnly": false, "type": "boolean"}, "services.librenms.user": {"declarations": ["nixos/modules/services/monitoring/librenms.nix"], "default": {"_type": "literalExpression", "text": "\"librenms\""}, "description": "Name of the LibreNMS user.\n", "loc": ["services", "librenms", "user"], "readOnly": false, "type": "string"}, "services.librespeed.domain": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If not `null`, this will add an entry to `services.librespeed.servers` and\nconfigure librespeed to use TLS.\n", "loc": ["services", "librespeed", "domain"], "readOnly": false, "type": "null or non-empty string"}, "services.librespeed.downloadIPDB": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "!(config.services.librespeed.secrets ? \"ipinfo_api_key\")"}, "description": "Whether to download the IP info database before starting librespeed.\nDisable this if you want to use the Go implementation.\n", "loc": ["services", "librespeed", "downloadIPDB"], "readOnly": false, "type": "boolean"}, "services.librespeed.enable": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LibreSpeed server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "librespeed", "enable"], "readOnly": false, "type": "boolean"}, "services.librespeed.frontend.contactEmail": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "description": "Email address listed in the privacy policy.", "loc": ["services", "librespeed", "frontend", "contactEmail"], "readOnly": false, "type": "string"}, "services.librespeed.frontend.enable": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables the LibreSpeed frontend and adds a nginx virtual host if\nnot explicitly disabled and `services.librespeed.domain` is not `null`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "librespeed", "frontend", "enable"], "readOnly": false, "type": "boolean"}, "services.librespeed.frontend.pageTitle": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "\"LibreSpeed\""}, "description": "Title of the webpage.", "loc": ["services", "librespeed", "frontend", "pageTitle"], "readOnly": false, "type": "string"}, "services.librespeed.frontend.servers": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "description": "LibreSpeed servers that should appear in the server list.", "loc": ["services", "librespeed", "frontend", "servers"], "readOnly": false, "type": "list of (submodule)"}, "services.librespeed.frontend.servers.*.dlURL": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "\"backend/garbage\""}, "description": "URL path to download test on this server.\nAppend `.php` to the default value if the server uses the php implementation.\n", "loc": ["services", "librespeed", "frontend", "servers", "*", "dlURL"], "readOnly": false, "type": "non-empty string"}, "services.librespeed.frontend.servers.*.getIpURL": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "\"backend/getIP\""}, "description": "URL path to IP lookup on this server.\nAppend `.php` to the default value if the server uses the php implementation.\n", "loc": ["services", "librespeed", "frontend", "servers", "*", "getIpURL"], "readOnly": false, "type": "non-empty string"}, "services.librespeed.frontend.servers.*.name": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "description": "Name shown in the server list.", "loc": ["services", "librespeed", "frontend", "servers", "*", "name"], "readOnly": false, "type": "non-empty string"}, "services.librespeed.frontend.servers.*.pingURL": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "\"backend/empty\""}, "description": "URL path to latency/jitter test on this server.\nAppend `.php` to the default value if the server uses the php implementation.\n", "loc": ["services", "librespeed", "frontend", "servers", "*", "pingURL"], "readOnly": false, "type": "non-empty string"}, "services.librespeed.frontend.servers.*.server": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "description": "URL to the server. You may use `//` instead of `http://` or `https://`.", "loc": ["services", "librespeed", "frontend", "servers", "*", "server"], "readOnly": false, "type": "non-empty string"}, "services.librespeed.frontend.servers.*.ulURL": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "\"backend/empty\""}, "description": "URL path to upload test on this server.\nAppend `.php` to the default value if the server uses the php implementation.\n", "loc": ["services", "librespeed", "frontend", "servers", "*", "ulURL"], "readOnly": false, "type": "non-empty string"}, "services.librespeed.frontend.settings": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "{\n  telemetry_level = \"basic\";\n}"}, "description": "Override default settings of the speedtest web client.\nSee [speedtest_worker.js][link] for a list of possible values.\n\n[link]: https://github.com/librespeed/speedtest/blob/master/speedtest_worker.js#L39\n", "loc": ["services", "librespeed", "frontend", "settings"], "readOnly": false, "type": "null or (open submodule of attribute set of (boolean or signed integer or string or floating point number))"}, "services.librespeed.frontend.useNginx": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "config.services.librespeed.domain != null"}, "description": "Configure nginx for the LibreSpeed frontend.\nThis will only create a virtual host for the frontend and won't proxy all requests because\nthe reported upload and download speeds are inaccurate if proxied.\n", "loc": ["services", "librespeed", "frontend", "useNginx"], "readOnly": false, "type": "boolean"}, "services.librespeed.package": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "pkgs.librespeed-rust"}, "description": "The librespeed-rust package to use.", "loc": ["services", "librespeed", "package"], "readOnly": false, "type": "package"}, "services.librespeed.secrets": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of filesystem paths.\nThe contents of the specified paths will be read at service start time and merged with the attributes provided in `settings`.\n", "loc": ["services", "librespeed", "secrets"], "readOnly": false, "type": "null or (attribute set of absolute path not in the Nix store)"}, "services.librespeed.settings": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "{\n  assets_path = if (config.services.librespeed.frontend.enable && !config.services.librespeed.frontend.useNginx) then\n    librespeedAssets\n  else\n    pkgs.writeTextDir \"index.html\" \"\";\n\n  bind_address = \"::\";\n  listen_port = 8989;\n  base_url = \"backend\";\n  worker_threads = \"auto\";\n\n  database_type = \"none\";\n  database_file = \"/var/lib/librespeed/speedtest.sqlite\";\n\n  # librespeed-rust will fail to start if the following config parameters are omitted.\n  ipinfo_api_key = \"\";\n  stats_password = \"\";\n\n  redact_ip_addresses = false;\n  result_image_theme = \"light\";\n\n  enable_tls = config.services.librespeed.tlsCertificate != null && config.services.librespeed.tlsKey != null;\n  tls_cert_file = lib.optionalString (config.services.librespeed.tlsCertificate != null) \"/run/credentials/librespeed.service/cert.pem\";\n  tls_key_file = lib.optionalString (config.services.librespeed.tlsKey != null) \"/run/credentials/librespeed.service/key.pem\";\n}\n"}, "description": "LibreSpeed configuration written as Nix expression.\nAll values set to `null` will be excluded from the evaluated config.\nThis is useful if you want to omit certain defaults when using a different LibreSpeed implementation.\n\nSee [github.com/librespeed](https://github.com/librespeed/speedtest-rust) for configuration help.\n", "loc": ["services", "librespeed", "settings"], "readOnly": false, "type": "null or (attribute set of (null or boolean or signed integer or string or package))"}, "services.librespeed.tlsCertificate": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "lib.optionalString (config.services.librespeed.useACMEHost != null) \"${config.security.acme.certs.${config.services.librespeed.useACMEHost}.directory}/cert.pem\""}, "description": "TLS certificate to use. Use together with `tlsKey`.", "loc": ["services", "librespeed", "tlsCertificate"], "readOnly": false, "type": "null or non-empty string"}, "services.librespeed.tlsKey": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "lib.optionalString (config.services.librespeed.useACMEHost != null) \"${config.security.acme.certs.${config.services.librespeed.useACMEHost}.directory}/key.pem\""}, "description": "TLS private key to use. Use together with `tlsCertificate`.", "loc": ["services", "librespeed", "tlsKey"], "readOnly": false, "type": "null or non-empty string"}, "services.librespeed.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/librespeed.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Use a certificate generated by the NixOS ACME module for the given host.\nNote that this will not generate a new certificate - you will need to do so with `security.acme.certs`.\n", "example": {"_type": "literalExpression", "text": "\"speed.example.com\""}, "loc": ["services", "librespeed", "useACMEHost"], "readOnly": false, "type": "null or non-empty string"}, "services.libreswan.configSetup": {"declarations": ["nixos/modules/services/networking/libreswan.nix"], "default": {"_type": "literalExpression", "text": "''\n  protostack=netkey\n  virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10\n''"}, "description": "Options to go in the 'config setup' section of the Libreswan IPsec configuration", "example": {"_type": "literalExpression", "text": "''\n  secretsfile=/root/ipsec.secrets\n  protostack=netkey\n  virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10\n''"}, "loc": ["services", "libreswan", "configSetup"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.libreswan.connections": {"declarations": ["nixos/modules/services/networking/libreswan.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of connections to define for the Libreswan IPsec service", "example": {"_type": "literalExpression", "text": "{ myconnection = ''\n    auto=add\n    left=%defaultroute\n    leftid=@user\n\n    right=my.vpn.com\n\n    ikev2=no\n    ikelifetime=8h\n  '';\n}\n"}, "loc": ["services", "libreswan", "connections"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.libreswan.disableRedirects": {"declarations": ["nixos/modules/services/networking/libreswan.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to disable send and accept redirects for all network interfaces.\nSee the Libreswan [\nFAQ](https://libreswan.org/wiki/FAQ#Why_is_it_recommended_to_disable_send_redirects_in_.2Fproc.2Fsys.2Fnet_.3F) page for why this is recommended.\n", "loc": ["services", "libreswan", "disableRedirects"], "readOnly": false, "type": "boolean"}, "services.libreswan.enable": {"declarations": ["nixos/modules/services/networking/libreswan.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Libreswan IPsec service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libreswan", "enable"], "readOnly": false, "type": "boolean"}, "services.libreswan.policies": {"declarations": ["nixos/modules/services/networking/libreswan.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "A set of policies to apply to the IPsec connections.\n\n::: {.note}\nThe policy name must match the one of connection it needs to apply to.\n:::\n", "example": {"_type": "literalExpression", "text": "{ private-or-clear = ''\n    # Attempt opportunistic IPsec for the entire Internet\n    0.0.0.0/0\n    ::/0\n  '';\n}\n"}, "loc": ["services", "libreswan", "policies"], "readOnly": false, "type": "attribute set of strings concatenated with \"\\n\""}, "services.libretranslate.configureNginx": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configure nginx as a reverse proxy for LibreTranslate.", "loc": ["services", "libretranslate", "configureNginx"], "readOnly": false, "type": "boolean"}, "services.libretranslate.dataDir": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/libretranslate\""}, "description": "The data directory.", "example": {"_type": "literalExpression", "text": "\"/srv/data/libretranslate\""}, "loc": ["services", "libretranslate", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.libretranslate.disableWebUI": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable the Web UI.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libretranslate", "disableWebUI"], "readOnly": false, "type": "boolean"}, "services.libretranslate.domain": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The domain serving your LibreTranslate instance.\nRequired for configure nginx as a reverse proxy.\n", "example": {"_type": "literalExpression", "text": "\"libretranslate.example.com\""}, "loc": ["services", "libretranslate", "domain"], "readOnly": false, "type": "string"}, "services.libretranslate.enable": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LibreTranslate service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libretranslate", "enable"], "readOnly": false, "type": "boolean"}, "services.libretranslate.enableApiKeys": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the API keys database.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libretranslate", "enableApiKeys"], "readOnly": false, "type": "boolean"}, "services.libretranslate.extraArgs": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra arguments passed to the LibreTranslate.", "example": {"_type": "literalExpression", "text": "{\n  debug = true;\n  disable-files-translation = true;\n  url-prefix = \"translate\";\n}"}, "loc": ["services", "libretranslate", "extraArgs"], "readOnly": false, "type": "attribute set of (null or boolean or string or signed integer or list of (boolean or string or signed integer))"}, "services.libretranslate.group": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "\"libretranslate\""}, "description": "Group account under which libretranslate runs.", "loc": ["services", "libretranslate", "group"], "readOnly": false, "type": "string"}, "services.libretranslate.host": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The address the application should listen on.", "loc": ["services", "libretranslate", "host"], "readOnly": false, "type": "string"}, "services.libretranslate.package": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "pkgs.libretranslate"}, "description": "The libretranslate package to use.", "loc": ["services", "libretranslate", "package"], "readOnly": false, "type": "package"}, "services.libretranslate.port": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "The the application should listen on.", "loc": ["services", "libretranslate", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.libretranslate.threads": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Set number of threads.", "example": {"_type": "literalExpression", "text": "8"}, "loc": ["services", "libretranslate", "threads"], "readOnly": false, "type": "null or (positive integer, meaning >0)"}, "services.libretranslate.updateModels": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Update language models at startup", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libretranslate", "updateModels"], "readOnly": false, "type": "boolean"}, "services.libretranslate.user": {"declarations": ["nixos/modules/services/web-apps/libretranslate.nix"], "default": {"_type": "literalExpression", "text": "\"libretranslate\""}, "description": "User account under which libretranslate runs.", "loc": ["services", "libretranslate", "user"], "readOnly": false, "type": "string"}, "services.libvirtd.autoSnapshot.calendar": {"declarations": ["nixos/modules/services/backup/libvirtd-autosnapshot.nix"], "default": {"_type": "literalExpression", "text": "\"04:15:00\""}, "description": "When to create snapshots (systemd calendar format).\nDefault is 4:15 AM.\n", "loc": ["services", "libvirtd", "autoSnapshot", "calendar"], "readOnly": false, "type": "string"}, "services.libvirtd.autoSnapshot.enable": {"declarations": ["nixos/modules/services/backup/libvirtd-autosnapshot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LibVirt VM snapshots.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "libvirtd", "autoSnapshot", "enable"], "readOnly": false, "type": "boolean"}, "services.libvirtd.autoSnapshot.keep": {"declarations": ["nixos/modules/services/backup/libvirtd-autosnapshot.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "Default number of snapshots to keep for VMs that don't specify a keep value.", "loc": ["services", "libvirtd", "autoSnapshot", "keep"], "readOnly": false, "type": "signed integer"}, "services.libvirtd.autoSnapshot.prefix": {"declarations": ["nixos/modules/services/backup/libvirtd-autosnapshot.nix"], "default": {"_type": "literalExpression", "text": "\"autosnap\""}, "description": "Prefix for automatic snapshot names.\nThis is used to identify and manage automatic snapshots\nseparately from manual ones.\n", "loc": ["services", "libvirtd", "autoSnapshot", "prefix"], "readOnly": false, "type": "string"}, "services.libvirtd.autoSnapshot.snapshotType": {"declarations": ["nixos/modules/services/backup/libvirtd-autosnapshot.nix"], "default": {"_type": "literalExpression", "text": "\"internal\""}, "description": "Type of snapshot to create (internal or external).", "loc": ["services", "libvirtd", "autoSnapshot", "snapshotType"], "readOnly": false, "type": "one of \"internal\", \"external\""}, "services.libvirtd.autoSnapshot.vms": {"declarations": ["nixos/modules/services/backup/libvirtd-autosnapshot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If specified only the list of VMs will be snapshotted else all existing one. Each entry can be either:\n- A string (VM name, uses default settings)\n- An attribute set with VM configuration\n", "example": {"_type": "literalExpression", "text": "[\n  \"myvm1\"              # Uses defaults\n  {\n    name = \"myvm2\";\n    keep = 30;         # Override retention\n  }\n]\n"}, "loc": ["services", "libvirtd", "autoSnapshot", "vms"], "readOnly": false, "type": "null or (list of (string or (submodule)))"}, "services.lidarr.dataDir": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/lidarr/.config/Lidarr\""}, "description": "The directory where Lidarr stores its data files.", "loc": ["services", "lidarr", "dataDir"], "readOnly": false, "type": "string"}, "services.lidarr.enable": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Lidarr, a Usenet/BitTorrent music downloader.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lidarr", "enable"], "readOnly": false, "type": "boolean"}, "services.lidarr.environmentFiles": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Environment file to pass secret configuration values.\nEach line must follow the `LIDARR__SECTION__KEY=value` pattern.\nPlease consult the documentation at the [wiki](https://wiki.servarr.com/useful-tools#using-environment-variables-for-config).\n", "loc": ["services", "lidarr", "environmentFiles"], "readOnly": false, "type": "list of absolute path"}, "services.lidarr.group": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "\"lidarr\""}, "description": "Group under which Lidarr runs.\n", "loc": ["services", "lidarr", "group"], "readOnly": false, "type": "string"}, "services.lidarr.openFirewall": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for Lidarr\n", "loc": ["services", "lidarr", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.lidarr.package": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lidarr"}, "description": "The lidarr package to use.", "loc": ["services", "lidarr", "package"], "readOnly": false, "type": "package"}, "services.lidarr.settings": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of arbitrary config options.\nPlease consult the documentation at the [wiki](https://wiki.servarr.com/useful-tools#using-environment-variables-for-config).\n\nWARNING: this configuration is stored in the world-readable Nix store!\nFor secrets use [](#opt-services.lidarr.environmentFiles).\n", "example": {"_type": "literalExpression", "text": "{\n  update.mechanism = \"internal\";\n  server = {\n    urlbase = \"localhost\";\n    port = 8686;\n    bindaddress = \"*\";\n  };\n}\n"}, "loc": ["services", "lidarr", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.lidarr.settings.log.analyticsEnabled": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Send Anonymous Usage Data", "loc": ["services", "lidarr", "settings", "log", "analyticsEnabled"], "readOnly": false, "type": "boolean"}, "services.lidarr.settings.server.port": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "8686"}, "description": "Port Number", "loc": ["services", "lidarr", "settings", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lidarr.settings.update.automatically": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Automatically download and install updates.", "loc": ["services", "lidarr", "settings", "update", "automatically"], "readOnly": false, "type": "boolean"}, "services.lidarr.settings.update.mechanism": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "\"external\""}, "description": "which update mechanism to use", "loc": ["services", "lidarr", "settings", "update", "mechanism"], "readOnly": false, "type": "null or one of \"external\", \"builtIn\", \"script\""}, "services.lidarr.user": {"declarations": ["nixos/modules/services/misc/servarr/lidarr.nix"], "default": {"_type": "literalExpression", "text": "\"lidarr\""}, "description": "User account under which Lidarr runs.\n", "loc": ["services", "lidarr", "user"], "readOnly": false, "type": "string"}, "services.lifecycled.awsRegion": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The region used for accessing AWS services.\n", "loc": ["services", "lifecycled", "awsRegion"], "readOnly": false, "type": "null or string"}, "services.lifecycled.cloudwatchGroup": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Write logs to a specific Cloudwatch Logs group.\n", "loc": ["services", "lifecycled", "cloudwatchGroup"], "readOnly": false, "type": "null or string"}, "services.lifecycled.cloudwatchStream": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Write logs to a specific Cloudwatch Logs stream. Defaults to the instance ID.\n", "loc": ["services", "lifecycled", "cloudwatchStream"], "readOnly": false, "type": "null or string"}, "services.lifecycled.debug": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable debugging information.\n", "loc": ["services", "lifecycled", "debug"], "readOnly": false, "type": "boolean"}, "services.lifecycled.enable": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lifecycled, a daemon for responding to AWS AutoScaling Lifecycle Hooks.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lifecycled", "enable"], "readOnly": false, "type": "boolean"}, "services.lifecycled.handler": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "description": "The script to invoke to handle events.\n", "loc": ["services", "lifecycled", "handler"], "readOnly": false, "type": "absolute path"}, "services.lifecycled.instanceId": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The instance ID to listen for events for.\n", "loc": ["services", "lifecycled", "instanceId"], "readOnly": false, "type": "null or string"}, "services.lifecycled.json": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable JSON logging.\n", "loc": ["services", "lifecycled", "json"], "readOnly": false, "type": "boolean"}, "services.lifecycled.noSpot": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable the spot termination listener.\n", "loc": ["services", "lifecycled", "noSpot"], "readOnly": false, "type": "boolean"}, "services.lifecycled.queueCleaner.enable": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lifecycled-queue-cleaner.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lifecycled", "queueCleaner", "enable"], "readOnly": false, "type": "boolean"}, "services.lifecycled.queueCleaner.frequency": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "\"hourly\""}, "description": "How often to trigger the queue cleaner.\n\nNOTE: This string should be a valid value for a systemd\ntimer's `OnCalendar` configuration. See\n{manpage}`systemd.timer(5)`\nfor more information.\n", "loc": ["services", "lifecycled", "queueCleaner", "frequency"], "readOnly": false, "type": "string"}, "services.lifecycled.queueCleaner.parallel": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "20"}, "description": "The number of parallel deletes to run.\n", "loc": ["services", "lifecycled", "queueCleaner", "parallel"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.lifecycled.snsTopic": {"declarations": ["nixos/modules/services/misc/lifecycled.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The SNS topic that receives events.\n", "loc": ["services", "lifecycled", "snsTopic"], "readOnly": false, "type": "null or string"}, "services.lighthouse.beacon": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Beacon node", "loc": ["services", "lighthouse", "beacon"], "readOnly": false, "type": "submodule"}, "services.lighthouse.beacon.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Listen address of Beacon node.\n", "loc": ["services", "lighthouse", "beacon", "address"], "readOnly": false, "type": "string"}, "services.lighthouse.beacon.dataDir": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/lighthouse-beacon\""}, "description": "Directory where data will be stored. Each chain will be stored under it's own specific subdirectory.\n", "loc": ["services", "lighthouse", "beacon", "dataDir"], "readOnly": false, "type": "string"}, "services.lighthouse.beacon.disableDepositContractSync": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Explicitly disables syncing of deposit logs from the execution node.\nThis overrides any previous option that depends on it.\nUseful if you intend to run a non-validating beacon node.\n", "loc": ["services", "lighthouse", "beacon", "disableDepositContractSync"], "readOnly": false, "type": "boolean"}, "services.lighthouse.beacon.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Lightouse Beacon node.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lighthouse", "beacon", "enable"], "readOnly": false, "type": "boolean"}, "services.lighthouse.beacon.execution.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address for the execution layer.\n", "loc": ["services", "lighthouse", "beacon", "execution", "address"], "readOnly": false, "type": "string"}, "services.lighthouse.beacon.execution.jwtPath": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Path for the jwt secret required to connect to the execution layer.\n", "loc": ["services", "lighthouse", "beacon", "execution", "jwtPath"], "readOnly": false, "type": "string"}, "services.lighthouse.beacon.execution.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "8551"}, "description": "Port number the Beacon node will be listening on for the execution layer.\n", "loc": ["services", "lighthouse", "beacon", "execution", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lighthouse.beacon.extraArgs": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional arguments passed to the lighthouse beacon command.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "lighthouse", "beacon", "extraArgs"], "readOnly": false, "type": "string"}, "services.lighthouse.beacon.http.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address of Beacon node RPC service.\n", "loc": ["services", "lighthouse", "beacon", "http", "address"], "readOnly": false, "type": "string"}, "services.lighthouse.beacon.http.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Beacon node http api.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lighthouse", "beacon", "http", "enable"], "readOnly": false, "type": "boolean"}, "services.lighthouse.beacon.http.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "5052"}, "description": "Port number of Beacon node RPC service.\n", "loc": ["services", "lighthouse", "beacon", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lighthouse.beacon.metrics.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address of Beacon node metrics service.\n", "loc": ["services", "lighthouse", "beacon", "metrics", "address"], "readOnly": false, "type": "string"}, "services.lighthouse.beacon.metrics.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Beacon node prometheus metrics.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lighthouse", "beacon", "metrics", "enable"], "readOnly": false, "type": "boolean"}, "services.lighthouse.beacon.metrics.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "5054"}, "description": "Port number of Beacon node metrics service.\n", "loc": ["services", "lighthouse", "beacon", "metrics", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lighthouse.beacon.openFirewall": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the port in the firewall\n", "loc": ["services", "lighthouse", "beacon", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.lighthouse.beacon.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "9000"}, "description": "Port number the Beacon node will be listening on.\n", "loc": ["services", "lighthouse", "beacon", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lighthouse.extraArgs": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional arguments passed to every lighthouse command.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "lighthouse", "extraArgs"], "readOnly": false, "type": "string"}, "services.lighthouse.network": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"mainnet\""}, "description": "The network to connect to. Mainnet is the default ethereum network.\n", "loc": ["services", "lighthouse", "network"], "readOnly": false, "type": "one of \"mainnet\", \"gnosis\", \"chiado\", \"sepolia\", \"holesky\""}, "services.lighthouse.package": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lighthouse"}, "description": "The lighthouse package to use.", "loc": ["services", "lighthouse", "package"], "readOnly": false, "type": "package"}, "services.lighthouse.validator": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Validator node", "loc": ["services", "lighthouse", "validator"], "readOnly": false, "type": "submodule"}, "services.lighthouse.validator.beaconNodes": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"http://localhost:5052\"\n]"}, "description": "Beacon nodes to connect to.\n", "loc": ["services", "lighthouse", "validator", "beaconNodes"], "readOnly": false, "type": "list of string"}, "services.lighthouse.validator.dataDir": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/lighthouse-validator\""}, "description": "Directory where data will be stored. Each chain will be stored under it's own specific subdirectory.\n", "loc": ["services", "lighthouse", "validator", "dataDir"], "readOnly": false, "type": "string"}, "services.lighthouse.validator.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Lightouse Validator node.", "loc": ["services", "lighthouse", "validator", "enable"], "readOnly": false, "type": "boolean"}, "services.lighthouse.validator.extraArgs": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional arguments passed to the lighthouse validator command.\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "lighthouse", "validator", "extraArgs"], "readOnly": false, "type": "string"}, "services.lighthouse.validator.metrics.address": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listen address of Validator node metrics service.\n", "loc": ["services", "lighthouse", "validator", "metrics", "address"], "readOnly": false, "type": "string"}, "services.lighthouse.validator.metrics.enable": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Validator node prometheus metrics.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lighthouse", "validator", "metrics", "enable"], "readOnly": false, "type": "boolean"}, "services.lighthouse.validator.metrics.port": {"declarations": ["nixos/modules/services/blockchain/ethereum/lighthouse.nix"], "default": {"_type": "literalExpression", "text": "5056"}, "description": "Port number of Validator node metrics service.\n", "loc": ["services", "lighthouse", "validator", "metrics", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lighttpd.cgit.configText": {"declarations": ["nixos/modules/services/web-servers/lighttpd/cgit.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim contents of the cgit runtime configuration file. Documentation\n(with cgitrc example file) is available in \"man cgitrc\". Or online:\n<http://git.zx2c4.com/cgit/tree/cgitrc.5.txt>\n", "example": {"_type": "literalExpression", "text": "''\n  source-filter=${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py\n  about-filter=${pkgs.cgit}/lib/cgit/filters/about-formatting.sh\n  cache-size=1000\n  scan-path=/srv/git\n''\n"}, "loc": ["services", "lighttpd", "cgit", "configText"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.lighttpd.cgit.enable": {"declarations": ["nixos/modules/services/web-servers/lighttpd/cgit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, enable cgit (fast web interface for git repositories) as a\nsub-service in lighttpd.\n", "loc": ["services", "lighttpd", "cgit", "enable"], "readOnly": false, "type": "boolean"}, "services.lighttpd.cgit.subdir": {"declarations": ["nixos/modules/services/web-servers/lighttpd/cgit.nix"], "default": {"_type": "literalExpression", "text": "\"cgit\""}, "description": "The subdirectory in which to serve cgit. The web application will be\naccessible at http://yourserver/${subdir}\n", "example": {"_type": "literalExpression", "text": "\"\""}, "loc": ["services", "lighttpd", "cgit", "subdir"], "readOnly": false, "type": "string"}, "services.lighttpd.collectd.collectionCgi": {"declarations": ["nixos/modules/services/web-servers/lighttpd/collectd.nix"], "default": {"_type": "literalMD", "text": "`config.services.collectd.package` configured for lighttpd\n"}, "description": "Path to collection.cgi script from (collectd sources)/contrib/collection.cgi\nThis option allows to use a customized version\n", "loc": ["services", "lighttpd", "collectd", "collectionCgi"], "readOnly": false, "type": "absolute path"}, "services.lighttpd.collectd.enable": {"declarations": ["nixos/modules/services/web-servers/lighttpd/collectd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable collectd subservice accessible at http://yourserver/collectd.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lighttpd", "collectd", "enable"], "readOnly": false, "type": "boolean"}, "services.lighttpd.configText": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Overridable config file contents to use for lighttpd. By default, use\nthe contents automatically generated by NixOS.\n", "example": {"_type": "literalExpression", "text": "\"...verbatim config file contents...\""}, "loc": ["services", "lighttpd", "configText"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.lighttpd.document-root": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"/srv/www\""}, "description": "Document-root of the web server. Must be readable by the \"lighttpd\" user.\n", "loc": ["services", "lighttpd", "document-root"], "readOnly": false, "type": "absolute path"}, "services.lighttpd.enable": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable the lighttpd web server.\n", "loc": ["services", "lighttpd", "enable"], "readOnly": false, "type": "boolean"}, "services.lighttpd.enableModules": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of lighttpd modules to enable. Sub-services take care of\nenabling modules as needed, so this option is mainly for when you\nwant to add custom stuff to\n{option}`services.lighttpd.extraConfig` that depends on a\ncertain module.\n", "example": {"_type": "literalExpression", "text": "[\n  \"mod_cgi\"\n  \"mod_status\"\n]"}, "loc": ["services", "lighttpd", "enableModules"], "readOnly": false, "type": "list of string"}, "services.lighttpd.enableUpstreamMimeTypes": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to include the list of mime types bundled with lighttpd\n(upstream). If you disable this, no mime types will be added by\nNixOS and you will have to add your own mime types in\n{option}`services.lighttpd.extraConfig`.\n", "loc": ["services", "lighttpd", "enableUpstreamMimeTypes"], "readOnly": false, "type": "boolean"}, "services.lighttpd.extraConfig": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These configuration lines will be appended to the generated lighttpd\nconfig file. Note that this mechanism does not work when the manual\n{option}`configText` option is used.\n", "loc": ["services", "lighttpd", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.lighttpd.gitweb.enable": {"declarations": ["nixos/modules/services/web-servers/lighttpd/gitweb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, enable gitweb in lighttpd. Access it at http://yourserver/gitweb\n", "loc": ["services", "lighttpd", "gitweb", "enable"], "readOnly": false, "type": "boolean"}, "services.lighttpd.mod_status": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Show server status overview at /server-status, statistics at\n/server-statistics and list of loaded modules at /server-config.\n", "loc": ["services", "lighttpd", "mod_status"], "readOnly": false, "type": "boolean"}, "services.lighttpd.mod_userdir": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, requests in the form /~user/page.html are rewritten to take\nthe file public_html/page.html from the home directory of the user.\n", "loc": ["services", "lighttpd", "mod_userdir"], "readOnly": false, "type": "boolean"}, "services.lighttpd.package": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lighttpd"}, "description": "The lighttpd package to use.", "loc": ["services", "lighttpd", "package"], "readOnly": false, "type": "package"}, "services.lighttpd.port": {"declarations": ["nixos/modules/services/web-servers/lighttpd/default.nix"], "default": {"_type": "literalExpression", "text": "80"}, "description": "TCP port number for lighttpd to bind to.\n", "loc": ["services", "lighttpd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.limesurvey.config": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "LimeSurvey configuration. Refer to\n<https://manual.limesurvey.org/Optional_settings>\nfor details on supported values.\n", "loc": ["services", "limesurvey", "config"], "readOnly": false, "type": "limesurvey config type (str, int, bool or attribute set thereof)"}, "services.limesurvey.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.\nThis currently only applies if database type \"mysql\" is selected.\n", "loc": ["services", "limesurvey", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.limesurvey.database.dbEngine": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"InnoDB\""}, "description": "Database storage engine to use.", "loc": ["services", "limesurvey", "database", "dbEngine"], "readOnly": false, "type": "one of \"MyISAM\", \"InnoDB\""}, "services.limesurvey.database.host": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host address.", "loc": ["services", "limesurvey", "database", "host"], "readOnly": false, "type": "string"}, "services.limesurvey.database.name": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"limesurvey\""}, "description": "Database name.", "loc": ["services", "limesurvey", "database", "name"], "readOnly": false, "type": "string"}, "services.limesurvey.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/limesurvey-dbpassword\""}, "loc": ["services", "limesurvey", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.database.port": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port.", "loc": ["services", "limesurvey", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.limesurvey.database.socket": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "/run/mysqld/mysqld.sock"}, "description": "Path to the unix socket file to use for authentication.", "loc": ["services", "limesurvey", "database", "socket"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.database.type": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"mysql\""}, "description": "Database engine to use.", "example": {"_type": "literalExpression", "text": "\"pgsql\""}, "loc": ["services", "limesurvey", "database", "type"], "readOnly": false, "type": "one of \"mysql\", \"pgsql\", \"odbc\", \"mssql\""}, "services.limesurvey.database.user": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"limesurvey\""}, "description": "Database user.", "loc": ["services", "limesurvey", "database", "user"], "readOnly": false, "type": "string"}, "services.limesurvey.enable": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Limesurvey web application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "limesurvey", "enable"], "readOnly": false, "type": "boolean"}, "services.limesurvey.encryptionKeyFile": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "32-byte key used to encrypt variables in the database.\n\nNote: It should be string not a store path in order to prevent the password from being world readable\n", "loc": ["services", "limesurvey", "encryptionKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.encryptionNonceFile": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "24-byte used to encrypt variables in the database.\n\nNote: It should be string not a store path in order to prevent the password from being world readable\n", "loc": ["services", "limesurvey", "encryptionNonceFile"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.httpd.virtualHost": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Apache configuration can be done by adapting `services.httpd.virtualHosts.<name>`.\nSee [](#opt-services.httpd.virtualHosts) for further information.\n", "example": {"_type": "literalExpression", "text": "{\n  hostName = \"survey.example.org\";\n  adminAddr = \"webmaster@example.org\";\n  forceSSL = true;\n  enableACME = true;\n}\n"}, "loc": ["services", "limesurvey", "httpd", "virtualHost"], "readOnly": false, "type": "submodule"}, "services.limesurvey.httpd.virtualHost.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.limesurvey.httpd.virtualHost.addSSL": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "addSSL"], "readOnly": false, "type": "boolean"}, "services.limesurvey.httpd.virtualHost.adminAddr": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "E-mail address of the server administrator.", "example": {"_type": "literalExpression", "text": "\"admin@example.org\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "adminAddr"], "readOnly": false, "type": "null or string"}, "services.limesurvey.httpd.virtualHost.documentRoot": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of Apache's document root directory.  If left undefined,\nan empty directory in the Nix store will be used as root.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "documentRoot"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.httpd.virtualHost.enableACME": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "enableACME"], "readOnly": false, "type": "boolean"}, "services.limesurvey.httpd.virtualHost.enableUserDir": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable serving {file}`~/public_html` as\n`/~\u00abusername\u00bb`.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "enableUserDir"], "readOnly": false, "type": "boolean"}, "services.limesurvey.httpd.virtualHost.extraConfig": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to httpd.conf verbatim. They will go after\ndirectories and directory aliases defined by default.\n", "example": {"_type": "literalExpression", "text": "''\n  <Directory /home>\n    Options FollowSymlinks\n    AllowOverride All\n  </Directory>\n''"}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.limesurvey.httpd.virtualHost.forceSSL": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that permanently redirects (301)\nall plain HTTP traffic to HTTPS. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443), where the non-SSL listens are used for the redirect vhosts.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.limesurvey.httpd.virtualHost.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected permanently to\nthe given URL.\n", "example": {"_type": "literalExpression", "text": "\"http://newserver.example.org/\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.limesurvey.httpd.virtualHost.hostName": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Canonical hostname for the server.", "loc": ["services", "limesurvey", "httpd", "virtualHost", "hostName"], "readOnly": false, "type": "string"}, "services.limesurvey.httpd.virtualHost.http2": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. *However, if you use the prefork mpm, there will\nbe severe restrictions.* Refer to <https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config> for details.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "http2"], "readOnly": false, "type": "boolean"}, "services.limesurvey.httpd.virtualHost.listen": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\n\n::: {.note}\nThis option overrides `addSSL`, `forceSSL` and `onlySSL`.\n\nIf you only want to set the addresses manually and not the ports, take a look at `listenAddresses`.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    ip = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    ip = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    ip = \"*\";\n    port = 8080;\n  }\n]"}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.limesurvey.httpd.virtualHost.listen.*.ip": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "IP to listen on. 0.0.0.0 for IPv4 only, * for all.", "loc": ["services", "limesurvey", "httpd", "virtualHost", "listen", "*", "ip"], "readOnly": false, "type": "string"}, "services.limesurvey.httpd.virtualHost.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Port to listen on", "loc": ["services", "limesurvey", "httpd", "virtualHost", "listen", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.limesurvey.httpd.virtualHost.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SSL (https) support.", "loc": ["services", "limesurvey", "httpd", "virtualHost", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.limesurvey.httpd.virtualHost.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "listenAddresses"], "readOnly": false, "type": "non-empty (list of string)"}, "services.limesurvey.httpd.virtualHost.locations": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config. See <https://httpd.apache.org/docs/2.4/mod/core.html#location> for details.\n", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n  \"/foo/bar.png\" = {\n    alias = \"/home/eelco/some-file.png\";\n  };\n};\n"}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.limesurvey.httpd.virtualHost.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests. See <https://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias>.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.httpd.virtualHost.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.limesurvey.httpd.virtualHost.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds DirectoryIndex directive. See <https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex>.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.limesurvey.httpd.virtualHost.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.limesurvey.httpd.virtualHost.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets up a simple reverse proxy as described by <https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html#simple>.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.limesurvey.httpd.virtualHost.logFormat": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"common\""}, "description": "Log format for Apache's log files. Possible values are: combined, common, referer, agent.\n", "example": {"_type": "literalExpression", "text": "\"combined\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "logFormat"], "readOnly": false, "type": "string"}, "services.limesurvey.httpd.virtualHost.onlySSL": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.limesurvey.httpd.virtualHost.robotsEntries": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Specification of pages to be ignored by web crawlers. See <http://www.robotstxt.org/> for details.\n", "example": {"_type": "literalExpression", "text": "\"Disallow: /foo/\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "robotsEntries"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.limesurvey.httpd.virtualHost.servedDirs": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve static directories.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    dir = \"/home/eelco/Dev/nix-homepage\";\n    urlPath = \"/nix\";\n  }\n]"}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "servedDirs"], "readOnly": false, "type": "list of (attribute set)"}, "services.limesurvey.httpd.virtualHost.servedFiles": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve individual, static files.\n\n::: {.note}\nThis option has been deprecated and will be removed in a future\nversion of NixOS. You can achieve the same result by making use of\nthe `locations.<name>.alias` option.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    file = \"/home/eelco/some-file.png\";\n    urlPath = \"/foo/bar.png\";\n  }\n]"}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "servedFiles"], "readOnly": false, "type": "list of (attribute set)"}, "services.limesurvey.httpd.virtualHost.serverAliases": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"www.example.org:8080\"\n  \"example.org\"\n]"}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.limesurvey.httpd.virtualHost.sslServerCert": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "sslServerCert"], "readOnly": false, "type": "absolute path"}, "services.limesurvey.httpd.virtualHost.sslServerChain": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to server SSL chain file.", "example": {"_type": "literalExpression", "text": "\"/var/ca.pem\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "sslServerChain"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.httpd.virtualHost.sslServerKey": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "limesurvey", "httpd", "virtualHost", "sslServerKey"], "readOnly": false, "type": "absolute path"}, "services.limesurvey.httpd.virtualHost.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "limesurvey", "httpd", "virtualHost", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.\nSee [](#opt-services.nginx.virtualHosts) for further information.\n", "example": {"_type": "literalExpression", "text": "{\n  serverName = \"survey.example.org\";\n  forceSSL = true;\n  enableACME = true;\n}\n"}, "loc": ["services", "limesurvey", "nginx", "virtualHost"], "readOnly": false, "type": "submodule"}, "services.limesurvey.nginx.virtualHost.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.addSSL": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "addSSL"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.basicAuth": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.limesurvey.nginx.virtualHost.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.nginx.virtualHost.default": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "default"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.enableACME": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "enableACME"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.extraConfig": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.limesurvey.nginx.virtualHost.forceSSL": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.http2": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "http2"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.http3": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "http3"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.http3_hq": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.kTLS": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "kTLS"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.listen": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.limesurvey.nginx.virtualHost.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Listen address.", "loc": ["services", "limesurvey", "nginx", "virtualHost", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.limesurvey.nginx.virtualHost.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.limesurvey.nginx.virtualHost.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.limesurvey.nginx.virtualHost.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "limesurvey", "nginx", "virtualHost", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "limesurvey", "nginx", "virtualHost", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.limesurvey.nginx.virtualHost.locations": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.limesurvey.nginx.virtualHost.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.nginx.virtualHost.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.limesurvey.nginx.virtualHost.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.nginx.virtualHost.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.limesurvey.nginx.virtualHost.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.limesurvey.nginx.virtualHost.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.limesurvey.nginx.virtualHost.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.limesurvey.nginx.virtualHost.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.nginx.virtualHost.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.onlySSL": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.quic": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "quic"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.redirectCode": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.limesurvey.nginx.virtualHost.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.reuseport": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "reuseport"], "readOnly": false, "type": "boolean"}, "services.limesurvey.nginx.virtualHost.root": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "root"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.nginx.virtualHost.serverAliases": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.limesurvey.nginx.virtualHost.serverName": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "serverName"], "readOnly": false, "type": "null or string"}, "services.limesurvey.nginx.virtualHost.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.limesurvey.nginx.virtualHost.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.limesurvey.nginx.virtualHost.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "limesurvey", "nginx", "virtualHost", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.limesurvey.nginx.virtualHost.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "limesurvey", "nginx", "virtualHost", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.limesurvey.package": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "pkgs.limesurvey"}, "description": "The limesurvey package to use.", "loc": ["services", "limesurvey", "package"], "readOnly": false, "type": "package"}, "services.limesurvey.poolConfig": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the LimeSurvey PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "limesurvey", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.limesurvey.webserver": {"declarations": ["nixos/modules/services/web-apps/limesurvey.nix"], "default": {"_type": "literalExpression", "text": "\"httpd\""}, "description": "Webserver to configure for reverse-proxying limesurvey.\n", "example": {"_type": "literalExpression", "text": "\"nginx\""}, "loc": ["services", "limesurvey", "webserver"], "readOnly": false, "type": "one of \"httpd\", \"nginx\""}, "services.linkding.address": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address on which linkding listens.", "loc": ["services", "linkding", "address"], "readOnly": false, "type": "string"}, "services.linkding.contextPath": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configures a URL context path under which linkding is accessible.\nWhen set, linkding is available at `http://host:<port>/<contextPath>`.\nMust end with a `/` when non-empty.\n", "example": {"_type": "literalExpression", "text": "\"linkding/\""}, "loc": ["services", "linkding", "contextPath"], "readOnly": false, "type": "string"}, "services.linkding.dataDir": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/linkding\""}, "description": "Directory used for all mutable state: SQLite database, secret key, favicons, previews, and assets.", "loc": ["services", "linkding", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.linkding.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically create a local PostgreSQL database and user.", "loc": ["services", "linkding", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.linkding.database.host": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "PostgreSQL server host.", "loc": ["services", "linkding", "database", "host"], "readOnly": false, "type": "string"}, "services.linkding.database.name": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"linkding\""}, "description": "PostgreSQL database name.", "loc": ["services", "linkding", "database", "name"], "readOnly": false, "type": "string"}, "services.linkding.database.port": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "PostgreSQL server port.", "loc": ["services", "linkding", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.linkding.database.type": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Database engine to use. Defaults to SQLite.", "loc": ["services", "linkding", "database", "type"], "readOnly": false, "type": "one of \"sqlite\", \"postgres\""}, "services.linkding.database.user": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"linkding\""}, "description": "PostgreSQL user name.", "loc": ["services", "linkding", "database", "user"], "readOnly": false, "type": "string"}, "services.linkding.enable": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable linkding, a self-hosted bookmark manager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "linkding", "enable"], "readOnly": false, "type": "boolean"}, "services.linkding.environmentFile": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to an environment file loaded by all linkding services.\nUseful for injecting secrets that should not appear in the Nix store,\nsuch as `LD_DB_PASSWORD` or `LD_SUPERUSER_PASSWORD`.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/linkding.env\""}, "loc": ["services", "linkding", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.linkding.group": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"linkding\""}, "description": "Group under which linkding runs.\n\n::: {.note}\nIf left as the default value this group will automatically be created\non system activation, otherwise you are responsible for ensuring the\ngroup exists before the linkding service starts.\n:::\n", "loc": ["services", "linkding", "group"], "readOnly": false, "type": "string"}, "services.linkding.openFirewall": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the linkding port in the firewall.", "loc": ["services", "linkding", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.linkding.package": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "pkgs.linkding"}, "description": "The linkding package to use.", "loc": ["services", "linkding", "package"], "readOnly": false, "type": "package"}, "services.linkding.port": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "9090"}, "description": "Port on which linkding listens.", "loc": ["services", "linkding", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.linkding.settings": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional environment variables passed to linkding.\nRefer to the [linkding documentation](https://linkding.link/options/)\nfor the full list of supported `LD_*` options.\n", "example": {"_type": "literalExpression", "text": "{\n  LD_DISABLE_BACKGROUND_TASKS = \"True\";\n  LD_DISABLE_URL_VALIDATION = \"True\";\n  LD_ENABLE_OIDC = \"True\";\n}"}, "loc": ["services", "linkding", "settings"], "readOnly": false, "type": "attribute set of string"}, "services.linkding.user": {"declarations": ["nixos/modules/services/web-apps/linkding.nix"], "default": {"_type": "literalExpression", "text": "\"linkding\""}, "description": "User account under which linkding runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise you are responsible for ensuring the\nuser exists before the linkding service starts.\n:::\n", "loc": ["services", "linkding", "user"], "readOnly": false, "type": "string"}, "services.linkwarden.cacheLocation": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"/var/cache/linkwarden\""}, "description": "Directory used as cache. If it is not the default, the directory has to be created manually such that the linkwarden user is able to read and write to it.", "loc": ["services", "linkwarden", "cacheLocation"], "readOnly": false, "type": "absolute path"}, "services.linkwarden.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the automatic creation of the database for Linkwarden..", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "linkwarden", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.linkwarden.database.host": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"/run/postgresql\""}, "description": "Hostname or address of the postgresql server. If an absolute path is given here, it will be interpreted as a unix socket path.", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "linkwarden", "database", "host"], "readOnly": false, "type": "string"}, "services.linkwarden.database.name": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"linkwarden\""}, "description": "The name of the Linkwarden database.", "loc": ["services", "linkwarden", "database", "name"], "readOnly": false, "type": "string"}, "services.linkwarden.database.port": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "Port of the postgresql server.", "loc": ["services", "linkwarden", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.linkwarden.database.user": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"linkwarden\""}, "description": "The database user for Linkwarden.", "loc": ["services", "linkwarden", "database", "user"], "readOnly": false, "type": "string"}, "services.linkwarden.enable": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Linkwarden.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "linkwarden", "enable"], "readOnly": false, "type": "boolean"}, "services.linkwarden.enableRegistration": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable registration for new users.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "linkwarden", "enableRegistration"], "readOnly": false, "type": "boolean"}, "services.linkwarden.environment": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration environment variables. Refer to the [documentation](https://docs.linkwarden.app/self-hosting/environment-variables) for options.\n", "example": {"_type": "literalExpression", "text": "{\n  PAGINATION_TAKE_COUNT = \"50\";\n}"}, "loc": ["services", "linkwarden", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.linkwarden.environmentFile": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path of a file with extra environment variables to be loaded from disk.\nThis file is not added to the nix store, so it can be used to pass secrets to linkwarden.\nRefer to the [documentation](https://docs.linkwarden.app/self-hosting/environment-variables) for options.\n\nLinkwarden needs at least a nextauth secret. To set a database password use POSTGRES_PASSWORD:\n```\nNEXTAUTH_SECRET=<secret>\nPOSTGRES_PASSWORD=<pass>\n```\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/linkwarden\""}, "loc": ["services", "linkwarden", "environmentFile"], "readOnly": false, "type": "null or string"}, "services.linkwarden.group": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"linkwarden\""}, "description": "The group Linkwarden should run as.", "loc": ["services", "linkwarden", "group"], "readOnly": false, "type": "string"}, "services.linkwarden.host": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The host that Linkwarden will listen on.", "loc": ["services", "linkwarden", "host"], "readOnly": false, "type": "string"}, "services.linkwarden.openFirewall": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the Linkwarden port in the firewall", "loc": ["services", "linkwarden", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.linkwarden.package": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "pkgs.linkwarden"}, "description": "The linkwarden package to use.", "loc": ["services", "linkwarden", "package"], "readOnly": false, "type": "package"}, "services.linkwarden.port": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port that Linkwarden will listen on.", "loc": ["services", "linkwarden", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.linkwarden.secretFiles": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set containing paths to files to add to the environment of linkwarden.\nThe files are not added to the nix store, so they can be used to pass secrets to linkwarden.\nRefer to the [documentation](https://docs.linkwarden.app/self-hosting/environment-variables) for options.\n\nLinkwarden needs at least a nextauth secret. To set a database password use POSTGRES_PASSWORD:\n```\nNEXTAUTH_SECRET=<secret>\nPOSTGRES_PASSWORD=<pass>\n```\n", "example": {"_type": "literalExpression", "text": "{\n  NEXTAUTH_SECRET = \"/run/secrets/linkwarden_secret\";\n  POSTGRES_PASSWORD = \"/run/secrets/linkwarden_postgres_passwd\";\n}"}, "loc": ["services", "linkwarden", "secretFiles"], "readOnly": false, "type": "attribute set of (null or string)"}, "services.linkwarden.storageLocation": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/linkwarden\""}, "description": "Directory used to store media files. If it is not the default, the directory has to be created manually such that the linkwarden user is able to read and write to it.", "loc": ["services", "linkwarden", "storageLocation"], "readOnly": false, "type": "absolute path"}, "services.linkwarden.user": {"declarations": ["nixos/modules/services/web-apps/linkwarden.nix"], "default": {"_type": "literalExpression", "text": "\"linkwarden\""}, "description": "The user Linkwarden should run as.", "loc": ["services", "linkwarden", "user"], "readOnly": false, "type": "string"}, "services.linux-enable-ir-emitter.device": {"declarations": ["nixos/modules/services/misc/linux-enable-ir-emitter.nix"], "default": {"_type": "literalExpression", "text": "\"video2\""}, "description": "IR camera device to depend on. For example, for `/dev/video2`\nthe value would be `video2`. Find this with the command\n{command}`realpath /dev/v4l/by-path/<generated-driver-name>`.\n", "loc": ["services", "linux-enable-ir-emitter", "device"], "readOnly": false, "type": "string"}, "services.linux-enable-ir-emitter.enable": {"declarations": ["nixos/modules/services/misc/linux-enable-ir-emitter.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable IR emitter hardware. Designed to be used with the\nHowdy facial authentication. After enabling the service, configure\nthe emitter with `sudo linux-enable-ir-emitter configure`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "linux-enable-ir-emitter", "enable"], "readOnly": false, "type": "boolean"}, "services.linux-enable-ir-emitter.package": {"declarations": ["nixos/modules/services/misc/linux-enable-ir-emitter.nix"], "default": {"_type": "literalExpression", "text": "pkgs.linux-enable-ir-emitter"}, "description": "Package to use for the Linux Enable IR Emitter service.\n", "loc": ["services", "linux-enable-ir-emitter", "package"], "readOnly": false, "type": "package"}, "services.linyaps.boxPackage": {"declarations": ["nixos/modules/services/desktops/linyaps.nix"], "default": {"_type": "literalExpression", "text": "pkgs.linyaps-box"}, "description": "The linyaps-box package to use.", "loc": ["services", "linyaps", "boxPackage"], "readOnly": false, "type": "package"}, "services.linyaps.enable": {"declarations": ["nixos/modules/services/desktops/linyaps.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable linyaps, a cross-distribution package manager with sandboxed apps and shared runtime.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "linyaps", "enable"], "readOnly": false, "type": "boolean"}, "services.linyaps.package": {"declarations": ["nixos/modules/services/desktops/linyaps.nix"], "default": {"_type": "literalExpression", "text": "pkgs.linyaps"}, "description": "The linyaps package to use.", "loc": ["services", "linyaps", "package"], "readOnly": false, "type": "package"}, "services.linyaps.webStoreInstallerPackage": {"declarations": ["nixos/modules/services/desktops/linyaps.nix"], "default": {"_type": "literalExpression", "text": "pkgs.linyaps-web-store-installer"}, "description": "The linyaps-web-store-installer package to use.", "loc": ["services", "linyaps", "webStoreInstallerPackage"], "readOnly": false, "type": "package"}, "services.liquidsoap.streams": {"declarations": ["nixos/modules/services/audio/liquidsoap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Set of Liquidsoap streams to start,\none systemd service per stream.\n", "example": {"_type": "literalExpression", "text": "{\n  myStream1 = \"/etc/liquidsoap/myStream1.liq\";\n  myStream2 = ./myStream2.liq;\n  myStream3 = \"out(playlist(\\\"/srv/music/\\\"))\";\n}\n"}, "loc": ["services", "liquidsoap", "streams"], "readOnly": false, "type": "attribute set of (absolute path or string)"}, "services.lirc.configs": {"declarations": ["nixos/modules/services/hardware/lirc.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Configurations for lircd to load, see man:lircd.conf(5) for details ({file}`lircd.conf`)", "loc": ["services", "lirc", "configs"], "readOnly": false, "type": "list of strings concatenated with \"\\n\""}, "services.lirc.enable": {"declarations": ["nixos/modules/services/hardware/lirc.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the LIRC daemon, to receive and send infrared signals.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lirc", "enable"], "readOnly": false, "type": "boolean"}, "services.lirc.extraArguments": {"declarations": ["nixos/modules/services/hardware/lirc.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments to lircd.", "loc": ["services", "lirc", "extraArguments"], "readOnly": false, "type": "list of string"}, "services.lirc.options": {"declarations": ["nixos/modules/services/hardware/lirc.nix"], "description": "LIRC default options described in man:lircd(8) ({file}`lirc_options.conf`)", "example": {"_type": "literalExpression", "text": "''\n  [lircd]\n  nodaemon = False\n''"}, "loc": ["services", "lirc", "options"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.listmonk.database.createLocally": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create the PostgreSQL database and database user locally.", "loc": ["services", "listmonk", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.listmonk.database.mutableSettings": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Database settings will be reset to the value set in this module if this is not enabled.\nEnable this if you want to persist changes you have done in the application.\n", "loc": ["services", "listmonk", "database", "mutableSettings"], "readOnly": false, "type": "boolean"}, "services.listmonk.database.settings": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Dynamic settings in the PostgreSQL database, set by a SQL script, see <https://github.com/knadh/listmonk/blob/master/schema.sql#L177-L230> for details.", "loc": ["services", "listmonk", "database", "settings"], "readOnly": false, "type": "null or (open submodule of attribute set of ((list of string) or list of attribute set of anything or string or signed integer or boolean))"}, "services.listmonk.database.settings.\"app.notify_emails\"": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Administrator emails for system notifications", "loc": ["services", "listmonk", "database", "settings", "app.notify_emails"], "readOnly": false, "type": "list of string"}, "services.listmonk.database.settings.\"bounce.mailboxes\"": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of bounce mailboxes", "loc": ["services", "listmonk", "database", "settings", "bounce.mailboxes"], "readOnly": false, "type": "list of (open submodule of list of attribute set of anything)"}, "services.listmonk.database.settings.\"privacy.domain_blocklist\"": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "E-mail addresses with these domains are disallowed from subscribing.", "loc": ["services", "listmonk", "database", "settings", "privacy.domain_blocklist"], "readOnly": false, "type": "list of string"}, "services.listmonk.database.settings.\"privacy.exportable\"": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"profile\"\n  \"subscriptions\"\n  \"campaign_views\"\n  \"link_clicks\"\n]"}, "description": "List of fields which can be exported through an automatic export request", "loc": ["services", "listmonk", "database", "settings", "privacy.exportable"], "readOnly": false, "type": "list of string"}, "services.listmonk.database.settings.messengers": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of messengers, see: <https://github.com/knadh/listmonk/blob/master/models/settings.go#L64-L74> for options.", "loc": ["services", "listmonk", "database", "settings", "messengers"], "readOnly": false, "type": "list of string"}, "services.listmonk.database.settings.smtp": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "description": "List of outgoing SMTP servers", "loc": ["services", "listmonk", "database", "settings", "smtp"], "readOnly": false, "type": "list of (open submodule of attribute set of anything)"}, "services.listmonk.database.settings.smtp.*.enabled": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable this SMTP server for listmonk.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "listmonk", "database", "settings", "smtp", "*", "enabled"], "readOnly": false, "type": "boolean"}, "services.listmonk.database.settings.smtp.*.host": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "description": "Hostname for the SMTP server", "loc": ["services", "listmonk", "database", "settings", "smtp", "*", "host"], "readOnly": false, "type": "string"}, "services.listmonk.database.settings.smtp.*.max_conns": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "Maximum number of simultaneous connections, defaults to 1", "loc": ["services", "listmonk", "database", "settings", "smtp", "*", "max_conns"], "readOnly": false, "type": "signed integer"}, "services.listmonk.database.settings.smtp.*.port": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "description": "Port for the SMTP server", "loc": ["services", "listmonk", "database", "settings", "smtp", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.listmonk.database.settings.smtp.*.tls_type": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "description": "Type of TLS authentication with the SMTP server", "loc": ["services", "listmonk", "database", "settings", "smtp", "*", "tls_type"], "readOnly": false, "type": "one of \"none\", \"STARTTLS\", \"TLS\""}, "services.listmonk.enable": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Listmonk, this module assumes a reverse proxy to be set.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "listmonk", "enable"], "readOnly": false, "type": "boolean"}, "services.listmonk.package": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "pkgs.listmonk"}, "description": "The listmonk package to use.", "loc": ["services", "listmonk", "package"], "readOnly": false, "type": "package"}, "services.listmonk.secretFile": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing secrets as environment variables. See <https://listmonk.app/docs/configuration/#environment-variables> for details on supported values.", "loc": ["services", "listmonk", "secretFile"], "readOnly": false, "type": "null or string"}, "services.listmonk.settings": {"declarations": ["nixos/modules/services/mail/listmonk.nix"], "description": "Static settings set in the config.toml, see <https://github.com/knadh/listmonk/blob/master/config.toml.sample> for details.\nYou can set secrets using the secretFile option with environment variables following <https://listmonk.app/docs/configuration/#environment-variables>.\n", "loc": ["services", "listmonk", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.litellm.enable": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LiteLLM server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "litellm", "enable"], "readOnly": false, "type": "boolean"}, "services.litellm.environment": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "{\n  ANONYMIZED_TELEMETRY = \"False\";\n  DO_NOT_TRACK = \"True\";\n  SCARF_NO_ANALYTICS = \"True\";\n}"}, "description": "Extra environment variables for LiteLLM.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    NO_DOCS=\"True\";\n  }\n''"}, "loc": ["services", "litellm", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.litellm.environmentFile": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file to be passed to the systemd service.\nUseful for passing secrets to the service to prevent them from being\nworld-readable in the Nix store.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/secrets/liteLLMSecrets\""}, "loc": ["services", "litellm", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.litellm.host": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The host address which the LiteLLM server HTTP interface listens to.\n", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "litellm", "host"], "readOnly": false, "type": "string"}, "services.litellm.openFirewall": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for LiteLLM.\nThis adds `services.litellm.port` to `networking.firewall.allowedTCPPorts`.\n", "loc": ["services", "litellm", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.litellm.package": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "pkgs.litellm"}, "description": "The litellm package to use.", "loc": ["services", "litellm", "package"], "readOnly": false, "type": "package"}, "services.litellm.port": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Which port the LiteLLM server listens to.\n", "example": {"_type": "literalExpression", "text": "11111"}, "loc": ["services", "litellm", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.litellm.settings": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for LiteLLM.\nSee <https://docs.litellm.ai/docs/proxy/configs> for more.\n", "loc": ["services", "litellm", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.litellm.settings.environment_variables": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to pass to the Lite\n", "loc": ["services", "litellm", "settings", "environment_variables"], "readOnly": false, "type": "YAML 1.1 value"}, "services.litellm.settings.general_settings": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "LiteLLM Server settings\n", "loc": ["services", "litellm", "settings", "general_settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.litellm.settings.litellm_settings": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "LiteLLM Module settings\n", "loc": ["services", "litellm", "settings", "litellm_settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.litellm.settings.model_list": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of supported models on the server, with model-specific configs.\n", "loc": ["services", "litellm", "settings", "model_list"], "readOnly": false, "type": "YAML 1.1 value"}, "services.litellm.settings.router_settings": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "LiteLLM Router settings\n", "loc": ["services", "litellm", "settings", "router_settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.litellm.stateDir": {"declarations": ["nixos/modules/services/misc/litellm.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/litellm\""}, "description": "State directory of LiteLLM.", "example": {"_type": "literalExpression", "text": "\"/home/foo\""}, "loc": ["services", "litellm", "stateDir"], "readOnly": false, "type": "absolute path"}, "services.litestream.enable": {"declarations": ["nixos/modules/services/network-filesystems/litestream/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable litestream.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "litestream", "enable"], "readOnly": false, "type": "boolean"}, "services.litestream.environmentFile": {"declarations": ["nixos/modules/services/network-filesystems/litestream/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file as defined in {manpage}`systemd.exec(5)`.\n\nSecrets may be passed to the service without adding them to the\nworld-readable Nix store, by specifying placeholder variables as\nthe option value in Nix and setting these variables accordingly in the\nenvironment file.\n\nBy default, Litestream will perform environment variable expansion\nwithin the config file before reading it. Any references to $VAR or\n${VAR} formatted variables will be replaced with their environment\nvariable values. If no value is set then it will be replaced with an\nempty string.\n\n```\n  # Content of the environment file\n  LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx\n  LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx\n```\n\nNote that this file needs to be available on the host on which\nthis exporter is running.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/litestream\""}, "loc": ["services", "litestream", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.litestream.package": {"declarations": ["nixos/modules/services/network-filesystems/litestream/default.nix"], "default": {"_type": "literalExpression", "text": "pkgs.litestream"}, "description": "The litestream package to use.", "loc": ["services", "litestream", "package"], "readOnly": false, "type": "package"}, "services.litestream.settings": {"declarations": ["nixos/modules/services/network-filesystems/litestream/default.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "See the [documentation](https://litestream.io/reference/config/).\n", "example": {"_type": "literalExpression", "text": "{\n  dbs = [\n    {\n      path = \"/var/lib/db1\";\n      replicas = [\n        {\n          url = \"s3://mybkt.litestream.io/db1\";\n        }\n      ];\n    }\n  ];\n}"}, "loc": ["services", "litestream", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.livebook.enableUserService": {"declarations": ["nixos/modules/services/development/livebook.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a user service for Livebook.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "livebook", "enableUserService"], "readOnly": false, "type": "boolean"}, "services.livebook.environment": {"declarations": ["nixos/modules/services/development/livebook.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables to set.\n\nLivebook is configured through the use of environment variables. The\navailable configuration options can be found in the [Livebook\ndocumentation](https://hexdocs.pm/livebook/readme.html#environment-variables).\n\nNote that all environment variables set through this configuration\nparameter will be readable by anyone with access to the host\nmachine. Therefore, sensitive information like {env}`LIVEBOOK_PASSWORD`\nor {env}`LIVEBOOK_COOKIE` should never be set using this configuration\noption, but should instead use\n[](#opt-services.livebook.environmentFile). See the documentation for\nthat option for more information.\n\nAny environment variables specified in the\n[](#opt-services.livebook.environmentFile) will supersede environment\nvariables specified in this option.\n", "example": {"_type": "literalExpression", "text": "{\n  LIVEBOOK_PORT = 8080;\n}\n"}, "loc": ["services", "livebook", "environment"], "readOnly": false, "type": "attribute set of (null or boolean or signed integer or string)"}, "services.livebook.environmentFile": {"declarations": ["nixos/modules/services/development/livebook.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Additional environment file as defined in {manpage}`systemd.exec(5)`.\n\nSecrets like {env}`LIVEBOOK_PASSWORD` (which is used to specify the\npassword needed to access the livebook site) or {env}`LIVEBOOK_COOKIE`\n(which is used to specify the\n[cookie](https://www.erlang.org/doc/reference_manual/distributed.html#security)\nused to connect to the running Elixir system) may be passed to the\nservice without making them readable to everyone with access to\nsystemctl by using this configuration parameter.\n\nNote that this file needs to be available on the host on which\n`livebook` is running.\n\nFor security purposes, this file should contain at least\n{env}`LIVEBOOK_PASSWORD` or {env}`LIVEBOOK_TOKEN_ENABLED=false`.\n\nSee the [Livebook\ndocumentation](https://hexdocs.pm/livebook/readme.html#environment-variables)\nand the [](#opt-services.livebook.environment) configuration parameter\nfor further options.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/livebook.env\""}, "loc": ["services", "livebook", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.livebook.extraPackages": {"declarations": ["nixos/modules/services/development/livebook.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra packages to make available to the Livebook service.\n", "example": {"_type": "literalExpression", "text": "with pkgs; [ gcc gnumake ]"}, "loc": ["services", "livebook", "extraPackages"], "readOnly": false, "type": "list of package"}, "services.livebook.package": {"declarations": ["nixos/modules/services/development/livebook.nix"], "default": {"_type": "literalExpression", "text": "pkgs.livebook"}, "description": "The livebook package to use.", "loc": ["services", "livebook", "package"], "readOnly": false, "type": "package"}, "services.livekit.enable": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the livekit server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "livekit", "enable"], "readOnly": false, "type": "boolean"}, "services.livekit.ingress.enable": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the livekit ingress service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "livekit", "ingress", "enable"], "readOnly": false, "type": "boolean"}, "services.livekit.ingress.environmentFile": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file as defined in {manpage}`systemd.exec(5)` passed to the service.\n\nUse this to specify `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET`.\n", "loc": ["services", "livekit", "ingress", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.livekit.ingress.openFirewall.rtc": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open WebRTC ports in the firewall.", "loc": ["services", "livekit", "ingress", "openFirewall", "rtc"], "readOnly": false, "type": "boolean"}, "services.livekit.ingress.openFirewall.rtmp": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open RTMP port in the firewall.", "loc": ["services", "livekit", "ingress", "openFirewall", "rtmp"], "readOnly": false, "type": "boolean"}, "services.livekit.ingress.openFirewall.whip": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open WHIP port in the firewall.", "loc": ["services", "livekit", "ingress", "openFirewall", "whip"], "readOnly": false, "type": "boolean"}, "services.livekit.ingress.package": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "pkgs.livekit-ingress"}, "description": "The livekit-ingress package to use.", "loc": ["services", "livekit", "ingress", "package"], "readOnly": false, "type": "package"}, "services.livekit.ingress.settings": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "LiveKit Ingress configuration.\n\nSee <https://github.com/livekit/ingress?tab=readme-ov-file#config> for possible options.\n", "example": {"_type": "literalExpression", "text": "{\n  cpu_cost = {\n    rtmp_cpu_cost = 3.0;\n    whip_cpu_cost = 1.0;\n  };\n  prometheus_port = 9039;\n}"}, "loc": ["services", "livekit", "ingress", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.livekit.ingress.settings.redis.address": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "\"Host and port of the local livekit redis instance, if enabled, or null\""}, "description": "Address or hostname and port for redis connection", "example": {"_type": "literalExpression", "text": "\"redis.example.com:6379\""}, "loc": ["services", "livekit", "ingress", "settings", "redis", "address"], "readOnly": false, "type": "null or string"}, "services.livekit.ingress.settings.rtc_config.port_range_end": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "51000"}, "description": "End of UDP port range for WebRTC", "loc": ["services", "livekit", "ingress", "settings", "rtc_config", "port_range_end"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.livekit.ingress.settings.rtc_config.port_range_start": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "50000"}, "description": "Start of UDP port range for WebRTC", "loc": ["services", "livekit", "ingress", "settings", "rtc_config", "port_range_start"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.livekit.ingress.settings.rtc_config.use_external_ip": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When set to true, attempts to discover the host's public IP via STUN.\nThis is useful for cloud environments such as AWS & Google where hosts have an internal IP that maps to an external one.\n", "loc": ["services", "livekit", "ingress", "settings", "rtc_config", "use_external_ip"], "readOnly": false, "type": "boolean"}, "services.livekit.ingress.settings.rtmp_port": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "1935"}, "description": "TCP port for RTMP connections. -1 to disable", "loc": ["services", "livekit", "ingress", "settings", "rtmp_port"], "readOnly": false, "type": "integer between -1 and 65535 (both inclusive)"}, "services.livekit.ingress.settings.whip_port": {"declarations": ["nixos/modules/services/networking/livekit-ingress.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "TCP port for WHIP connections. -1 to disable", "loc": ["services", "livekit", "ingress", "settings", "whip_port"], "readOnly": false, "type": "integer between -1 and 65535 (both inclusive)"}, "services.livekit.keyFile": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "description": "LiveKit key file holding one or multiple application secrets. Use `livekit-server generate-keys` to generate a random key name and secret.\n\nThe file should have the format `<keyname>: <secret>`.\nExample:\n`lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE`\n\nIndividual key/secret pairs need to be passed to clients to connect to this instance.\n", "loc": ["services", "livekit", "keyFile"], "readOnly": false, "type": "absolute path"}, "services.livekit.openFirewall": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Opens port range for LiveKit on the firewall.", "loc": ["services", "livekit", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.livekit.package": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.livekit"}, "description": "The livekit package to use.", "loc": ["services", "livekit", "package"], "readOnly": false, "type": "package"}, "services.livekit.redis.createLocally": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "\"true if any other Livekit component is enabled locally else false\""}, "description": "Whether to set up a local redis instance.", "loc": ["services", "livekit", "redis", "createLocally"], "readOnly": false, "type": "boolean"}, "services.livekit.redis.host": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1 if config.services.livekit.redis.createLocally else null\""}, "description": "Address to bind local redis instance to.\n", "loc": ["services", "livekit", "redis", "host"], "readOnly": false, "type": "null or string"}, "services.livekit.redis.port": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port to bind local redis instance to.\n", "loc": ["services", "livekit", "redis", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.livekit.settings": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "LiveKit configuration file expressed in nix.\n\nFor an example configuration, see <https://docs.livekit.io/home/self-hosting/deployment/#configuration>.\nFor all possible values, see <https://github.com/livekit/livekit/blob/master/config-sample.yaml>.\n", "loc": ["services", "livekit", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.livekit.settings.port": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "7880"}, "description": "Main TCP port for RoomService and RTC endpoint.", "loc": ["services", "livekit", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.livekit.settings.redis.address": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "Local Redis host/port when a local ingress component is enabled else null"}, "description": "Host and port used to connect to a redis instance.", "example": {"_type": "literalExpression", "text": "\"redis.example.com:6379\""}, "loc": ["services", "livekit", "settings", "redis", "address"], "readOnly": false, "type": "null or string"}, "services.livekit.settings.rtc.port_range_end": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "51000"}, "description": "End of UDP port range for WebRTC", "loc": ["services", "livekit", "settings", "rtc", "port_range_end"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.livekit.settings.rtc.port_range_start": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "50000"}, "description": "Start of UDP port range for WebRTC", "loc": ["services", "livekit", "settings", "rtc", "port_range_start"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.livekit.settings.rtc.use_external_ip": {"declarations": ["nixos/modules/services/networking/livekit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "When set to true, attempts to discover the host's public IP via STUN.\nThis is useful for cloud environments such as AWS & Google where hosts have an internal IP that maps to an external one.\n", "loc": ["services", "livekit", "settings", "rtc", "use_external_ip"], "readOnly": false, "type": "boolean"}, "services.lk-jwt-service.enable": {"declarations": ["nixos/modules/services/matrix/lk-jwt-service.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lk-jwt-service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lk-jwt-service", "enable"], "readOnly": false, "type": "boolean"}, "services.lk-jwt-service.keyFile": {"declarations": ["nixos/modules/services/matrix/lk-jwt-service.nix"], "description": "Path to a file containing the credential mapping (`<keyname>: <secret>`) to access LiveKit.\n\nExample:\n`lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE`\n\nFor more information, see <https://github.com/element-hq/lk-jwt-service#configuration>.\n", "loc": ["services", "lk-jwt-service", "keyFile"], "readOnly": false, "type": "absolute path"}, "services.lk-jwt-service.livekitUrl": {"declarations": ["nixos/modules/services/matrix/lk-jwt-service.nix"], "description": "The public websocket URL for livekit.\nThe proto needs to be either  `wss://` (recommended) or `ws://` (insecure).\n", "example": {"_type": "literalExpression", "text": "\"wss://example.com/livekit/sfu\""}, "loc": ["services", "lk-jwt-service", "livekitUrl"], "readOnly": false, "type": "string matching the pattern ^wss?://.*"}, "services.lk-jwt-service.package": {"declarations": ["nixos/modules/services/matrix/lk-jwt-service.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lk-jwt-service"}, "description": "The lk-jwt-service package to use.", "loc": ["services", "lk-jwt-service", "package"], "readOnly": false, "type": "package"}, "services.lk-jwt-service.port": {"declarations": ["nixos/modules/services/matrix/lk-jwt-service.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port that lk-jwt-service should listen on.", "loc": ["services", "lk-jwt-service", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.llama-cpp.enable": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LLaMA C++ server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "llama-cpp", "enable"], "readOnly": false, "type": "boolean"}, "services.llama-cpp.extraFlags": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags passed to llama-cpp-server.", "example": {"_type": "literalExpression", "text": "[\n  \"-c\"\n  \"4096\"\n  \"-ngl\"\n  \"32\"\n  \"--numa\"\n  \"numactl\"\n]"}, "loc": ["services", "llama-cpp", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.llama-cpp.host": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "IP address the LLaMA C++ server listens on.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "llama-cpp", "host"], "readOnly": false, "type": "string"}, "services.llama-cpp.model": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Model path.", "example": {"_type": "literalExpression", "text": "\"/models/mistral-instruct-7b/ggml-model-q4_0.gguf\""}, "loc": ["services", "llama-cpp", "model"], "readOnly": false, "type": "null or absolute path"}, "services.llama-cpp.modelsDir": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Models directory.", "example": {"_type": "literalExpression", "text": "\"/models/\""}, "loc": ["services", "llama-cpp", "modelsDir"], "readOnly": false, "type": "null or absolute path"}, "services.llama-cpp.modelsPreset": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Models preset configuration as a Nix attribute set.\nThis is converted to an INI file and passed to llama-server via --model-preset.\nSee llama-server documentation for available options.\n", "example": {"_type": "literalExpression", "text": "{\n  \"Qwen3-Coder-Next\" = {\n    hf-repo = \"unsloth/Qwen3-Coder-Next-GGUF\";\n    hf-file = \"Qwen3-Coder-Next-UD-Q4_K_XL.gguf\";\n    alias = \"unsloth/Qwen3-Coder-Next\";\n    fit = \"on\";\n    seed = \"3407\";\n    temp = \"1.0\";\n    top-p = \"0.95\";\n    min-p = \"0.01\";\n    top-k = \"40\";\n    jinja = \"on\";\n  };\n}\n"}, "loc": ["services", "llama-cpp", "modelsPreset"], "readOnly": false, "type": "null or (attribute set of (attribute set))"}, "services.llama-cpp.openFirewall": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for LLaMA C++ server.", "loc": ["services", "llama-cpp", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.llama-cpp.package": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "pkgs.llama-cpp"}, "description": "The llama-cpp package to use.", "loc": ["services", "llama-cpp", "package"], "readOnly": false, "type": "package"}, "services.llama-cpp.port": {"declarations": ["nixos/modules/services/misc/llama-cpp.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Listen port for LLaMA C++ server.", "loc": ["services", "llama-cpp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.llama-swap.enable": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the llama-swap service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "llama-swap", "enable"], "readOnly": false, "type": "boolean"}, "services.llama-swap.listenAddress": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address that llama-swap listens on.\n", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "llama-swap", "listenAddress"], "readOnly": false, "type": "string"}, "services.llama-swap.openFirewall": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the firewall for llama-swap.\nThis adds {option}`port` to [](#opt-networking.firewall.allowedTCPPorts).\n", "loc": ["services", "llama-swap", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.llama-swap.package": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "pkgs.llama-swap"}, "description": "The llama-swap package to use.", "loc": ["services", "llama-swap", "package"], "readOnly": false, "type": "package"}, "services.llama-swap.port": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port that llama-swap listens on.\n", "example": {"_type": "literalExpression", "text": "11343"}, "loc": ["services", "llama-swap", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.llama-swap.settings": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "description": "llama-swap configuration. Refer to the [llama-swap example configuration](https://github.com/mostlygeek/llama-swap/blob/main/config.example.yaml)\nfor details on supported values.\n", "example": {"_type": "literalExpression", "text": "let\n  llama-cpp = pkgs.llama-cpp.override { rocmSupport = true; };\n  llama-server = lib.getExe' llama-cpp \"llama-server\";\nin\n{\n  healthCheckTimeout = 60;\n  models = {\n    \"some-model\" = {\n      cmd = \"${llama-server} --port ${PORT} -m /var/lib/llama-cpp/models/some-model.gguf -ngl 0 --no-webui\";\n      aliases = [\n        \"the-best\"\n      ];\n    };\n    \"other-model\" = {\n      proxy = \"http://127.0.0.1:5555\";\n      cmd = \"${llama-server} --port 5555 -m /var/lib/llama-cpp/models/other-model.gguf -ngl 0 -c 4096 -np 4 --no-webui\";\n      concurrencyLimit = 4;\n    };\n  };\n};\n"}, "loc": ["services", "llama-swap", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.llama-swap.tls.certFile": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the TLS certificate file. This certificate will be offered to,\nand may be verified by, clients.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/cert.pem\""}, "loc": ["services", "llama-swap", "tls", "certFile"], "readOnly": false, "type": "null or absolute path"}, "services.llama-swap.tls.enable": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable TLS encryption.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "llama-swap", "tls", "enable"], "readOnly": false, "type": "boolean"}, "services.llama-swap.tls.keyFile": {"declarations": ["nixos/modules/services/networking/llama-swap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the TLS private key file. This key will be used to decrypt,\ndata received from clients.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/key.pem\""}, "loc": ["services", "llama-swap", "tls", "keyFile"], "readOnly": false, "type": "null or absolute path"}, "services.lldap.database.createLocally": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "lldap", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.lldap.database.type": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "Database engine to use.", "example": {"_type": "literalExpression", "text": "\"postgresql\""}, "loc": ["services", "lldap", "database", "type"], "readOnly": false, "type": "one of \"mariadb\", \"postgresql\", \"sqlite\""}, "services.lldap.enable": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lldap, a lightweight authentication server that provides an opinionated, simplified LDAP interface for authentication.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lldap", "enable"], "readOnly": false, "type": "boolean"}, "services.lldap.environment": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Environment variables passed to the service.\nAny config option name prefixed with `LLDAP_` takes priority over the one in the configuration file.\n", "example": {"_type": "literalExpression", "text": "{\n  LLDAP_JWT_SECRET_FILE = \"/run/lldap/jwt_secret\";\n  LLDAP_LDAP_USER_PASS_FILE = \"/run/lldap/user_password\";\n}"}, "loc": ["services", "lldap", "environment"], "readOnly": false, "type": "attribute set of string"}, "services.lldap.environmentFile": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file as defined in {manpage}`systemd.exec(5)` passed to the service.\n", "loc": ["services", "lldap", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.lldap.package": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lldap"}, "description": "The lldap package to use.", "loc": ["services", "lldap", "package"], "readOnly": false, "type": "package"}, "services.lldap.settings": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Free-form settings written directly to the {file}`lldap_config.toml` file.\nRefer to <https://github.com/lldap/lldap/blob/main/lldap_config.docker_template.toml> for supported values.\n", "loc": ["services", "lldap", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.lldap.settings.database_url": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "if config.services.lldap.database.createLocally\nthen\n  if cfg.database.type == \"sqlite\"\n  then \"sqlite://./users.db?mode=rwc\"\n  else if cfg.database.type == \"postgresql\"\n  then \"postgresql:///lldap?host=/run/postgresql\"\n  else if cfg.database.type == \"mariadb\"\n  then \"mysql://lldap@localhost/lldap?socket=/run/mysqld/mysqld.sock\"\nelse null\n"}, "description": "Database URL.", "example": {"_type": "literalExpression", "text": "\"postgres://postgres-user:password@postgres-server/my-database\""}, "loc": ["services", "lldap", "settings", "database_url"], "readOnly": false, "type": "null or string"}, "services.lldap.settings.force_ldap_user_pass_reset": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Force reset of the admin password.\n\nSet this setting to `\"always\"` to update the admin password when `ldap_user_pass_file` changes.\nSetting to `\"always\"` also means any password update in the UI will be overwritten next time the service restarts.\n\nThe difference between `true` and `\"always\"` is the former is intended for a one time fix\nwhile the latter is intended for a declarative workflow. In practice, the result\nis the same: the password gets reset. The only practical difference is the former\noutputs a warning message while the latter outputs an info message.\n", "loc": ["services", "lldap", "settings", "force_ldap_user_pass_reset"], "readOnly": false, "type": "boolean or value \"always\" (singular enum)"}, "services.lldap.settings.http_host": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "\"::\""}, "description": "The host address that the HTTP server will be bound to.", "loc": ["services", "lldap", "settings", "http_host"], "readOnly": false, "type": "string"}, "services.lldap.settings.http_port": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "17170"}, "description": "The port on which to have the HTTP server, for user login and administration.", "loc": ["services", "lldap", "settings", "http_port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lldap.settings.http_url": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost\""}, "description": "The public URL of the server, for password reset links.", "loc": ["services", "lldap", "settings", "http_url"], "readOnly": false, "type": "string"}, "services.lldap.settings.jwt_secret_file": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the JWT secret.\n", "loc": ["services", "lldap", "settings", "jwt_secret_file"], "readOnly": false, "type": "null or string"}, "services.lldap.settings.ldap_base_dn": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "description": "Base DN for LDAP.", "example": {"_type": "literalExpression", "text": "\"dc=example,dc=com\""}, "loc": ["services", "lldap", "settings", "ldap_base_dn"], "readOnly": false, "type": "string"}, "services.lldap.settings.ldap_host": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "\"::\""}, "description": "The host address that the LDAP server will be bound to.", "loc": ["services", "lldap", "settings", "ldap_host"], "readOnly": false, "type": "string"}, "services.lldap.settings.ldap_port": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "3890"}, "description": "The port on which to have the LDAP server.", "loc": ["services", "lldap", "settings", "ldap_port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lldap.settings.ldap_user_dn": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "\"admin\""}, "description": "Admin username", "loc": ["services", "lldap", "settings", "ldap_user_dn"], "readOnly": false, "type": "string"}, "services.lldap.settings.ldap_user_email": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "\"admin@example.com\""}, "description": "Admin email.", "loc": ["services", "lldap", "settings", "ldap_user_email"], "readOnly": false, "type": "string"}, "services.lldap.settings.ldap_user_pass": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for default admin password.\n\nUnsecure: Use `ldap_user_pass_file` settings instead.\n", "loc": ["services", "lldap", "settings", "ldap_user_pass"], "readOnly": false, "type": "null or string"}, "services.lldap.settings.ldap_user_pass_file": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the default admin password.\n\nIf you want to update the default admin password through this setting,\nyou must set `force_ldap_user_pass_reset` to `true`.\nOtherwise changing this setting will have no effect\nunless this is the very first time LLDAP is started and its database is still empty.\n", "loc": ["services", "lldap", "settings", "ldap_user_pass_file"], "readOnly": false, "type": "null or string"}, "services.lldap.silenceForceUserPassResetWarning": {"declarations": ["nixos/modules/services/databases/lldap.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Disable warning when the admin password is set declaratively with the `ldap_user_pass_file` setting\nbut the `force_ldap_user_pass_reset` is set to `false`.\n\nThis can lead to the admin password to drift from the one given declaratively.\nIf that is okay for you and you want to silence the warning, set this option to `true`.\n", "loc": ["services", "lldap", "silenceForceUserPassResetWarning"], "readOnly": false, "type": "boolean"}, "services.lldpd.enable": {"declarations": ["nixos/modules/services/networking/lldpd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Link Layer Discovery Protocol Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lldpd", "enable"], "readOnly": false, "type": "boolean"}, "services.lldpd.extraArgs": {"declarations": ["nixos/modules/services/networking/lldpd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of command line parameters for lldpd", "example": {"_type": "literalExpression", "text": "[\n  \"-c\"\n  \"-k\"\n  \"-I eth0\"\n]"}, "loc": ["services", "lldpd", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.local-content-share.enable": {"declarations": ["nixos/modules/services/misc/local-content-share.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Local-Content-Share.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "local-content-share", "enable"], "readOnly": false, "type": "boolean"}, "services.local-content-share.listenAddress": {"declarations": ["nixos/modules/services/misc/local-content-share.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Address on which the service will be available.\n\nThe service will listen on all interfaces if set to an empty string.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "local-content-share", "listenAddress"], "readOnly": false, "type": "string"}, "services.local-content-share.openFirewall": {"declarations": ["nixos/modules/services/misc/local-content-share.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to automatically open the specified port in the firewall", "loc": ["services", "local-content-share", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.local-content-share.package": {"declarations": ["nixos/modules/services/misc/local-content-share.nix"], "default": {"_type": "literalExpression", "text": "pkgs.local-content-share"}, "description": "The local-content-share package to use.", "loc": ["services", "local-content-share", "package"], "readOnly": false, "type": "package"}, "services.local-content-share.port": {"declarations": ["nixos/modules/services/misc/local-content-share.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port on which the service will be available", "loc": ["services", "local-content-share", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.localtimed.enable": {"declarations": ["nixos/modules/services/system/localtimed.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable `localtimed`, a simple daemon for keeping the\nsystem timezone up-to-date based on the current location. It uses\ngeoclue2 to determine the current location.\n\nTo avoid silent overriding by the service, if you have explicitly set a\ntimezone, either remove it or ensure that it is set with a lower priority\nthan the default value using `lib.mkDefault` or `lib.mkOverride`. This is\nto make the choice deliberate. An error will be presented otherwise.\n", "loc": ["services", "localtimed", "enable"], "readOnly": false, "type": "boolean"}, "services.localtimed.geoclue2Package": {"declarations": ["nixos/modules/services/system/localtimed.nix"], "default": {"_type": "literalExpression", "text": "pkgs.geoclue2-with-demo-agent"}, "description": "The Geoclue2 package to use.", "loc": ["services", "localtimed", "geoclue2Package"], "readOnly": false, "type": "package"}, "services.localtimed.package": {"declarations": ["nixos/modules/services/system/localtimed.nix"], "default": {"_type": "literalExpression", "text": "pkgs.localtime"}, "description": "The localtime package to use.", "loc": ["services", "localtimed", "package"], "readOnly": false, "type": "package"}, "services.locate.enable": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, NixOS will periodically update the database of\nfiles used by the {command}`locate` command.\n", "loc": ["services", "locate", "enable"], "readOnly": false, "type": "boolean"}, "services.locate.extraFlags": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra flags to pass to {command}`updatedb`.\n", "loc": ["services", "locate", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.locate.interval": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "\"02:15\""}, "description": "Update the locate database at this interval. Updates by\ndefault at 2:15 AM every day.\n\nThe format is described in\n{manpage}`systemd.time(7)`.\n\nTo disable automatic updates, set to `\"never\"`\nand run {command}`updatedb` manually.\n", "example": {"_type": "literalExpression", "text": "\"hourly\""}, "loc": ["services", "locate", "interval"], "readOnly": false, "type": "string"}, "services.locate.output": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "\"/var/cache/locatedb\""}, "description": "The database file to build.\n", "loc": ["services", "locate", "output"], "readOnly": false, "type": "absolute path"}, "services.locate.package": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "pkgs.plocate"}, "description": "The plocate package to use.", "example": {"_type": "literalExpression", "text": "mlocate"}, "loc": ["services", "locate", "package"], "readOnly": false, "type": "package"}, "services.locate.pruneBindMounts": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether not to index bind mounts\n", "loc": ["services", "locate", "pruneBindMounts"], "readOnly": false, "type": "boolean"}, "services.locate.pruneFS": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"afs\"\n  \"anon_inodefs\"\n  \"auto\"\n  \"autofs\"\n  \"bdev\"\n  \"binfmt\"\n  \"binfmt_misc\"\n  \"ceph\"\n  \"cgroup\"\n  \"cgroup2\"\n  \"cifs\"\n  \"coda\"\n  \"configfs\"\n  \"cramfs\"\n  \"cpuset\"\n  \"curlftpfs\"\n  \"debugfs\"\n  \"devfs\"\n  \"devpts\"\n  \"devtmpfs\"\n  \"eventpollfs\"\n  \"exofs\"\n  \"futexfs\"\n  \"ftpfs\"\n  \"fuse\"\n  \"fusectl\"\n  \"fusesmb\"\n  \"fuse.ceph\"\n  \"fuse.glusterfs\"\n  \"fuse.gvfsd-fuse\"\n  \"fuse.mfs\"\n  \"fuse.rclone\"\n  \"fuse.rozofs\"\n  \"fuse.sshfs\"\n  \"gfs\"\n  \"gfs2\"\n  \"hostfs\"\n  \"hugetlbfs\"\n  \"inotifyfs\"\n  \"iso9660\"\n  \"jffs2\"\n  \"lustre\"\n  \"lustre_lite\"\n  \"misc\"\n  \"mfs\"\n  \"mqueue\"\n  \"ncpfs\"\n  \"nfs\"\n  \"NFS\"\n  \"nfs4\"\n  \"nfsd\"\n  \"nnpfs\"\n  \"ocfs\"\n  \"ocfs2\"\n  \"pipefs\"\n  \"proc\"\n  \"ramfs\"\n  \"rpc_pipefs\"\n  \"securityfs\"\n  \"selinuxfs\"\n  \"sfs\"\n  \"shfs\"\n  \"smbfs\"\n  \"sockfs\"\n  \"spufs\"\n  \"sshfs\"\n  \"subfs\"\n  \"supermount\"\n  \"sysfs\"\n  \"tmpfs\"\n  \"tracefs\"\n  \"ubifs\"\n  \"udev\"\n  \"udf\"\n  \"usbfs\"\n  \"vboxsf\"\n  \"vperfctrfs\"\n]"}, "description": "Which filesystem types to exclude from indexing\n", "loc": ["services", "locate", "pruneFS"], "readOnly": false, "type": "list of string"}, "services.locate.pruneNames": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalMD", "text": "`[ \".bzr\" \".cache\" \".git\" \".hg\" \".svn\" ]`, if\nsupported by the locate implementation (i.e. mlocate or plocate).\n"}, "description": "Directory components which should exclude paths containing them from indexing\n", "loc": ["services", "locate", "pruneNames"], "readOnly": false, "type": "list of string"}, "services.locate.prunePaths": {"declarations": ["nixos/modules/misc/locate.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/tmp\"\n  \"/var/tmp\"\n  \"/var/cache\"\n  \"/var/lock\"\n  \"/var/run\"\n  \"/var/spool\"\n  \"/nix/store\"\n  \"/nix/var/log/nix\"\n]"}, "description": "Which paths to exclude from indexing\n", "loc": ["services", "locate", "prunePaths"], "readOnly": false, "type": "list of absolute path"}, "services.logcheck.config": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"FQDN=1\""}, "description": "Config options that you would like in logcheck.conf.\n", "loc": ["services", "logcheck", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.logcheck.enable": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable logcheck cron job, to mail anomalies in the system logfiles to the administrator.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "logcheck", "enable"], "readOnly": false, "type": "boolean"}, "services.logcheck.extraGroups": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra groups for the logcheck user, for example to be able to use sendmail,\nor to access certain log files.\n", "example": {"_type": "literalExpression", "text": "[\n  \"postdrop\"\n  \"mongodb\"\n]"}, "loc": ["services", "logcheck", "extraGroups"], "readOnly": false, "type": "list of string"}, "services.logcheck.extraRulesDirs": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Directories with extra rules.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/logcheck\"\n]"}, "loc": ["services", "logcheck", "extraRulesDirs"], "readOnly": false, "type": "list of absolute path"}, "services.logcheck.files": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/var/log/messages\"\n]"}, "description": "Which log files to check.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/var/log/messages\"\n  \"/var/log/mail\"\n]"}, "loc": ["services", "logcheck", "files"], "readOnly": false, "type": "list of absolute path"}, "services.logcheck.ignore": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option defines extra ignore rules.\n", "loc": ["services", "logcheck", "ignore"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.logcheck.ignore.<name>.level": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"server\""}, "description": "Set the logcheck level.\n", "loc": ["services", "logcheck", "ignore", "<name>", "level"], "readOnly": false, "type": "one of \"workstation\", \"server\", \"paranoid\""}, "services.logcheck.ignore.<name>.regex": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Regex specifying which log lines to ignore.\n", "loc": ["services", "logcheck", "ignore", "<name>", "regex"], "readOnly": false, "type": "string"}, "services.logcheck.ignoreCron": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "This option defines extra ignore rules for cronjobs.\n", "loc": ["services", "logcheck", "ignoreCron"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.logcheck.ignoreCron.<name>.cmdline": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Command line for the cron job. Will be turned into a regex for the logcheck ignore rule.\n", "loc": ["services", "logcheck", "ignoreCron", "<name>", "cmdline"], "readOnly": false, "type": "string"}, "services.logcheck.ignoreCron.<name>.timeArgs": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "\"min hr dom mon dow\" crontab time args, to auto-create a cronjob too.\nLeave at null to not do this and just add a logcheck ignore rule.\n", "example": {"_type": "literalExpression", "text": "\"02 06 * * *\""}, "loc": ["services", "logcheck", "ignoreCron", "<name>", "timeArgs"], "readOnly": false, "type": "null or string"}, "services.logcheck.ignoreCron.<name>.user": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "User that runs the cronjob.\n", "loc": ["services", "logcheck", "ignoreCron", "<name>", "user"], "readOnly": false, "type": "string"}, "services.logcheck.level": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"server\""}, "description": "Set the logcheck level. Either \"workstation\", \"server\", or \"paranoid\".\n", "loc": ["services", "logcheck", "level"], "readOnly": false, "type": "string"}, "services.logcheck.mailTo": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"root\""}, "description": "Email address to send reports to.\n", "example": {"_type": "literalExpression", "text": "\"you@domain.com\""}, "loc": ["services", "logcheck", "mailTo"], "readOnly": false, "type": "string"}, "services.logcheck.timeOfDay": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "Time of day to run logcheck. A logcheck will be scheduled at xx:02 each day.\nLeave default (*) to run every hour. Of course when nothing special was logged,\nlogcheck will be silent.\n", "example": {"_type": "literalExpression", "text": "\"6\""}, "loc": ["services", "logcheck", "timeOfDay"], "readOnly": false, "type": "string"}, "services.logcheck.user": {"declarations": ["nixos/modules/services/logging/logcheck.nix"], "default": {"_type": "literalExpression", "text": "\"logcheck\""}, "description": "Username for the logcheck user.\n", "loc": ["services", "logcheck", "user"], "readOnly": false, "type": "string"}, "services.logind.enable": {"declarations": ["nixos/modules/system/boot/systemd/logind.nix"], "default": {"_type": "literalExpression", "text": "config.systemd.package.withLogind"}, "description": "Whether to enable the `systemd-logind` login service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "logind", "enable"], "readOnly": false, "type": "boolean"}, "services.logind.settings.Login": {"declarations": ["nixos/modules/system/boot/systemd/logind.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings option for systemd-logind.\nSee {manpage}`logind.conf(5)` for available options.\n", "example": {"_type": "literalExpression", "text": "{\n  HandleLidSwitch = \"ignore\";\n  KillUserProcesses = false;\n}"}, "loc": ["services", "logind", "settings", "Login"], "readOnly": false, "type": "open submodule of attribute set of (systemd option)"}, "services.logind.settings.Login.KillUserProcesses": {"declarations": ["nixos/modules/system/boot/systemd/logind.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Specifies whether the processes of a user should be killed\nwhen the user logs out.  If true, the scope unit corresponding\nto the session and all processes inside that scope will be\nterminated.  If false, the scope is \"abandoned\"\n(see {manpage}`systemd.scope(5)`),\nand processes are not killed.\n\nSee {manpage}`logind.conf(5)` for more details.\n\nDefaulted to false in nixpkgs because many tools that rely on\npersistent user processes\u2014like `tmux`, `screen`, `mosh`, `VNC`,\n`nohup`, and more \u2014 would break by the systemd-default behavior.\n", "loc": ["services", "logind", "settings", "Login", "KillUserProcesses"], "readOnly": false, "type": "boolean"}, "services.logiops.config": {"declarations": ["nixos/modules/services/hardware/logiops.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The standard libconfig-style config for LogiOps.\n", "example": {"_type": "literalExpression", "text": "devices = [\n{\n    name = \"Wireless Mouse MX Master\";\n    dpi = 1000;\n    smartshift =\n    {\n        on = true;\n        threshold = 30;\n        torque = 50;\n    };\n}\n];\n"}, "loc": ["services", "logiops", "config"], "readOnly": false, "type": "attribute set of (libconfig value)"}, "services.logiops.enable": {"declarations": ["nixos/modules/services/hardware/logiops.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LogiOps, a unofficial userspace driver for HID++ Logitech devices.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "logiops", "enable"], "readOnly": false, "type": "boolean"}, "services.logiops.package": {"declarations": ["nixos/modules/services/hardware/logiops.nix"], "default": {"_type": "literalExpression", "text": "pkgs.logiops"}, "description": "The logiops package to use.", "loc": ["services", "logiops", "package"], "readOnly": false, "type": "package"}, "services.logkeys.device": {"declarations": ["nixos/modules/services/misc/logkeys.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Use the given device as keyboard input event device instead of /dev/input/eventX default.", "example": {"_type": "literalExpression", "text": "\"/dev/input/event15\""}, "loc": ["services", "logkeys", "device"], "readOnly": false, "type": "null or string"}, "services.logkeys.enable": {"declarations": ["nixos/modules/services/misc/logkeys.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable logkeys, a keylogger service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "logkeys", "enable"], "readOnly": false, "type": "boolean"}, "services.logmein-hamachi.enable": {"declarations": ["nixos/modules/services/networking/logmein-hamachi.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LogMeIn Hamachi, a proprietary\n(closed source) commercial VPN software.\n", "loc": ["services", "logmein-hamachi", "enable"], "readOnly": false, "type": "boolean"}, "services.logrotate.allowNetworking": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable network access for logrotate.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "logrotate", "allowNetworking"], "readOnly": false, "type": "boolean"}, "services.logrotate.checkConfig": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether the config should be checked at build time.\n\nSome options are not checkable at build time because of the build sandbox:\nfor example, the test does not know about existing files and system users are\nnot known.\nThese limitations mean we must adjust the file for tests (missingok is forced\nand users are replaced by dummy users), so tests are complemented by a\nlogrotate-checkconf service that is enabled by default.\nThis extra check can be disabled by disabling it at the systemd level with the\n{option}`systemd.services.logrotate-checkconf.enable` option.\n\nConversely there are still things that might make this check fail incorrectly\n(e.g. a file path where we don't have access to intermediate directories):\nin this case you can disable the failing check with this option.\n", "loc": ["services", "logrotate", "checkConfig"], "readOnly": false, "type": "boolean"}, "services.logrotate.configFile": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "''\n  A configuration file automatically generated by NixOS.\n''"}, "description": "Override the configuration file used by logrotate. By default,\nNixOS generates one automatically from [](#opt-services.logrotate.settings).\n", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"logrotate.conf\" ''\n  missingok\n  \"/var/log/*.log\" {\n    rotate 4\n    weekly\n  }\n'';\n"}, "loc": ["services", "logrotate", "configFile"], "readOnly": false, "type": "absolute path"}, "services.logrotate.enable": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "cfg.settings != {}"}, "description": "Whether to enable the logrotate systemd service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "logrotate", "enable"], "readOnly": false, "type": "boolean"}, "services.logrotate.extraArgs": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line arguments to pass on logrotate invocation", "loc": ["services", "logrotate", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.logrotate.settings": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "logrotate freeform settings: each attribute here will define its own section,\nordered by {option}`services.logrotate.settings.<name>.priority`,\nwhich can either define files to rotate with their settings\nor settings common to all further files settings.\nAll attribute names not explicitly defined as sub-options here are passed through\nas logrotate config directives,\nrefer to <https://linux.die.net/man/8/logrotate> for details.\n", "example": {"_type": "literalExpression", "text": "{\n  # global options\n  header = {\n    dateext = true;\n  };\n  # example custom files\n  \"/var/log/mylog.log\" = {\n    frequency = \"daily\";\n    rotate = 3;\n  };\n  \"multiple paths\" = {\n     files = [\n      \"/var/log/first*.log\"\n      \"/var/log/second.log\"\n    ];\n  };\n  # specify custom order of sections\n  \"/var/log/myservice/*.log\" = {\n    # ensure lower priority\n    priority = 110;\n    postrotate = ''\n      systemctl reload myservice\n    '';\n  };\n};\n"}, "loc": ["services", "logrotate", "settings"], "readOnly": false, "type": "attribute set of (open submodule of attribute set of (null or signed integer or boolean or string))"}, "services.logrotate.settings.<name>.enable": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable setting individual kill switch.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "logrotate", "settings", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.logrotate.settings.<name>.files": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "''\n  The attrset name if not specified\n''"}, "description": "Single or list of files for which rules are defined.\nThe files are quoted with double-quotes in logrotate configuration,\nso globs and spaces are supported.\nNote this setting is ignored if globals is true.\n", "loc": ["services", "logrotate", "settings", "<name>", "files"], "readOnly": false, "type": "string or list of string"}, "services.logrotate.settings.<name>.frequency": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "How often to rotate the logs. Defaults to previously set global setting,\nwhich itself defaults to weekly.\n", "loc": ["services", "logrotate", "settings", "<name>", "frequency"], "readOnly": false, "type": "null or string"}, "services.logrotate.settings.<name>.global": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether this setting is a global option or not: set to have these\nsettings apply to all files settings with a higher priority.\n", "loc": ["services", "logrotate", "settings", "<name>", "global"], "readOnly": false, "type": "boolean"}, "services.logrotate.settings.<name>.priority": {"declarations": ["nixos/modules/services/logging/logrotate.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this logrotate block in relation to the others. The semantics are\nthe same as with `lib.mkOrder`. Smaller values are inserted first.\n", "loc": ["services", "logrotate", "settings", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.logstash.dataDir": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/logstash\""}, "description": "A path to directory writable by logstash that it uses to store data.\nPlugins will also have access to this path.\n", "loc": ["services", "logstash", "dataDir"], "readOnly": false, "type": "string"}, "services.logstash.enable": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable logstash.", "loc": ["services", "logstash", "enable"], "readOnly": false, "type": "boolean"}, "services.logstash.extraJvmOptions": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra JVM options, one per line (jvm.options format).", "example": {"_type": "literalExpression", "text": "''\n  -Xms2g\n  -Xmx2g\n''"}, "loc": ["services", "logstash", "extraJvmOptions"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.logstash.extraSettings": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra Logstash settings in YAML format.", "example": {"_type": "literalExpression", "text": "''\n  pipeline:\n    batch:\n      size: 125\n      delay: 5\n''"}, "loc": ["services", "logstash", "extraSettings"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.logstash.filterConfig": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "logstash filter configuration.", "example": {"_type": "literalExpression", "text": "''\n  if [type] == \"syslog\" {\n    # Keep only relevant systemd fields\n    # https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html\n    prune {\n      whitelist_names => [\n        \"type\", \"@timestamp\", \"@version\",\n        \"MESSAGE\", \"PRIORITY\", \"SYSLOG_FACILITY\"\n      ]\n    }\n  }\n''"}, "loc": ["services", "logstash", "filterConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.logstash.filterWorkers": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "The quantity of filter workers to run.", "loc": ["services", "logstash", "filterWorkers"], "readOnly": false, "type": "signed integer"}, "services.logstash.inputConfig": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"generator { }\""}, "description": "Logstash input configuration.", "example": {"_type": "literalExpression", "text": "''\n  # Read from journal\n  pipe {\n    command => \"${config.systemd.package}/bin/journalctl -f -o json\"\n    type => \"syslog\" codec => json {}\n  }\n''\n"}, "loc": ["services", "logstash", "inputConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.logstash.listenAddress": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address on which to start webserver.", "loc": ["services", "logstash", "listenAddress"], "readOnly": false, "type": "string"}, "services.logstash.logLevel": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"warn\""}, "description": "Logging verbosity level.", "loc": ["services", "logstash", "logLevel"], "readOnly": false, "type": "one of \"debug\", \"info\", \"warn\", \"error\", \"fatal\""}, "services.logstash.outputConfig": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"stdout { codec => rubydebug }\""}, "description": "Logstash output configuration.", "example": {"_type": "literalExpression", "text": "''\n  redis { host => [\"localhost\"] data_type => \"list\" key => \"logstash\" codec => json }\n  elasticsearch { }\n''"}, "loc": ["services", "logstash", "outputConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.logstash.package": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "pkgs.logstash"}, "description": "The logstash package to use.", "loc": ["services", "logstash", "package"], "readOnly": false, "type": "package"}, "services.logstash.plugins": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The paths to find other logstash plugins in.", "example": {"_type": "literalExpression", "text": "[ pkgs.logstash-contrib ]"}, "loc": ["services", "logstash", "plugins"], "readOnly": false, "type": "list of absolute path"}, "services.logstash.port": {"declarations": ["nixos/modules/services/logging/logstash.nix"], "default": {"_type": "literalExpression", "text": "\"9292\""}, "description": "Port on which to start webserver.", "loc": ["services", "logstash", "port"], "readOnly": false, "type": "string"}, "services.loki.configFile": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify a configuration file that Loki should use.\n\nCannot be specified together with {option}`services.loki.configuration`.\n", "loc": ["services", "loki", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.loki.configuration": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify the configuration for Loki in Nix.\n\nSee [documentation of Grafana Loki](https://grafana.com/docs/loki/latest/configure/) for all available options.\n\nCannot be specified together with {option}`services.loki.configFile`.\n", "loc": ["services", "loki", "configuration"], "readOnly": false, "type": "JSON value"}, "services.loki.dataDir": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/loki\""}, "description": "Specify the data directory for Loki.\n", "loc": ["services", "loki", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.loki.enable": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Grafana Loki.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "loki", "enable"], "readOnly": false, "type": "boolean"}, "services.loki.extraFlags": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specify a list of additional command line flags,\nwhich get escaped and are then passed to Loki.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--server.http-listen-port=3101\"\n]"}, "loc": ["services", "loki", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.loki.group": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "\"loki\""}, "description": "Group under which the Loki service runs.\n", "loc": ["services", "loki", "group"], "readOnly": false, "type": "string"}, "services.loki.package": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "pkgs.grafana-loki"}, "description": "The grafana-loki package to use.", "loc": ["services", "loki", "package"], "readOnly": false, "type": "package"}, "services.loki.user": {"declarations": ["nixos/modules/services/monitoring/loki.nix"], "default": {"_type": "literalExpression", "text": "\"loki\""}, "description": "User under which the Loki service runs.\n", "loc": ["services", "loki", "user"], "readOnly": false, "type": "string"}, "services.lokinet.enable": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Lokinet daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lokinet", "enable"], "readOnly": false, "type": "boolean"}, "services.lokinet.package": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lokinet"}, "description": "The lokinet package to use.", "loc": ["services", "lokinet", "package"], "readOnly": false, "type": "package"}, "services.lokinet.settings": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Lokinet.\nCurrently, the best way to view the available settings is by\ngenerating a config file using `lokinet -g`.\n", "example": {"_type": "literalExpression", "text": "{\n  dns = {\n    bind = \"127.3.2.1\";\n    upstream = [ \"1.1.1.1\" \"8.8.8.8\" ];\n  };\n\n  network.exit-node = [ \"example.loki\" \"example2.loki\" ];\n}\n"}, "loc": ["services", "lokinet", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.lokinet.settings.dns.bind": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "\"127.3.2.1\""}, "description": "Address to bind to for handling DNS requests.", "loc": ["services", "lokinet", "settings", "dns", "bind"], "readOnly": false, "type": "string"}, "services.lokinet.settings.dns.upstream": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"9.9.9.10\"\n]"}, "description": "Upstream resolver(s) to use as fallback for non-loki addresses.\nMultiple values accepted.\n", "example": {"_type": "literalExpression", "text": "[\n  \"1.1.1.1\"\n  \"8.8.8.8\"\n]"}, "loc": ["services", "lokinet", "settings", "dns", "upstream"], "readOnly": false, "type": "list of string"}, "services.lokinet.settings.network.exit": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to act as an exit node. Beware that this\nincreases demand on the server and may pose liability concerns.\nEnable at your own risk.\n", "loc": ["services", "lokinet", "settings", "network", "exit"], "readOnly": false, "type": "boolean"}, "services.lokinet.settings.network.exit-node": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify a `.loki` address and an optional ip range to use as an exit broker.\nSee <http://probably.loki/wiki/index.php?title=Exit_Nodes> for\na list of exit nodes.\n", "example": {"_type": "literalExpression", "text": "''\n  exit-node = [ \"example.loki\" ];              # maps all exit traffic to example.loki\n  exit-node = [ \"example.loki:100.0.0.0/24\" ]; # maps 100.0.0.0/24 to example.loki\n''"}, "loc": ["services", "lokinet", "settings", "network", "exit-node"], "readOnly": false, "type": "null or (list of string)"}, "services.lokinet.settings.network.keyfile": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The private key to persist address with. If not specified the address will be ephemeral.\nThis keyfile is generated automatically if the specified file doesn't exist.\n", "example": {"_type": "literalExpression", "text": "\"snappkey.private\""}, "loc": ["services", "lokinet", "settings", "network", "keyfile"], "readOnly": false, "type": "null or string"}, "services.lokinet.useLocally": {"declarations": ["nixos/modules/services/networking/lokinet.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use Lokinet locally.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lokinet", "useLocally"], "readOnly": false, "type": "boolean"}, "services.longview.apacheStatusUrl": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The Apache status page URL. If provided, Longview will\ngather statistics from this location. This requires Apache\nmod_status to be loaded and enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1/server-status\""}, "loc": ["services", "longview", "apacheStatusUrl"], "readOnly": false, "type": "string"}, "services.longview.apiKey": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Longview API key. To get this, look in Longview settings which\nare found at <https://manager.linode.com/longview/>.\n\nWarning: this secret is stored in the world-readable Nix store!\nUse {option}`apiKeyFile` instead.\n", "example": {"_type": "literalExpression", "text": "\"01234567-89AB-CDEF-0123456789ABCDEF\""}, "loc": ["services", "longview", "apiKey"], "readOnly": false, "type": "string"}, "services.longview.apiKeyFile": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the Longview API key.\nTo get this, look in Longview settings which\nare found at <https://manager.linode.com/longview/>.\n\n{option}`apiKeyFile` takes precedence over {option}`apiKey`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/longview-api-key\""}, "loc": ["services", "longview", "apiKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.longview.enable": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, system metrics will be sent to Linode LongView.\n", "loc": ["services", "longview", "enable"], "readOnly": false, "type": "boolean"}, "services.longview.mysqlPassword": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The password corresponding to {option}`mysqlUser`.\nWarning: this is stored in cleartext in the Nix store!\nUse {option}`mysqlPasswordFile` instead.\n", "loc": ["services", "longview", "mysqlPassword"], "readOnly": false, "type": "string"}, "services.longview.mysqlPasswordFile": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to {option}`mysqlUser`.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/dbpassword\""}, "loc": ["services", "longview", "mysqlPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.longview.mysqlUser": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The user for connecting to the MySQL database. If provided,\nLongview will connect to MySQL and collect statistics about\nqueries, etc. This user does not need to have been granted\nany extra privileges.\n", "loc": ["services", "longview", "mysqlUser"], "readOnly": false, "type": "string"}, "services.longview.nginxStatusUrl": {"declarations": ["nixos/modules/services/monitoring/longview.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "The Nginx status page URL. Longview will gather statistics\nfrom this URL. This requires the Nginx stub_status module to\nbe enabled and configured at the given location.\n", "example": {"_type": "literalExpression", "text": "\"http://127.0.0.1/nginx_status\""}, "loc": ["services", "longview", "nginxStatusUrl"], "readOnly": false, "type": "string"}, "services.lorri.enable": {"declarations": ["nixos/modules/services/development/lorri.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enables the daemon for `lorri`, a nix-shell replacement for project\ndevelopment. The socket-activated daemon starts on the first request\nissued by the `lorri` command.\n", "loc": ["services", "lorri", "enable"], "readOnly": false, "type": "boolean"}, "services.lorri.package": {"declarations": ["nixos/modules/services/development/lorri.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lorri"}, "description": "The lorri package to use.", "loc": ["services", "lorri", "package"], "readOnly": false, "type": "package"}, "services.lubelogger.dataDir": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "\"lubelogger\""}, "description": "Path to LubeLogger config and metadata inside of `/var/lib/`.", "loc": ["services", "lubelogger", "dataDir"], "readOnly": false, "type": "string"}, "services.lubelogger.enable": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LubeLogger, a self-hosted, open-source, web-based vehicle maintenance and fuel milage tracker.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lubelogger", "enable"], "readOnly": false, "type": "boolean"}, "services.lubelogger.environmentFile": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing extra LubeLogger config options in the systemd `EnvironmentFile` format.\nRefer to the [documentation] for supported options.\n\n[documentation]: https://docs.lubelogger.com/Advanced/Environment%20Variables\n\nThis can be used to pass secrets to LubeLogger without putting them in the Nix store.\n\nFor example, to set an SMTP password, point `environmentFile` at a file containing:\n```\nMailConfig__Password=<pass>\n```\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/lubelogger\""}, "loc": ["services", "lubelogger", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.lubelogger.group": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "\"lubelogger\""}, "description": "Group under which LubeLogger runs.", "loc": ["services", "lubelogger", "group"], "readOnly": false, "type": "string"}, "services.lubelogger.openFirewall": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for the LubeLogger web interface.", "loc": ["services", "lubelogger", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.lubelogger.package": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "pkgs.lubelogger"}, "description": "The lubelogger package to use.", "loc": ["services", "lubelogger", "package"], "readOnly": false, "type": "package"}, "services.lubelogger.port": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "5000"}, "description": "The TCP port LubeLogger will listen on.", "loc": ["services", "lubelogger", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.lubelogger.settings": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional configuration for LubeLogger, see <https://docs.lubelogger.com/Environment%20Variables> for supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  LUBELOGGER_ALLOWED_FILE_EXTENSIONS = \"\";\n  LUBELOGGER_LOGO_URL = \"\";\n}"}, "loc": ["services", "lubelogger", "settings"], "readOnly": false, "type": "attribute set of string"}, "services.lubelogger.user": {"declarations": ["nixos/modules/services/web-apps/lubelogger.nix"], "default": {"_type": "literalExpression", "text": "\"lubelogger\""}, "description": "User account under which LubeLogger runs.", "loc": ["services", "lubelogger", "user"], "readOnly": false, "type": "string"}, "services.lvm.boot.thin.enable": {"declarations": ["nixos/modules/tasks/lvm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for booting from ThinLVs.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lvm", "boot", "thin", "enable"], "readOnly": false, "type": "boolean"}, "services.lvm.boot.vdo.enable": {"declarations": ["nixos/modules/tasks/lvm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable support for booting from VDOLVs.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lvm", "boot", "vdo", "enable"], "readOnly": false, "type": "boolean"}, "services.lvm.dmeventd.enable": {"declarations": ["nixos/modules/tasks/lvm.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the LVM dmevent daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lvm", "dmeventd", "enable"], "readOnly": false, "type": "boolean"}, "services.lvm.enable": {"declarations": ["nixos/modules/tasks/lvm.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable lvm2.\n\n:::{.note}\nThe lvm2 package contains device-mapper udev rules and without those tools like cryptsetup do not fully function!\n:::\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lvm", "enable"], "readOnly": false, "type": "boolean"}, "services.lvm.resizeHelper.enable": {"declarations": ["nixos/modules/tasks/lvm.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable lvresize_fs_helper.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lvm", "resizeHelper", "enable"], "readOnly": false, "type": "boolean"}, "services.lxd-image-server.enable": {"declarations": ["nixos/modules/services/networking/lxd-image-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable lxd-image-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lxd-image-server", "enable"], "readOnly": false, "type": "boolean"}, "services.lxd-image-server.group": {"declarations": ["nixos/modules/services/networking/lxd-image-server.nix"], "default": {"_type": "literalExpression", "text": "\"nginx\""}, "description": "Group assigned to the user and the webroot directory.", "example": {"_type": "literalExpression", "text": "\"www-data\""}, "loc": ["services", "lxd-image-server", "group"], "readOnly": false, "type": "string"}, "services.lxd-image-server.nginx.domain": {"declarations": ["nixos/modules/services/networking/lxd-image-server.nix"], "description": "Domain to use for nginx virtual host.", "example": {"_type": "literalExpression", "text": "\"images.example.org\""}, "loc": ["services", "lxd-image-server", "nginx", "domain"], "readOnly": false, "type": "string"}, "services.lxd-image-server.nginx.enable": {"declarations": ["nixos/modules/services/networking/lxd-image-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable nginx.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "lxd-image-server", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.lxd-image-server.settings": {"declarations": ["nixos/modules/services/networking/lxd-image-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for lxd-image-server.\n\nExample see <https://github.com/Avature/lxd-image-server/blob/master/config.toml>.\n", "loc": ["services", "lxd-image-server", "settings"], "readOnly": false, "type": "TOML value"}, "services.mackerel-agent.apiKeyFile": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "description": "Path to file containing the Mackerel API key. The file should contain a\nsingle line of the following form:\n\n`apikey = \"EXAMPLE_API_KEY\"`\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/mackerel-api-key\""}, "loc": ["services", "mackerel-agent", "apiKeyFile"], "readOnly": false, "type": "absolute path"}, "services.mackerel-agent.autoRetirement": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable retiring the host upon OS shutdown\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mackerel-agent", "autoRetirement"], "readOnly": false, "type": "boolean"}, "services.mackerel-agent.enable": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable mackerel.io agent.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mackerel-agent", "enable"], "readOnly": false, "type": "boolean"}, "services.mackerel-agent.runAsRoot": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable running as root.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mackerel-agent", "runAsRoot"], "readOnly": false, "type": "boolean"}, "services.mackerel-agent.settings": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for mackerel-agent.conf.\n\nDocumentation:\n<https://mackerel.io/docs/entry/spec/agent>\n", "example": {"_type": "literalExpression", "text": "{\n  silent = false;\n  verbose = false;\n}"}, "loc": ["services", "mackerel-agent", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.mackerel-agent.settings.diagnostic": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable collecting memory usage for the agent itself.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mackerel-agent", "settings", "diagnostic"], "readOnly": false, "type": "boolean"}, "services.mackerel-agent.settings.host_status.on_start": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "default": {"_type": "literalExpression", "text": "\"working\""}, "description": "Host status after agent startup.", "loc": ["services", "mackerel-agent", "settings", "host_status", "on_start"], "readOnly": false, "type": "one of \"working\", \"standby\", \"maintenance\", \"poweroff\""}, "services.mackerel-agent.settings.host_status.on_stop": {"declarations": ["nixos/modules/services/monitoring/mackerel-agent.nix"], "default": {"_type": "literalExpression", "text": "\"poweroff\""}, "description": "Host status after agent shutdown.", "loc": ["services", "mackerel-agent", "settings", "host_status", "on_stop"], "readOnly": false, "type": "one of \"working\", \"standby\", \"maintenance\", \"poweroff\""}, "services.maddy.config": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "''\n  # Minimal configuration with TLS disabled, adapted from upstream example\n  # configuration here https://github.com/foxcpp/maddy/blob/master/maddy.conf\n  # Do not use this in production!\n  \n  auth.pass_table local_authdb {\n    table sql_table {\n      driver sqlite3\n      dsn credentials.db\n      table_name passwords\n    }\n  }\n  \n  storage.imapsql local_mailboxes {\n    driver sqlite3\n    dsn imapsql.db\n  }\n  \n  table.chain local_rewrites {\n    optional_step regexp \"(.+)\\+(.+)@(.+)\" \"$1@$3\"\n    optional_step static {\n      entry postmaster postmaster@$(primary_domain)\n    }\n    optional_step file /etc/maddy/aliases\n  }\n  \n  msgpipeline local_routing {\n    destination postmaster $(local_domains) {\n      modify {\n        replace_rcpt &local_rewrites\n      }\n      deliver_to &local_mailboxes\n    }\n    default_destination {\n      reject 550 5.1.1 \"User doesn't exist\"\n    }\n  }\n  \n  smtp tcp://0.0.0.0:25 {\n    limits {\n      all rate 20 1s\n      all concurrency 10\n    }\n    dmarc yes\n    check {\n      require_mx_record\n      dkim\n      spf\n    }\n    source $(local_domains) {\n      reject 501 5.1.8 \"Use Submission for outgoing SMTP\"\n    }\n    default_source {\n      destination postmaster $(local_domains) {\n        deliver_to &local_routing\n      }\n      default_destination {\n        reject 550 5.1.1 \"User doesn't exist\"\n      }\n    }\n  }\n  \n  submission tcp://0.0.0.0:587 {\n    limits {\n      all rate 50 1s\n    }\n    auth &local_authdb\n    source $(local_domains) {\n      check {\n          authorize_sender {\n              prepare_email &local_rewrites\n              user_to_email identity\n          }\n      }\n      destination postmaster $(local_domains) {\n          deliver_to &local_routing\n      }\n      default_destination {\n          modify {\n              dkim $(primary_domain) $(local_domains) default\n          }\n          deliver_to &remote_queue\n      }\n    }\n    default_source {\n      reject 501 5.1.8 \"Non-local sender domain\"\n    }\n  }\n  \n  target.remote outbound_delivery {\n    limits {\n      destination rate 20 1s\n      destination concurrency 10\n    }\n    mx_auth {\n      dane\n      mtasts {\n        cache fs\n        fs_dir mtasts_cache/\n      }\n      local_policy {\n          min_tls_level encrypted\n          min_mx_level none\n      }\n    }\n  }\n  \n  target.queue remote_queue {\n    target &outbound_delivery\n    autogenerated_msg_domain $(primary_domain)\n    bounce {\n      destination postmaster $(local_domains) {\n        deliver_to &local_routing\n      }\n      default_destination {\n          reject 550 5.0.0 \"Refusing to send DSNs to non-local addresses\"\n      }\n    }\n  }\n  \n  imap tcp://0.0.0.0:143 {\n    auth &local_authdb\n    storage &local_mailboxes\n  }\n''"}, "description": "Server configuration, see\n[https://maddy.email](https://maddy.email) for\nmore information. The default configuration of this module will setup\nminimal Maddy instance for mail transfer without TLS encryption.\n\n::: {.note}\nThis should not be used in a production environment.\n:::\n", "loc": ["services", "maddy", "config"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.maddy.enable": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Maddy, a free an open source mail server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "maddy", "enable"], "readOnly": false, "type": "boolean"}, "services.maddy.ensureAccounts": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of IMAP accounts which get automatically created. Note that for\na complete setup, user credentials for these accounts are required\nand can be created using the `ensureCredentials` option.\nThis option does not delete accounts which are not (anymore) listed.\n", "example": {"_type": "literalExpression", "text": "[\n  \"user1@localhost\"\n  \"user2@localhost\"\n]"}, "loc": ["services", "maddy", "ensureAccounts"], "readOnly": false, "type": "list of string"}, "services.maddy.ensureCredentials": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "List of user accounts which get automatically created if they don't\nexist yet. Note that for a complete setup, corresponding mail boxes\nhave to get created using the `ensureAccounts` option.\nThis option does not delete accounts which are not (anymore) listed.\n", "example": {"_type": "literalExpression", "text": "{\n  \"user1@localhost\" = {\n    passwordFile = \"/secrets/user1-localhost\";\n  };\n  \"user2@localhost\" = {\n    passwordFile = \"/secrets/user2-localhost\";\n  };\n}"}, "loc": ["services", "maddy", "ensureCredentials"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.maddy.ensureCredentials.<name>.passwordFile": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies the path to a file containing the\nclear text password for the user.\n", "example": {"_type": "literalExpression", "text": "\"/path/to/file\""}, "loc": ["services", "maddy", "ensureCredentials", "<name>", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.maddy.group": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "\"maddy\""}, "description": "Group account under which maddy runs.\n\n::: {.note}\nIf left as the default value this group will automatically be created\non system activation, otherwise the sysadmin is responsible for\nensuring the group exists before the maddy service starts.\n:::\n", "loc": ["services", "maddy", "group"], "readOnly": false, "type": "string"}, "services.maddy.hostname": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Hostname to use. It should be FQDN.\n", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "maddy", "hostname"], "readOnly": false, "type": "string"}, "services.maddy.localDomains": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"$(primary_domain)\"\n]"}, "description": "Define list of allowed domains.\n", "example": {"_type": "literalExpression", "text": "[\n  \"$(primary_domain)\"\n  \"example.com\"\n  \"other.example.com\"\n]"}, "loc": ["services", "maddy", "localDomains"], "readOnly": false, "type": "list of string"}, "services.maddy.openFirewall": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open the configured incoming and outgoing mail server ports.\n", "loc": ["services", "maddy", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.maddy.package": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "pkgs.maddy"}, "description": "The maddy package to use.", "loc": ["services", "maddy", "package"], "readOnly": false, "type": "package"}, "services.maddy.primaryDomain": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Primary MX domain to use. It should be FQDN.\n", "example": {"_type": "literalExpression", "text": "\"mail.example.com\""}, "loc": ["services", "maddy", "primaryDomain"], "readOnly": false, "type": "string"}, "services.maddy.secrets": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of files containing the various secrets. Should be in the format\nexpected by systemd's `EnvironmentFile` directory. Secrets can be\nreferenced in the format `{env:VAR}`.\n", "loc": ["services", "maddy", "secrets"], "readOnly": false, "type": "list of absolute path"}, "services.maddy.tls.certificates": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of attribute sets containing paths to TLS certificates and\nkeys. Maddy will use SNI if multiple pairs are selected.\n", "example": {"_type": "literalExpression", "text": "[{\n  keyPath = \"/etc/ssl/mx1.example.org.key\";\n  certPath = \"/etc/ssl/mx1.example.org.crt\";\n}]\n"}, "loc": ["services", "maddy", "tls", "certificates"], "readOnly": false, "type": "list of (submodule)"}, "services.maddy.tls.certificates.*.certPath": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "description": "Path to the certificate used for TLS.\n", "example": {"_type": "literalExpression", "text": "\"/etc/ssl/mx1.example.org.crt\""}, "loc": ["services", "maddy", "tls", "certificates", "*", "certPath"], "readOnly": false, "type": "absolute path"}, "services.maddy.tls.certificates.*.keyPath": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "description": "Path to the private key used for TLS.\n", "example": {"_type": "literalExpression", "text": "\"/etc/ssl/mx1.example.org.key\""}, "loc": ["services", "maddy", "tls", "certificates", "*", "keyPath"], "readOnly": false, "type": "absolute path"}, "services.maddy.tls.extraConfig": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Arguments for the specified certificate loader.\n\nIn case the `tls` loader is set, the defaults are considered secure\nand there is no need to change anything in most cases.\nFor available options see [upstream manual](https://maddy.email/reference/tls/).\n\nFor ACME configuration, see [following page](https://maddy.email/reference/tls-acme).\n", "loc": ["services", "maddy", "tls", "extraConfig"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.maddy.tls.loader": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "\"off\""}, "description": "TLS certificates are obtained by modules called \"certificate\nloaders\".\n\nThe `file` loader module reads certificates from files specified by\nthe `certificates` option.\n\nAlternatively the `acme` module can be used to automatically obtain\ncertificates using the ACME protocol.\n\nModule configuration is done via the `tls.extraConfig` option.\n\nSecrets such as API keys or passwords should not be supplied in\nplaintext. Instead the `secrets` option can be used to read secrets\nat runtime as environment variables. Secrets can be referenced with\n`{env:VAR}`.\n", "loc": ["services", "maddy", "tls", "loader"], "readOnly": false, "type": "null or one of \"off\", \"file\", \"acme\""}, "services.maddy.user": {"declarations": ["nixos/modules/services/mail/maddy.nix"], "default": {"_type": "literalExpression", "text": "\"maddy\""}, "description": "User account under which maddy runs.\n\n::: {.note}\nIf left as the default value this user will automatically be created\non system activation, otherwise the sysadmin is responsible for\nensuring the user exists before the maddy service starts.\n:::\n", "loc": ["services", "maddy", "user"], "readOnly": false, "type": "string"}, "services.magic-wormhole-mailbox-server.enable": {"declarations": ["nixos/modules/services/networking/magic-wormhole-mailbox-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Magic Wormhole Mailbox Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "magic-wormhole-mailbox-server", "enable"], "readOnly": false, "type": "boolean"}, "services.magnetico.crawler.address": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Address to be used for indexing DHT nodes.\n", "example": {"_type": "literalExpression", "text": "\"1.2.3.4\""}, "loc": ["services", "magnetico", "crawler", "address"], "readOnly": false, "type": "string"}, "services.magnetico.crawler.extraOptions": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments to pass to magneticod.\n", "loc": ["services", "magnetico", "crawler", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.magnetico.crawler.maxLeeches": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "200"}, "description": "Maximum number of simultaneous leeches.\n", "loc": ["services", "magnetico", "crawler", "maxLeeches"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.magnetico.crawler.maxNeighbors": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Maximum number of simultaneous neighbors of an indexer.\nBe careful changing this number: high values can very\neasily cause your network to be congested or even crash\nyour router.\n", "loc": ["services", "magnetico", "crawler", "maxNeighbors"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.magnetico.crawler.port": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Port to be used for indexing DHT nodes.\nThis port should be added to\n{option}`networking.firewall.allowedTCPPorts`.\n", "loc": ["services", "magnetico", "crawler", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.magnetico.enable": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Magnetico, Bittorrent DHT crawler.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "magnetico", "enable"], "readOnly": false, "type": "boolean"}, "services.magnetico.web.address": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Address the web interface will listen to.\n", "example": {"_type": "literalExpression", "text": "\"1.2.3.4\""}, "loc": ["services", "magnetico", "web", "address"], "readOnly": false, "type": "string"}, "services.magnetico.web.credentials": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "The credentials to access the web interface, in case authentication is\nenabled, in the format `username:hash`. If unset no\nauthentication will be required.\n\nUsernames must start with a lowercase ([a-z]) ASCII character, might\ncontain non-consecutive underscores except at the end, and consists of\nsmall-case a-z characters and digits 0-9.  The\n{command}`htpasswd` tool from the `apacheHttpd`\npackage may be used to generate the hash:\n{command}`htpasswd -bnBC 12 username password`\n\n::: {.warning}\nThe hashes will be stored world-readable in the nix store.\nConsider using the `credentialsFile` option if you\ndon't want this.\n:::\n", "example": {"_type": "literalExpression", "text": "{\n  myuser = \"$2y$12$YE01LZ8jrbQbx6c0s2hdZO71dSjn2p/O9XsYJpz.5968yCysUgiaG\";\n}\n"}, "loc": ["services", "magnetico", "web", "credentials"], "readOnly": false, "type": "attribute set of string"}, "services.magnetico.web.credentialsFile": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the file holding the credentials to access the web\ninterface. If unset no authentication will be required.\n\nThe file must contain user names and password hashes in the format\n`username:hash`, one for each line.  Usernames must\nstart with a lowecase ([a-z]) ASCII character, might contain\nnon-consecutive underscores except at the end, and consists of\nsmall-case a-z characters and digits 0-9.\nThe {command}`htpasswd` tool from the `apacheHttpd`\npackage may be used to generate the hash:\n{command}`htpasswd -bnBC 12 username password`\n", "loc": ["services", "magnetico", "web", "credentialsFile"], "readOnly": false, "type": "null or absolute path"}, "services.magnetico.web.extraOptions": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra command line arguments to pass to magneticow.\n", "loc": ["services", "magnetico", "web", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.magnetico.web.port": {"declarations": ["nixos/modules/services/torrent/magnetico.nix"], "default": {"_type": "literalExpression", "text": "8080"}, "description": "Port the web interface will listen to.\n", "loc": ["services", "magnetico", "web", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mail.sendmailSetuidWrapper.capabilities": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A comma-separated list of capability clauses to be given to the\nwrapper program. The format for capability clauses is described in the\n\u201cTEXTUAL REPRESENTATION\u201d section of the {manpage}`cap_from_text(3)`\nmanual page. For a list of capabilities supported by the system, check\nthe {manpage}`capabilities(7)` manual page.\n\n::: {.note}\n`cap_setpcap`, which is required for the wrapper\nprogram to be able to raise caps into the Ambient set is NOT raised\nto the Ambient set so that the real program cannot modify its own\ncapabilities!! This may be too restrictive for cases in which the\nreal program needs cap_setpcap but it at least leans on the side\nsecurity paranoid vs. too relaxed.\n:::\n", "loc": ["services", "mail", "sendmailSetuidWrapper", "capabilities"], "readOnly": false, "type": "strings concatenated with \",\""}, "services.mail.sendmailSetuidWrapper.enable": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the wrapper.", "loc": ["services", "mail", "sendmailSetuidWrapper", "enable"], "readOnly": false, "type": "boolean"}, "services.mail.sendmailSetuidWrapper.group": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "description": "The group of the wrapper program.", "loc": ["services", "mail", "sendmailSetuidWrapper", "group"], "readOnly": false, "type": "string"}, "services.mail.sendmailSetuidWrapper.owner": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "description": "The owner of the wrapper program.", "loc": ["services", "mail", "sendmailSetuidWrapper", "owner"], "readOnly": false, "type": "string"}, "services.mail.sendmailSetuidWrapper.permissions": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "\"u+rx,g+x,o+x\""}, "description": "The permissions of the wrapper program. The format is that of a\nsymbolic or numeric file mode understood by {command}`chmod`.\n", "example": {"_type": "literalExpression", "text": "\"a+rx\""}, "loc": ["services", "mail", "sendmailSetuidWrapper", "permissions"], "readOnly": false, "type": "file mode string"}, "services.mail.sendmailSetuidWrapper.program": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The name of the wrapper program. Defaults to the attribute name.\n", "loc": ["services", "mail", "sendmailSetuidWrapper", "program"], "readOnly": false, "type": "null or string"}, "services.mail.sendmailSetuidWrapper.setgid": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add the setgid bit the wrapper program.", "loc": ["services", "mail", "sendmailSetuidWrapper", "setgid"], "readOnly": false, "type": "boolean"}, "services.mail.sendmailSetuidWrapper.setuid": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add the setuid bit the wrapper program.", "loc": ["services", "mail", "sendmailSetuidWrapper", "setuid"], "readOnly": false, "type": "boolean"}, "services.mail.sendmailSetuidWrapper.source": {"declarations": ["nixos/modules/security/wrappers/default.nix"], "description": "The absolute path to the program to be wrapped.", "loc": ["services", "mail", "sendmailSetuidWrapper", "source"], "readOnly": false, "type": "absolute path"}, "services.mailcatcher.enable": {"declarations": ["nixos/modules/services/mail/mailcatcher.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MailCatcher, an SMTP server and web interface to locally test outbound emails.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mailcatcher", "enable"], "readOnly": false, "type": "boolean"}, "services.mailcatcher.http.ip": {"declarations": ["nixos/modules/services/mail/mailcatcher.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The ip address of the http server.", "loc": ["services", "mailcatcher", "http", "ip"], "readOnly": false, "type": "string"}, "services.mailcatcher.http.path": {"declarations": ["nixos/modules/services/mail/mailcatcher.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Prefix to all HTTP paths.", "example": {"_type": "literalExpression", "text": "\"/mailcatcher\""}, "loc": ["services", "mailcatcher", "http", "path"], "readOnly": false, "type": "null or string"}, "services.mailcatcher.http.port": {"declarations": ["nixos/modules/services/mail/mailcatcher.nix"], "default": {"_type": "literalExpression", "text": "1080"}, "description": "The port address of the http server.", "loc": ["services", "mailcatcher", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mailcatcher.smtp.ip": {"declarations": ["nixos/modules/services/mail/mailcatcher.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The ip address of the smtp server.", "loc": ["services", "mailcatcher", "smtp", "ip"], "readOnly": false, "type": "string"}, "services.mailcatcher.smtp.port": {"declarations": ["nixos/modules/services/mail/mailcatcher.nix"], "default": {"_type": "literalExpression", "text": "1025"}, "description": "The port address of the smtp server.", "loc": ["services", "mailcatcher", "smtp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mailhog.apiPort": {"declarations": ["nixos/modules/services/mail/mailhog.nix"], "default": {"_type": "literalExpression", "text": "8025"}, "description": "Port on which the API endpoint will listen.", "loc": ["services", "mailhog", "apiPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mailhog.enable": {"declarations": ["nixos/modules/services/mail/mailhog.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MailHog, web and API based SMTP testing.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mailhog", "enable"], "readOnly": false, "type": "boolean"}, "services.mailhog.extraArgs": {"declarations": ["nixos/modules/services/mail/mailhog.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional arguments to pass to the MailHog process.", "loc": ["services", "mailhog", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.mailhog.setSendmail": {"declarations": ["nixos/modules/services/mail/mailhog.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable set the system sendmail to mailhogs's.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mailhog", "setSendmail"], "readOnly": false, "type": "boolean"}, "services.mailhog.smtpPort": {"declarations": ["nixos/modules/services/mail/mailhog.nix"], "default": {"_type": "literalExpression", "text": "1025"}, "description": "Port on which the SMTP endpoint will listen.", "loc": ["services", "mailhog", "smtpPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mailhog.storage": {"declarations": ["nixos/modules/services/mail/mailhog.nix"], "default": {"_type": "literalExpression", "text": "\"memory\""}, "description": "Store mails on disk or in memory.", "loc": ["services", "mailhog", "storage"], "readOnly": false, "type": "one of \"maildir\", \"memory\""}, "services.mailhog.uiPort": {"declarations": ["nixos/modules/services/mail/mailhog.nix"], "default": {"_type": "literalExpression", "text": "8025"}, "description": "Port on which the HTTP UI will listen.", "loc": ["services", "mailhog", "uiPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mailman.enable": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix).", "loc": ["services", "mailman", "enable"], "readOnly": false, "type": "boolean"}, "services.mailman.enablePostfix": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable Postfix integration. Requires an active Postfix installation.\n\nIf you want to use another MTA, set this option to false and configure\nsettings in services.mailman.settings.mta.\n\nRefer to the Mailman manual for more info.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "mailman", "enablePostfix"], "readOnly": false, "type": "boolean"}, "services.mailman.hyperkitty.baseUrl": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost:18507/archives/\""}, "description": "Where can Mailman connect to Hyperkitty's internal API, preferably on\nlocalhost?\n", "loc": ["services", "mailman", "hyperkitty", "baseUrl"], "readOnly": false, "type": "string"}, "services.mailman.hyperkitty.enable": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Hyperkitty archiver for Mailman.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mailman", "hyperkitty", "enable"], "readOnly": false, "type": "boolean"}, "services.mailman.ldap.attrMap.email": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"mail\""}, "description": "LDAP-attribute that corresponds to the `email`-attribute in mailman.\n", "loc": ["services", "mailman", "ldap", "attrMap", "email"], "readOnly": false, "type": "string"}, "services.mailman.ldap.attrMap.firstName": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"givenName\""}, "description": "LDAP-attribute that corresponds to the `firstName`-attribute in mailman.\n", "loc": ["services", "mailman", "ldap", "attrMap", "firstName"], "readOnly": false, "type": "string"}, "services.mailman.ldap.attrMap.lastName": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"sn\""}, "description": "LDAP-attribute that corresponds to the `lastName`-attribute in mailman.\n", "loc": ["services", "mailman", "ldap", "attrMap", "lastName"], "readOnly": false, "type": "string"}, "services.mailman.ldap.attrMap.username": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"uid\""}, "description": "LDAP-attribute that corresponds to the `username`-attribute in mailman.\n", "loc": ["services", "mailman", "ldap", "attrMap", "username"], "readOnly": false, "type": "string"}, "services.mailman.ldap.bindDn": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "Service account to bind against.\n", "example": {"_type": "literalExpression", "text": "\"cn=root,dc=nixos,dc=org\""}, "loc": ["services", "mailman", "ldap", "bindDn"], "readOnly": false, "type": "string"}, "services.mailman.ldap.bindPasswordFile": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "Path to the file containing the bind password of the service account\ndefined by [](#opt-services.mailman.ldap.bindDn).\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/ldap-bind\""}, "loc": ["services", "mailman", "ldap", "bindPasswordFile"], "readOnly": false, "type": "string"}, "services.mailman.ldap.enable": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable LDAP auth.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mailman", "ldap", "enable"], "readOnly": false, "type": "boolean"}, "services.mailman.ldap.groupSearch.ou": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "Organizational unit to look up a group.\n", "example": {"_type": "literalExpression", "text": "\"ou=groups,dc=nixos,dc=org\""}, "loc": ["services", "mailman", "ldap", "groupSearch", "ou"], "readOnly": false, "type": "string"}, "services.mailman.ldap.groupSearch.query": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "Query to find a group associated to a user in the LDAP database.\n", "example": {"_type": "literalExpression", "text": "\"(objectClass=groupOfNames)\""}, "loc": ["services", "mailman", "ldap", "groupSearch", "query"], "readOnly": false, "type": "string"}, "services.mailman.ldap.groupSearch.type": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"posixGroup\""}, "description": "Type of group to perform a group search against.\n", "loc": ["services", "mailman", "ldap", "groupSearch", "type"], "readOnly": false, "type": "one of \"posixGroup\", \"groupOfNames\", \"memberDNGroup\", \"nestedMemberDNGroup\", \"nestedGroupOfNames\", \"groupOfUniqueNames\", \"nestedGroupOfUniqueNames\", \"activeDirectoryGroup\", \"nestedActiveDirectoryGroup\", \"organizationalRoleGroup\", \"nestedOrganizationalRoleGroup\""}, "services.mailman.ldap.serverUri": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "LDAP host to connect against.\n", "example": {"_type": "literalExpression", "text": "\"ldaps://ldap.host\""}, "loc": ["services", "mailman", "ldap", "serverUri"], "readOnly": false, "type": "string"}, "services.mailman.ldap.superUserGroup": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Group where a user must be a member of to gain superuser rights.\n", "example": {"_type": "literalExpression", "text": "\"cn=admin,ou=groups,dc=nixos,dc=org\""}, "loc": ["services", "mailman", "ldap", "superUserGroup"], "readOnly": false, "type": "null or string"}, "services.mailman.ldap.userSearch.ou": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "Organizational unit to look up a user.\n", "example": {"_type": "literalExpression", "text": "\"ou=users,dc=nixos,dc=org\""}, "loc": ["services", "mailman", "ldap", "userSearch", "ou"], "readOnly": false, "type": "string"}, "services.mailman.ldap.userSearch.query": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "Query to find a user in the LDAP database.\n", "example": {"_type": "literalExpression", "text": "\"(&(objectClass=inetOrgPerson)(|(uid=%(user)s)(mail=%(user)s)))\""}, "loc": ["services", "mailman", "ldap", "userSearch", "query"], "readOnly": false, "type": "string"}, "services.mailman.packageSet": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mailmanPackages"}, "description": "The mailmanPackages package to use.", "loc": ["services", "mailman", "packageSet"], "readOnly": false, "type": "attribute set"}, "services.mailman.restApiPassFile": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the file containing the value for `MAILMAN_REST_API_PASS`.\n", "loc": ["services", "mailman", "restApiPassFile"], "readOnly": false, "type": "null or string"}, "services.mailman.serve.enable": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable automatic nginx and uwsgi setup for mailman-web.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mailman", "serve", "enable"], "readOnly": false, "type": "boolean"}, "services.mailman.serve.uwsgiSettings": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration to merge into uwsgi config.\n", "example": {"_type": "literalExpression", "text": "{\n  uwsgi = {\n    buffer-size = 8192;\n  };\n}"}, "loc": ["services", "mailman", "serve", "uwsgiSettings"], "readOnly": false, "type": "JSON value"}, "services.mailman.serve.virtualRoot": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"/\""}, "description": "Path to mount the mailman-web django application on.\n", "example": {"_type": "literalExpression", "text": "/lists"}, "loc": ["services", "mailman", "serve", "virtualRoot"], "readOnly": false, "type": "string"}, "services.mailman.settings": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for mailman.cfg", "loc": ["services", "mailman", "settings"], "readOnly": false, "type": "attribute set of attribute set of string"}, "services.mailman.siteOwner": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "description": "Certain messages that must be delivered to a human, but which can't\nbe delivered to a list owner (e.g. a bounce from a list owner), will\nbe sent to this address. It should point to a human.\n", "example": {"_type": "literalExpression", "text": "\"postmaster@example.org\""}, "loc": ["services", "mailman", "siteOwner"], "readOnly": false, "type": "string"}, "services.mailman.webHosts": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The list of hostnames and/or IP addresses from which the Mailman Web\nUI will accept requests. By default, \"localhost\" and \"127.0.0.1\" are\nenabled. All additional names under which your web server accepts\nrequests for the UI must be listed here or incoming requests will be\nrejected.\n", "loc": ["services", "mailman", "webHosts"], "readOnly": false, "type": "list of string"}, "services.mailman.webSettings": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Overrides for the default mailman-web Django settings.\n", "loc": ["services", "mailman", "webSettings"], "readOnly": false, "type": "attribute set"}, "services.mailman.webUser": {"declarations": ["nixos/modules/services/mail/mailman.nix"], "default": {"_type": "literalExpression", "text": "\"mailman-web\""}, "description": "User to run mailman-web as\n", "loc": ["services", "mailman", "webUser"], "readOnly": false, "type": "string"}, "services.mailpit.instances": {"declarations": ["nixos/modules/services/mail/mailpit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configure mailpit instances. The attribute-set values are\nCLI flags passed to the `mailpit` CLI.\n\nSee [upstream docs](https://mailpit.axllent.org/docs/configuration/runtime-options/)\nfor all available options.\n", "loc": ["services", "mailpit", "instances"], "readOnly": false, "type": "attribute set of (open submodule of attribute set of (string or signed integer or boolean))"}, "services.mailpit.instances.<name>.database": {"declarations": ["nixos/modules/services/mail/mailpit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify the local database filename to store persistent data.\nIf `null`, a temporary file will be created that will be removed when the application stops.\nIt's recommended to specify a relative path. The database will be written into the service's\nstate directory then.\n", "example": {"_type": "literalExpression", "text": "\"mailpit.db\""}, "loc": ["services", "mailpit", "instances", "<name>", "database"], "readOnly": false, "type": "null or string"}, "services.mailpit.instances.<name>.listen": {"declarations": ["nixos/modules/services/mail/mailpit.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:8025\""}, "description": "HTTP bind interface and port for UI.\n", "loc": ["services", "mailpit", "instances", "<name>", "listen"], "readOnly": false, "type": "string"}, "services.mailpit.instances.<name>.max": {"declarations": ["nixos/modules/services/mail/mailpit.nix"], "default": {"_type": "literalExpression", "text": "500"}, "description": "Maximum number of emails to keep. If the number is exceeded, old emails\nwill be deleted.\n\nSet to `0` to never prune old emails.\n", "loc": ["services", "mailpit", "instances", "<name>", "max"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.mailpit.instances.<name>.smtp": {"declarations": ["nixos/modules/services/mail/mailpit.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1:1025\""}, "description": "SMTP bind interface and port.\n", "loc": ["services", "mailpit", "instances", "<name>", "smtp"], "readOnly": false, "type": "string"}, "services.mainsail.enable": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a modern and responsive user interface for Klipper.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mainsail", "enable"], "readOnly": false, "type": "boolean"}, "services.mainsail.hostName": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Hostname to serve mainsail on", "loc": ["services", "mainsail", "hostName"], "readOnly": false, "type": "string"}, "services.mainsail.nginx": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration for the nginx virtual host of mainsail.", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [ \"mainsail.${config.networking.domain}\" ];\n}\n"}, "loc": ["services", "mainsail", "nginx"], "readOnly": false, "type": "submodule"}, "services.mainsail.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "mainsail", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "mainsail", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "mainsail", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "mainsail", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.mainsail.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "mainsail", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.mainsail.nginx.default": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "mainsail", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "mainsail", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "mainsail", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mainsail.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "mainsail", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "mainsail", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "mainsail", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "mainsail", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "mainsail", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "mainsail", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "mainsail", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.mainsail.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "description": "Listen address.", "loc": ["services", "mainsail", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.mainsail.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "mainsail", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.mainsail.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "mainsail", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mainsail.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "mainsail", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "mainsail", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "mainsail", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.mainsail.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "mainsail", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.mainsail.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.mainsail.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.mainsail.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "mainsail", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.mainsail.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "mainsail", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mainsail.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "mainsail", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.mainsail.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "mainsail", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.mainsail.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "mainsail", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "mainsail", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.mainsail.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.mainsail.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "mainsail", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "mainsail", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "mainsail", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "mainsail", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.mainsail.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "mainsail", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "mainsail", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.mainsail.nginx.root": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "mainsail", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.mainsail.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "mainsail", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.mainsail.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "mainsail", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.mainsail.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "mainsail", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.mainsail.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "mainsail", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.mainsail.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "mainsail", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.mainsail.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "mainsail", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.mainsail.package": {"declarations": ["nixos/modules/services/web-apps/mainsail.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mainsail"}, "description": "The mainsail package to use.", "loc": ["services", "mainsail", "package"], "readOnly": false, "type": "package"}, "services.malcontent.enable": {"declarations": ["nixos/modules/services/desktops/malcontent.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Malcontent, parental control support for applications.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "malcontent", "enable"], "readOnly": false, "type": "boolean"}, "services.mame.emuAddr": {"declarations": ["nixos/modules/services/misc/mame.nix"], "description": "IP address of the guest system. The same you set inside guest OS under\nMAME. Should be on the same subnet as {option}`services.mame.hostAddr`.\n", "example": {"_type": "literalExpression", "text": "\"192.168.31.155\""}, "loc": ["services", "mame", "emuAddr"], "readOnly": false, "type": "string"}, "services.mame.enable": {"declarations": ["nixos/modules/services/misc/mame.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to setup TUN/TAP Ethernet interface for MAME emulator.\n", "loc": ["services", "mame", "enable"], "readOnly": false, "type": "boolean"}, "services.mame.hostAddr": {"declarations": ["nixos/modules/services/misc/mame.nix"], "description": "IP address of the host system. Usually an address of the main network\nadapter or the adapter through which you get an internet connection.\n", "example": {"_type": "literalExpression", "text": "\"192.168.31.156\""}, "loc": ["services", "mame", "hostAddr"], "readOnly": false, "type": "string"}, "services.mame.user": {"declarations": ["nixos/modules/services/misc/mame.nix"], "description": "User from which you run MAME binary.\n", "loc": ["services", "mame", "user"], "readOnly": false, "type": "string"}, "services.manticore.enable": {"declarations": ["nixos/modules/services/search/manticore.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Manticoresearch.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "manticore", "enable"], "readOnly": false, "type": "boolean"}, "services.manticore.settings": {"declarations": ["nixos/modules/services/search/manticore.nix"], "default": {"_type": "literalExpression", "text": "{\n  searchd = {\n    data_dir = \"/var/lib/manticore\";\n    listen = [\n      \"127.0.0.1:9312\"\n      \"127.0.0.1:9306:mysql\"\n      \"127.0.0.1:9308:http\"\n    ];\n    log = \"/var/log/manticore/searchd.log\";\n    pid_file = \"/run/manticore/searchd.pid\";\n    query_log = \"/var/log/manticore/query.log\";\n  };\n}"}, "description": "Configuration for Manticoresearch. See\n<https://manual.manticoresearch.com/Server%20settings>\nfor more information.\n", "example": {"_type": "literalExpression", "text": "{\n  searchd = {\n      listen = [\n        \"127.0.0.1:9312\"\n        \"127.0.0.1:9306:mysql\"\n        \"127.0.0.1:9308:http\"\n      ];\n      log = \"/var/log/manticore/searchd.log\";\n      query_log = \"/var/log/manticore/query.log\";\n      pid_file = \"/run/manticore/searchd.pid\";\n      data_dir = \"/var/lib/manticore\";\n  };\n}\n"}, "loc": ["services", "manticore", "settings"], "readOnly": false, "type": "open submodule of (JSON value)"}, "services.marytts.basePath": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/marytts\""}, "description": "The base path in which MaryTTS runs.\n", "loc": ["services", "marytts", "basePath"], "readOnly": false, "type": "absolute path"}, "services.marytts.enable": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MaryTTS.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "marytts", "enable"], "readOnly": false, "type": "boolean"}, "services.marytts.openFirewall": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the port in the firewall for MaryTTS.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "marytts", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.marytts.package": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "pkgs.marytts"}, "description": "The marytts package to use.", "loc": ["services", "marytts", "package"], "readOnly": false, "type": "package"}, "services.marytts.port": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "59125"}, "description": "Port to bind the MaryTTS server to.\n", "loc": ["services", "marytts", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.marytts.settings": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for MaryTTS.\n\nSee the [default settings](https://github.com/marytts/marytts/blob/master/marytts-runtime/conf/marybase.config)\nfor a list of possible keys.\n", "loc": ["services", "marytts", "settings"], "readOnly": false, "type": "open submodule of attribute set of (string, package, bool, int or float)"}, "services.marytts.userDictionaries": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Paths to the user dictionary files for MaryTTS.\n", "example": {"_type": "literalExpression", "text": "[\n  (pkgs.writeTextFile {\n    name = \"userdict-en_US\";\n    destination = \"/userdict-en_US.txt\";\n    text = ''\n      Nixpkgs | n I k s - ' p { - k @ - dZ @ s\n    '';\n  })\n]\n"}, "loc": ["services", "marytts", "userDictionaries"], "readOnly": false, "type": "list of absolute path"}, "services.marytts.voices": {"declarations": ["nixos/modules/services/audio/marytts.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Paths to the JAR files that contain additional voices for MaryTTS.\n\nVoices are automatically detected by MaryTTS, so there is no need to alter\nyour config to make use of new voices.\n", "example": {"_type": "literalExpression", "text": "[\n  (pkgs.fetchzip {\n    url = \"https://github.com/marytts/voice-bits1-hsmm/releases/download/v5.2/voice-bits1-hsmm-5.2.zip\";\n    hash = \"sha256-1nK+qZxjumMev7z5lgKr660NCKH5FDwvZ9sw/YYYeaA=\";\n  })\n]\n"}, "loc": ["services", "marytts", "voices"], "readOnly": false, "type": "list of absolute path"}, "services.mastodon.activeRecordEncryptionDeterministicKeyFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/active-record-encryption-deterministic-key\""}, "description": "This key must be set to enable the Active Record Encryption feature within\nRails that Mastodon uses to encrypt and decrypt some database attributes.\nA new Active Record keys can be generated by running:\n\n`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`\n\nIf this file does not exist, it will be created with a new Active Record\nkeys.\n", "loc": ["services", "mastodon", "activeRecordEncryptionDeterministicKeyFile"], "readOnly": false, "type": "string"}, "services.mastodon.activeRecordEncryptionKeyDerivationSaltFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/active-record-encryption-key-derivation-salt\""}, "description": "This key must be set to enable the Active Record Encryption feature within\nRails that Mastodon uses to encrypt and decrypt some database attributes.\nA new Active Record keys can be generated by running:\n\n`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`\n\nIf this file does not exist, it will be created with a new Active Record\nkeys.\n", "loc": ["services", "mastodon", "activeRecordEncryptionKeyDerivationSaltFile"], "readOnly": false, "type": "string"}, "services.mastodon.activeRecordEncryptionPrimaryKeyFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/active-record-encryption-primary-key\""}, "description": "This key must be set to enable the Active Record Encryption feature within\nRails that Mastodon uses to encrypt and decrypt some database attributes.\nA new Active Record keys can be generated by running:\n\n`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`\n\nIf this file does not exist, it will be created with a new Active Record\nkeys.\n", "loc": ["services", "mastodon", "activeRecordEncryptionPrimaryKeyFile"], "readOnly": false, "type": "string"}, "services.mastodon.automaticMigrations": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Do automatic database migrations.\n", "loc": ["services", "mastodon", "automaticMigrations"], "readOnly": false, "type": "boolean"}, "services.mastodon.configureNginx": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configure nginx as a reverse proxy for mastodon.\nNote that this makes some assumptions on your setup, and sets settings that will\naffect other virtualHosts running on your nginx instance, if any.\nAlternatively you can configure a reverse-proxy of your choice to serve these paths:\n\n`/ -> ${pkgs.mastodon}/public`\n\n`/ -> 127.0.0.1:{{ webPort }} `(If there was no file in the directory above.)\n\n`/system/ -> /var/lib/mastodon/public-system/`\n\n`/api/v1/streaming/ -> 127.0.0.1:{{ streamingPort }}`\n\nMake sure that websockets are forwarded properly. You might want to set up caching\nof some requests. Take a look at mastodon's provided nginx configuration at\n`https://github.com/mastodon/mastodon/blob/master/dist/nginx.conf`.\n", "loc": ["services", "mastodon", "configureNginx"], "readOnly": false, "type": "boolean"}, "services.mastodon.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Configure local PostgreSQL database server for Mastodon.", "loc": ["services", "mastodon", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.mastodon.database.host": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"/run/postgresql\""}, "description": "Database host address or unix socket.", "example": {"_type": "literalExpression", "text": "\"192.168.23.42\""}, "loc": ["services", "mastodon", "database", "host"], "readOnly": false, "type": "string"}, "services.mastodon.database.name": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"mastodon\""}, "description": "Database name.", "loc": ["services", "mastodon", "database", "name"], "readOnly": false, "type": "string"}, "services.mastodon.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/db-password\""}, "loc": ["services", "mastodon", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.mastodon.database.port": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "if config.services.mastodon.database.createLocally\nthen null\nelse 5432\n"}, "description": "Database host port.", "loc": ["services", "mastodon", "database", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mastodon.database.user": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"mastodon\""}, "description": "Database user.", "loc": ["services", "mastodon", "database", "user"], "readOnly": false, "type": "string"}, "services.mastodon.elasticsearch.host": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Elasticsearch host.\nIf it is not null, Elasticsearch full text search will be enabled.\n", "loc": ["services", "mastodon", "elasticsearch", "host"], "readOnly": false, "type": "null or string"}, "services.mastodon.elasticsearch.passwordFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file containing password for optionally authenticating with Elasticsearch.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/elasticsearch-password\""}, "loc": ["services", "mastodon", "elasticsearch", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.mastodon.elasticsearch.port": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "9200"}, "description": "Elasticsearch port.", "loc": ["services", "mastodon", "elasticsearch", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mastodon.elasticsearch.prefix": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If provided, adds a prefix to indexes in Elasticsearch. This allows to use the same\nElasticsearch cluster between different projects or Mastodon servers.\n", "example": {"_type": "literalExpression", "text": "\"mastodon\""}, "loc": ["services", "mastodon", "elasticsearch", "prefix"], "readOnly": false, "type": "null or string"}, "services.mastodon.elasticsearch.preset": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"single_node_cluster\""}, "description": "It controls the ElasticSearch indices configuration (number of shards and replica).\n", "example": {"_type": "literalExpression", "text": "\"large_cluster\""}, "loc": ["services", "mastodon", "elasticsearch", "preset"], "readOnly": false, "type": "one of \"single_node_cluster\", \"small_cluster\", \"large_cluster\""}, "services.mastodon.elasticsearch.user": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Used for optionally authenticating with Elasticsearch.", "example": {"_type": "literalExpression", "text": "\"elasticsearch-mastodon\""}, "loc": ["services", "mastodon", "elasticsearch", "user"], "readOnly": false, "type": "null or string"}, "services.mastodon.enable": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mastodon, a federated social network server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mastodon", "enable"], "readOnly": false, "type": "boolean"}, "services.mastodon.enableUnixSocket": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Instead of binding to an IP address like 127.0.0.1, you may bind to a Unix socket. This variable\nis process-specific, e.g. you need different values for every process, and it works for both web (Puma)\nprocesses and streaming API (Node.js) processes.\n", "loc": ["services", "mastodon", "enableUnixSocket"], "readOnly": false, "type": "boolean"}, "services.mastodon.extraConfig": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to pass to all mastodon services.\n", "loc": ["services", "mastodon", "extraConfig"], "readOnly": false, "type": "attribute set"}, "services.mastodon.extraEnvFiles": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra environment files to pass to all mastodon services. Useful for passing down environmental secrets.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/etc/mastodon/s3config.env\"\n]"}, "loc": ["services", "mastodon", "extraEnvFiles"], "readOnly": false, "type": "list of absolute path"}, "services.mastodon.group": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"mastodon\""}, "description": "Group under which mastodon runs.\n", "loc": ["services", "mastodon", "group"], "readOnly": false, "type": "string"}, "services.mastodon.localDomain": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "description": "The domain serving your Mastodon instance.", "example": {"_type": "literalExpression", "text": "\"social.example.org\""}, "loc": ["services", "mastodon", "localDomain"], "readOnly": false, "type": "string"}, "services.mastodon.mediaAutoRemove.enable": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Automatically remove remote media attachments and preview cards older than the configured amount of days.\n\nRecommended in <https://docs.joinmastodon.org/admin/setup/>.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "mastodon", "mediaAutoRemove", "enable"], "readOnly": false, "type": "boolean"}, "services.mastodon.mediaAutoRemove.olderThanDays": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "30"}, "description": "How old remote media needs to be in order to be removed.\n", "example": {"_type": "literalExpression", "text": "14"}, "loc": ["services", "mastodon", "mediaAutoRemove", "olderThanDays"], "readOnly": false, "type": "signed integer"}, "services.mastodon.mediaAutoRemove.startAt": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"daily\""}, "description": "How often to remove remote media.\n\nThe format is described in {manpage}`systemd.time(7)`.\n", "example": {"_type": "literalExpression", "text": "\"hourly\""}, "loc": ["services", "mastodon", "mediaAutoRemove", "startAt"], "readOnly": false, "type": "string"}, "services.mastodon.package": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mastodon"}, "description": "The mastodon package to use.", "loc": ["services", "mastodon", "package"], "readOnly": false, "type": "package"}, "services.mastodon.redis.createLocally": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Configure local Redis server for Mastodon.", "loc": ["services", "mastodon", "redis", "createLocally"], "readOnly": false, "type": "boolean"}, "services.mastodon.redis.enableUnixSocket": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use Unix socket", "loc": ["services", "mastodon", "redis", "enableUnixSocket"], "readOnly": false, "type": "boolean"}, "services.mastodon.redis.host": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "if config.services.mastodon.redis.createLocally && !config.services.mastodon.redis.enableUnixSocket then \"127.0.0.1\" else null\n"}, "description": "Redis host.", "loc": ["services", "mastodon", "redis", "host"], "readOnly": false, "type": "null or string"}, "services.mastodon.redis.passwordFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password for Redis database.", "example": {"_type": "literalExpression", "text": "\"/run/keys/mastodon-redis-password\""}, "loc": ["services", "mastodon", "redis", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.mastodon.redis.port": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "if config.services.mastodon.redis.createLocally && !config.services.mastodon.redis.enableUnixSocket then 31637 else null\n"}, "description": "Redis port.", "loc": ["services", "mastodon", "redis", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mastodon.secretKeyBaseFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/secret-key-base\""}, "description": "Path to file containing the secret key base.\nA new secret key base can be generated by running:\n\n`nix build -f '<nixpkgs>' mastodon; cd result; bin/bundle exec rails secret`\n\nIf this file does not exist, it will be created with a new secret key base.\n", "loc": ["services", "mastodon", "secretKeyBaseFile"], "readOnly": false, "type": "string"}, "services.mastodon.sidekiqPort": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "55002"}, "description": "TCP port used by the mastodon-sidekiq service.", "loc": ["services", "mastodon", "sidekiqPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mastodon.sidekiqProcesses": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "{\n  all = {\n    jobClasses = [ ];\n    threads = null;\n  };\n}"}, "description": "How many Sidekiq processes should be used to handle background jobs, and which job classes they handle. *Read the [upstream documentation](https://docs.joinmastodon.org/admin/scaling/#sidekiq) before configuring this!*", "example": {"_type": "literalExpression", "text": "{\n  all = {\n    jobClasses = [ ];\n    threads = null;\n  };\n  default = {\n    jobClasses = [\n      \"default\"\n    ];\n    threads = 10;\n  };\n  ingress = {\n    jobClasses = [\n      \"ingress\"\n    ];\n    threads = 5;\n  };\n  push-pull = {\n    jobClasses = [\n      \"push\"\n      \"pull\"\n    ];\n    threads = 5;\n  };\n}"}, "loc": ["services", "mastodon", "sidekiqProcesses"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.mastodon.sidekiqProcesses.<name>.jobClasses": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "If not empty, which job classes should be executed by this process. *Only one process should handle the 'scheduler' class. If left empty, this process will handle the 'scheduler' class.*", "loc": ["services", "mastodon", "sidekiqProcesses", "<name>", "jobClasses"], "readOnly": false, "type": "list of (one of \"default\", \"fasp\", \"push\", \"pull\", \"mailers\", \"scheduler\", \"ingress\")"}, "services.mastodon.sidekiqProcesses.<name>.threads": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Number of threads this process should use for executing jobs. If null, the configured `sidekiqThreads` are used.", "loc": ["services", "mastodon", "sidekiqProcesses", "<name>", "threads"], "readOnly": false, "type": "null or signed integer"}, "services.mastodon.sidekiqThreads": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "Worker threads used by the mastodon-sidekiq-all service. If `sidekiqProcesses` is configured and any processes specify null `threads`, this value is used.", "loc": ["services", "mastodon", "sidekiqThreads"], "readOnly": false, "type": "signed integer"}, "services.mastodon.smtp.authenticate": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Authenticate with the SMTP server using username and password.", "loc": ["services", "mastodon", "smtp", "authenticate"], "readOnly": false, "type": "boolean"}, "services.mastodon.smtp.createLocally": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Configure local Postfix SMTP server for Mastodon.", "loc": ["services", "mastodon", "smtp", "createLocally"], "readOnly": false, "type": "boolean"}, "services.mastodon.smtp.fromAddress": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "description": "\"From\" address used when sending Emails to users.", "loc": ["services", "mastodon", "smtp", "fromAddress"], "readOnly": false, "type": "string"}, "services.mastodon.smtp.host": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "SMTP host used when sending emails to users.", "loc": ["services", "mastodon", "smtp", "host"], "readOnly": false, "type": "string"}, "services.mastodon.smtp.passwordFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file containing the SMTP password.\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/smtp-password\""}, "loc": ["services", "mastodon", "smtp", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.mastodon.smtp.port": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "25"}, "description": "SMTP port used when sending emails to users.", "loc": ["services", "mastodon", "smtp", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mastodon.smtp.user": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SMTP login name.", "example": {"_type": "literalExpression", "text": "\"mastodon@example.com\""}, "loc": ["services", "mastodon", "smtp", "user"], "readOnly": false, "type": "null or string"}, "services.mastodon.streamingProcesses": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "description": "Number of processes used by the mastodon-streaming service.\nPlease define this explicitly, recommended is the amount of your CPU cores minus one.\n", "example": {"_type": "literalExpression", "text": "3"}, "loc": ["services", "mastodon", "streamingProcesses"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.mastodon.trustedProxy": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "You need to set it to the IP from which your reverse proxy sends requests to Mastodon's web process,\notherwise Mastodon will record the reverse proxy's own IP as the IP of all requests, which would be\nbad because IP addresses are used for important rate limits and security functions.\n", "loc": ["services", "mastodon", "trustedProxy"], "readOnly": false, "type": "string"}, "services.mastodon.user": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"mastodon\""}, "description": "User under which mastodon runs. If it is set to \"mastodon\",\nthat user will be created, otherwise it should be set to the\nname of a user created elsewhere.\nIn both cases, the `mastodon` package will be added to the user's package set\nand a tootctl wrapper to system packages that switches to the configured account\nand load the right environment.\n", "loc": ["services", "mastodon", "user"], "readOnly": false, "type": "string"}, "services.mastodon.vapidPrivateKeyFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/vapid-private-key\""}, "description": "Path to file containing the private key used for Web Push\nVoluntary Application Server Identification.  A new keypair can\nbe generated by running:\n\n`nix build -f '<nixpkgs>' mastodon; cd result; bin/rake webpush:generate_keys`\n\nIf this file does not exist, it will be created with a new\nprivate key.\n", "loc": ["services", "mastodon", "vapidPrivateKeyFile"], "readOnly": false, "type": "string"}, "services.mastodon.vapidPublicKeyFile": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mastodon/secrets/vapid-public-key\""}, "description": "Path to file containing the public key used for Web Push\nVoluntary Application Server Identification.  A new keypair can\nbe generated by running:\n\n`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production bin/rake webpush:generate_keys`\n\nIf {option}`mastodon.vapidPrivateKeyFile`does not\nexist, it and this file will be created with a new keypair.\n", "loc": ["services", "mastodon", "vapidPublicKeyFile"], "readOnly": false, "type": "string"}, "services.mastodon.webPort": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "55001"}, "description": "TCP port used by the mastodon-web service.", "loc": ["services", "mastodon", "webPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mastodon.webProcesses": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "2"}, "description": "Processes used by the mastodon-web service.", "loc": ["services", "mastodon", "webProcesses"], "readOnly": false, "type": "signed integer"}, "services.mastodon.webThreads": {"declarations": ["nixos/modules/services/web-apps/mastodon.nix"], "default": {"_type": "literalExpression", "text": "5"}, "description": "Threads per process used by the mastodon-web service.", "loc": ["services", "mastodon", "webThreads"], "readOnly": false, "type": "signed integer"}, "services.matomo.enable": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable Matomo web analytics with php-fpm backend.\nEither the nginx option or the webServerUser option is mandatory.\n", "loc": ["services", "matomo", "enable"], "readOnly": false, "type": "boolean"}, "services.matomo.hostname": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "\"matomo.${config.networking.fqdnOrHostName}\"\n"}, "description": "URL of the host, without https prefix. You may want to change it if you\nrun Matomo on a different URL than matomo.yourdomain.\n", "example": {"_type": "literalExpression", "text": "\"matomo.yourdomain.org\""}, "loc": ["services", "matomo", "hostname"], "readOnly": false, "type": "string"}, "services.matomo.nginx": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "With this option, you can customize an nginx virtualHost which already has sensible defaults for Matomo.\nEither this option or the webServerUser option is mandatory.\nSet this to {} to just enable the virtualHost if you don't need any customization.\nIf enabled, then by default, the {option}`serverName` is\n`${user}.${config.networking.hostName}.${config.networking.domain}`,\nSSL is active, and certificates are acquired via ACME.\nIf this is set to null (the default), no nginx virtualHost will be configured.\n", "example": {"_type": "literalExpression", "text": "{\n  serverAliases = [\n    \"matomo.${config.networking.domain}\"\n    \"stats.${config.networking.domain}\"\n  ];\n  enableACME = false;\n}\n"}, "loc": ["services", "matomo", "nginx"], "readOnly": false, "type": "null or (submodule)"}, "services.matomo.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "matomo", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "matomo", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "matomo", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "matomo", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.matomo.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "matomo", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.matomo.nginx.default": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "matomo", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "matomo", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "matomo", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.matomo.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "matomo", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "matomo", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "matomo", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "matomo", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "matomo", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "matomo", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "matomo", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.matomo.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "description": "Listen address.", "loc": ["services", "matomo", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.matomo.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "matomo", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.matomo.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "matomo", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.matomo.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "matomo", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "matomo", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "matomo", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.matomo.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "matomo", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.matomo.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.matomo.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.matomo.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "matomo", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.matomo.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "matomo", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.matomo.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "matomo", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.matomo.nginx.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "matomo", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.matomo.nginx.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.locations.<name>.proxyWebsockets": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.locations.<name>.recommendedProxySettings": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "matomo", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "matomo", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.locations.<name>.return": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.matomo.nginx.locations.<name>.root": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.matomo.nginx.locations.<name>.tryFiles": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.locations.<name>.uwsgiPass": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "matomo", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.onlySSL": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "matomo", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.quic": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "matomo", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.redirectCode": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "matomo", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.matomo.nginx.rejectSSL": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "matomo", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.reuseport": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "matomo", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.matomo.nginx.root": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "matomo", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.matomo.nginx.serverAliases": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "matomo", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.matomo.nginx.serverName": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "matomo", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.matomo.nginx.sslCertificate": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "matomo", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.matomo.nginx.sslCertificateKey": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "matomo", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.matomo.nginx.sslTrustedCertificate": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "matomo", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.matomo.nginx.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "matomo", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.matomo.package": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matomo"}, "description": "The matomo package to use.", "loc": ["services", "matomo", "package"], "readOnly": false, "type": "package"}, "services.matomo.periodicArchiveProcessing": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable periodic archive processing, which generates aggregated reports from the visits.\n\nThis means that you can safely disable browser triggers for Matomo archiving,\nand safely enable to delete old visitor logs.\nBefore deleting visitor logs,\nmake sure though that you run `systemctl start matomo-archive-processing.service`\nat least once without errors if you have already collected data before.\n", "loc": ["services", "matomo", "periodicArchiveProcessing"], "readOnly": false, "type": "boolean"}, "services.matomo.webServerUser": {"declarations": ["nixos/modules/services/web-apps/matomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the web server user that forwards requests to {option}`services.phpfpm.pools.<name>.socket` the fastcgi socket for Matomo if the nginx\noption is not used. Either this option or the nginx option is mandatory.\nIf you want to use another webserver than nginx, you need to set this to that server's user\nand pass fastcgi requests to `index.php`, `matomo.php` and `piwik.php` (legacy name) to this socket.\n", "example": {"_type": "literalExpression", "text": "\"lighttpd\""}, "loc": ["services", "matomo", "webServerUser"], "readOnly": false, "type": "null or string"}, "services.matrix-alertmanager.enable": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable matrix-alertmanager.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matrix-alertmanager", "enable"], "readOnly": false, "type": "boolean"}, "services.matrix-alertmanager.homeserverUrl": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "description": "URL of the Matrix homeserver to use.", "example": {"_type": "literalExpression", "text": "\"https://matrix.example.com\""}, "loc": ["services", "matrix-alertmanager", "homeserverUrl"], "readOnly": false, "type": "string"}, "services.matrix-alertmanager.matrixRooms": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "description": "Combination of Alertmanager receiver(s) and rooms for the bot to join.\nEach Alertmanager receiver can be mapped to post to a matrix room.\n\nNote, you must use a room ID and not a room alias/name. Room IDs start\nwith a \"!\".\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    receivers = [\n      \"receiver1\"\n      \"receiver2\"\n    ];\n    roomId = \"!roomid@example.com\";\n  }\n  {\n    receivers = [\n      \"receiver3\"\n    ];\n    roomId = \"!differentroomid@example.com\";\n  }\n]"}, "loc": ["services", "matrix-alertmanager", "matrixRooms"], "readOnly": false, "type": "list of (submodule)"}, "services.matrix-alertmanager.matrixRooms.*.receivers": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of receivers for this room", "loc": ["services", "matrix-alertmanager", "matrixRooms", "*", "receivers"], "readOnly": false, "type": "list of string"}, "services.matrix-alertmanager.matrixRooms.*.roomId": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "description": "Matrix room ID", "loc": ["services", "matrix-alertmanager", "matrixRooms", "*", "roomId"], "readOnly": false, "type": "string"}, "services.matrix-alertmanager.matrixUser": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "description": "Matrix user to use for the bot.", "example": {"_type": "literalExpression", "text": "\"@alertmanageruser:example.com\""}, "loc": ["services", "matrix-alertmanager", "matrixUser"], "readOnly": false, "type": "string"}, "services.matrix-alertmanager.mention": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes the bot mention @room when posting an alert", "loc": ["services", "matrix-alertmanager", "mention"], "readOnly": false, "type": "boolean"}, "services.matrix-alertmanager.package": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matrix-alertmanager"}, "description": "The matrix-alertmanager package to use.", "loc": ["services", "matrix-alertmanager", "package"], "readOnly": false, "type": "package"}, "services.matrix-alertmanager.port": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Port that matrix-alertmanager listens on.", "loc": ["services", "matrix-alertmanager", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.matrix-alertmanager.secretFile": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "description": "File that contains a secret for the Alertmanager webhook.", "loc": ["services", "matrix-alertmanager", "secretFile"], "readOnly": false, "type": "absolute path not in the Nix store"}, "services.matrix-alertmanager.tokenFile": {"declarations": ["nixos/modules/services/matrix/matrix-alertmanager.nix"], "description": "File that contains a valid Matrix token for the Matrix user.", "loc": ["services", "matrix-alertmanager", "tokenFile"], "readOnly": false, "type": "absolute path not in the Nix store"}, "services.matrix-appservice-discord.enable": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a bridge between Matrix and Discord.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matrix-appservice-discord", "enable"], "readOnly": false, "type": "boolean"}, "services.matrix-appservice-discord.environmentFile": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing environment variables to be passed to the matrix-appservice-discord service,\nin which secret tokens can be specified securely by defining values for\n`APPSERVICE_DISCORD_AUTH_CLIENT_I_D` and\n`APPSERVICE_DISCORD_AUTH_BOT_TOKEN`.\n", "loc": ["services", "matrix-appservice-discord", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.matrix-appservice-discord.localpart": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The user_id localpart to assign to the AS.\n", "loc": ["services", "matrix-appservice-discord", "localpart"], "readOnly": false, "type": "null or string"}, "services.matrix-appservice-discord.package": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matrix-appservice-discord"}, "description": "The matrix-appservice-discord package to use.", "loc": ["services", "matrix-appservice-discord", "package"], "readOnly": false, "type": "package"}, "services.matrix-appservice-discord.port": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "9005"}, "description": "Port number on which the bridge should listen for internal communication with the Matrix homeserver.\n", "loc": ["services", "matrix-appservice-discord", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.matrix-appservice-discord.serviceDependencies": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit\n"}, "description": "List of Systemd services to require and wait for when starting the application service,\nsuch as the Matrix homeserver if it's running on the same host.\n", "loc": ["services", "matrix-appservice-discord", "serviceDependencies"], "readOnly": false, "type": "list of string"}, "services.matrix-appservice-discord.settings": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "{\n  auth = {\n    botToken = \"\";\n    clientID = \"\";\n  };\n  database = {\n    filename = \"/var/lib/matrix-appservice-discord/discord.db\";\n  };\n}"}, "description": "{file}`config.yaml` configuration as a Nix attribute set.\n\nConfiguration options should match those described in\n[config.sample.yaml](https://github.com/Half-Shot/matrix-appservice-discord/blob/master/config/config.sample.yaml).\n\n{option}`config.bridge.domain` and {option}`config.bridge.homeserverUrl`\nshould be set to match the public host name of the Matrix homeserver for webhooks and avatars to work.\n\nSecret tokens should be specified using {option}`environmentFile`\ninstead of this world-readable attribute set.\n", "example": {"_type": "literalExpression", "text": "{\n  bridge = {\n    domain = \"public-domain.tld\";\n    homeserverUrl = \"http://public-domain.tld:8008\";\n  };\n}\n"}, "loc": ["services", "matrix-appservice-discord", "settings"], "readOnly": false, "type": "attribute set"}, "services.matrix-appservice-discord.url": {"declarations": ["nixos/modules/services/matrix/appservice-discord.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost:${toString config.services.matrix-appservice-discord.port}\""}, "description": "The URL where the application service is listening for HS requests.\n", "loc": ["services", "matrix-appservice-discord", "url"], "readOnly": false, "type": "string"}, "services.matrix-conduit.enable": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable matrix-conduit.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matrix-conduit", "enable"], "readOnly": false, "type": "boolean"}, "services.matrix-conduit.extraEnvironment": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra Environment variables to pass to the conduit server.", "example": {"_type": "literalExpression", "text": "{\n  RUST_BACKTRACE = \"yes\";\n}"}, "loc": ["services", "matrix-conduit", "extraEnvironment"], "readOnly": false, "type": "attribute set of string"}, "services.matrix-conduit.package": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matrix-conduit"}, "description": "The matrix-conduit package to use.", "loc": ["services", "matrix-conduit", "package"], "readOnly": false, "type": "package"}, "services.matrix-conduit.secretFile": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing sensitive environment as described in {manpage}`systemd.exec(5).\nSome variables that can be considered secrets are:\n\n- CONDUIT_JWT_SECRET:\n  The secret used to enable JWT login. Without it a 400 error will be returned.\n\n- CONDUIT_TURN_SECRET:\n  The TURN secret\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/matrix-conduit.env\""}, "loc": ["services", "matrix-conduit", "secretFile"], "readOnly": false, "type": "null or absolute path"}, "services.matrix-conduit.settings": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Generates the conduit.toml configuration file. Refer to\n<https://docs.conduit.rs/configuration.html>\nfor details on supported values.\nNote that database_path can not be edited because the service's reliance on systemd StateDir.\nFor secrets use the `secretFile` option instead.\n", "loc": ["services", "matrix-conduit", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.matrix-conduit.settings.global.address": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "\"::1\""}, "description": "Address to listen on for connections by the reverse proxy/tls terminator.", "loc": ["services", "matrix-conduit", "settings", "global", "address"], "readOnly": false, "type": "string"}, "services.matrix-conduit.settings.global.allow_check_for_updates": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to allow Conduit to automatically contact\n<https://conduit.rs> hourly to check for important Conduit news.\n\nDisabled by default because nixpkgs handles updates.\n", "loc": ["services", "matrix-conduit", "settings", "global", "allow_check_for_updates"], "readOnly": false, "type": "boolean"}, "services.matrix-conduit.settings.global.allow_encryption": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.", "loc": ["services", "matrix-conduit", "settings", "global", "allow_encryption"], "readOnly": false, "type": "boolean"}, "services.matrix-conduit.settings.global.allow_federation": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether this server federates with other servers.\n", "loc": ["services", "matrix-conduit", "settings", "global", "allow_federation"], "readOnly": false, "type": "boolean"}, "services.matrix-conduit.settings.global.allow_registration": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether new users can register on this server.", "loc": ["services", "matrix-conduit", "settings", "global", "allow_registration"], "readOnly": false, "type": "boolean"}, "services.matrix-conduit.settings.global.database_backend": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite\""}, "description": "The database backend for the service. Switching it on an existing\ninstance will require manual migration of data.\n", "example": {"_type": "literalExpression", "text": "\"rocksdb\""}, "loc": ["services", "matrix-conduit", "settings", "global", "database_backend"], "readOnly": false, "type": "one of \"sqlite\", \"rocksdb\""}, "services.matrix-conduit.settings.global.database_path": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/matrix-conduit/\""}, "description": "Path to the conduit database, the directory where conduit will save its data.\nNote that due to using the DynamicUser feature of systemd, this value should not be changed\nand is set to be read only.\n", "loc": ["services", "matrix-conduit", "settings", "global", "database_path"], "readOnly": true, "type": "string"}, "services.matrix-conduit.settings.global.max_request_size": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "20000000"}, "description": "Max request size in bytes. Don't forget to also change it in the proxy.", "loc": ["services", "matrix-conduit", "settings", "global", "max_request_size"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.matrix-conduit.settings.global.port": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "6167"}, "description": "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port", "loc": ["services", "matrix-conduit", "settings", "global", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.matrix-conduit.settings.global.server_name": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "description": "The server_name is the name of this server. It is used as a suffix for user # and room ids.", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "matrix-conduit", "settings", "global", "server_name"], "readOnly": false, "type": "string"}, "services.matrix-conduit.settings.global.trusted_servers": {"declarations": ["nixos/modules/services/matrix/conduit.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"matrix.org\"\n]"}, "description": "Servers trusted with signing server keys.", "loc": ["services", "matrix-conduit", "settings", "global", "trusted_servers"], "readOnly": false, "type": "list of string"}, "services.matrix-continuwuity.admin.enable": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "config.services.matrix-continuwuity.enable"}, "description": "Add conduwuit command to PATH for administration", "loc": ["services", "matrix-continuwuity", "admin", "enable"], "readOnly": false, "type": "boolean"}, "services.matrix-continuwuity.enable": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable continuwuity.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matrix-continuwuity", "enable"], "readOnly": false, "type": "boolean"}, "services.matrix-continuwuity.extraEnvironment": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra Environment variables to pass to the continuwuity server.", "example": {"_type": "literalExpression", "text": "{\n  RUST_BACKTRACE = \"yes\";\n}"}, "loc": ["services", "matrix-continuwuity", "extraEnvironment"], "readOnly": false, "type": "attribute set of string"}, "services.matrix-continuwuity.group": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "\"continuwuity\""}, "description": "The group {command}`continuwuity` is run as.\n", "loc": ["services", "matrix-continuwuity", "group"], "readOnly": false, "type": "non-empty string"}, "services.matrix-continuwuity.package": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matrix-continuwuity"}, "description": "The matrix-continuwuity package to use.", "loc": ["services", "matrix-continuwuity", "package"], "readOnly": false, "type": "package"}, "services.matrix-continuwuity.settings": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Generates the continuwuity.toml configuration file. Refer to\n<https://continuwuity.org/configuration.html>\nfor details on supported values.\n", "loc": ["services", "matrix-continuwuity", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.matrix-continuwuity.settings.global.address": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Addresses (IPv4 or IPv6) to listen on for connections by the reverse proxy/tls terminator.\nIf set to `null`, continuwuity will listen on IPv4 and IPv6 localhost.\nMust be `null` if `unix_socket_path` is set.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"::1\"\n]"}, "loc": ["services", "matrix-continuwuity", "settings", "global", "address"], "readOnly": false, "type": "null or (list of non-empty string)"}, "services.matrix-continuwuity.settings.global.allow_announcements_check": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If enabled, continuwuity will send a simple GET request periodically to\n<https://continuwuity.org/.well-known/continuwuity/announcements> for any new announcements made.\n", "loc": ["services", "matrix-continuwuity", "settings", "global", "allow_announcements_check"], "readOnly": false, "type": "boolean"}, "services.matrix-continuwuity.settings.global.allow_encryption": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.", "loc": ["services", "matrix-continuwuity", "settings", "global", "allow_encryption"], "readOnly": false, "type": "boolean"}, "services.matrix-continuwuity.settings.global.allow_federation": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether this server federates with other servers.\n", "loc": ["services", "matrix-continuwuity", "settings", "global", "allow_federation"], "readOnly": false, "type": "boolean"}, "services.matrix-continuwuity.settings.global.allow_registration": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether new users can register on this server.\n\nRegistration with token requires `registration_token` or `registration_token_file` to be set.\n\nIf set to true without a token configured, and\n`yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse`\nis set to true, users can freely register.\n", "loc": ["services", "matrix-continuwuity", "settings", "global", "allow_registration"], "readOnly": false, "type": "boolean"}, "services.matrix-continuwuity.settings.global.database_path": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/continuwuity/\""}, "description": "Path to the continuwuity database, the directory where continuwuity will save its data.\nNote that database_path cannot be edited because of the service's reliance on systemd StateDir.\n", "loc": ["services", "matrix-continuwuity", "settings", "global", "database_path"], "readOnly": true, "type": "absolute path"}, "services.matrix-continuwuity.settings.global.max_request_size": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "20000000"}, "description": "Max request size in bytes. Don't forget to also change it in the proxy.", "loc": ["services", "matrix-continuwuity", "settings", "global", "max_request_size"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.matrix-continuwuity.settings.global.port": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "[\n  6167\n]"}, "description": "The port(s) continuwuity will be running on.\nYou need to set up a reverse proxy in your web server (e.g. apache or nginx),\nso all requests to /_matrix on port 443 and 8448 will be forwarded to the continuwuity\ninstance running on this port.\n", "loc": ["services", "matrix-continuwuity", "settings", "global", "port"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.matrix-continuwuity.settings.global.server_name": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "description": "The server_name is the name of this server. It is used as a suffix for user and room ids.", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "matrix-continuwuity", "settings", "global", "server_name"], "readOnly": false, "type": "non-empty string"}, "services.matrix-continuwuity.settings.global.trusted_servers": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"matrix.org\"\n]"}, "description": "Servers listed here will be used to gather public keys of other servers\n(notary trusted key servers).\n\nCurrently, continuwuity doesn't support inbound batched key requests, so\nthis list should only contain other Synapse servers.\n\nExample: `[ \"matrix.org\" \"constellatory.net\" \"tchncs.de\" ]`\n", "loc": ["services", "matrix-continuwuity", "settings", "global", "trusted_servers"], "readOnly": false, "type": "list of non-empty string"}, "services.matrix-continuwuity.settings.global.unix_socket_path": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Listen on a UNIX socket at the specified path. If listening on a UNIX socket,\nlistening on an address will be disabled. The `address` option must be set to\n`null` (the default value). The option {option}`services.continuwuity.group` must\nbe set to a group your reverse proxy is part of.\n\nThis will automatically add a system user \"continuwuity\" to your system if\n{option}`services.continuwuity.user` is left at the default, and a \"continuwuity\"\ngroup if {option}`services.continuwuity.group` is left at the default.\n", "loc": ["services", "matrix-continuwuity", "settings", "global", "unix_socket_path"], "readOnly": false, "type": "null or absolute path"}, "services.matrix-continuwuity.settings.global.unix_socket_perms": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "660"}, "description": "The default permissions (in octal) to create the UNIX socket with.", "loc": ["services", "matrix-continuwuity", "settings", "global", "unix_socket_perms"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.matrix-continuwuity.user": {"declarations": ["nixos/modules/services/matrix/continuwuity.nix"], "default": {"_type": "literalExpression", "text": "\"continuwuity\""}, "description": "The user {command}`continuwuity` is run as.\n", "loc": ["services", "matrix-continuwuity", "user"], "readOnly": false, "type": "non-empty string"}, "services.matrix-hookshot.enable": {"declarations": ["nixos/modules/services/matrix/hookshot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable matrix-hookshot, a bridge between Matrix and project management services.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matrix-hookshot", "enable"], "readOnly": false, "type": "boolean"}, "services.matrix-hookshot.package": {"declarations": ["nixos/modules/services/matrix/hookshot.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matrix-hookshot"}, "description": "The matrix-hookshot package to use.", "loc": ["services", "matrix-hookshot", "package"], "readOnly": false, "type": "package"}, "services.matrix-hookshot.registrationFile": {"declarations": ["nixos/modules/services/matrix/hookshot.nix"], "description": "Appservice registration file.\nAs it contains secret tokens, you may not want to add this to the publicly readable Nix store.\n", "example": {"_type": "literalExpression", "text": "pkgs.writeText \"matrix-hookshot-registration\" \\'\\'\n  id: matrix-hookshot\n  as_token: aaaaaaaaaa\n  hs_token: aaaaaaaaaa\n  namespaces:\n    rooms: []\n    users:\n      - regex: \"@_webhooks_.*:foobar\"\n        exclusive: true\n\n  sender_localpart: hookshot\n  url: \"http://localhost:9993\"\n  rate_limited: false\n  \\'\\'\n"}, "loc": ["services", "matrix-hookshot", "registrationFile"], "readOnly": false, "type": "absolute path"}, "services.matrix-hookshot.serviceDependencies": {"declarations": ["nixos/modules/services/matrix/hookshot.nix"], "default": {"_type": "literalExpression", "text": "lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit\n"}, "description": "List of Systemd services to require and wait for when starting the application service,\nsuch as the Matrix homeserver if it's running on the same host.\n", "loc": ["services", "matrix-hookshot", "serviceDependencies"], "readOnly": false, "type": "list of string"}, "services.matrix-hookshot.settings": {"declarations": ["nixos/modules/services/matrix/hookshot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "{file}`config.yml` configuration as a Nix attribute set.\n\nFor details please see the [documentation](https://matrix-org.github.io/matrix-hookshot/latest/setup/sample-configuration.html).\n", "example": {"_type": "literalExpression", "text": "{\n  bridge = {\n    bindAddress = \"127.0.0.1\";\n    domain = \"example.com\";\n    mediaUrl = \"https://example.com\";\n    port = 9993;\n    url = \"http://localhost:8008\";\n  };\n  listeners = [\n    {\n      bindAddress = \"0.0.0.0\";\n      port = 9000;\n      resources = [\n        \"webhooks\"\n      ];\n    }\n    {\n      bindAddress = \"localhost\";\n      port = 9001;\n      resources = [\n        \"metrics\"\n        \"provisioning\"\n      ];\n    }\n  ];\n}"}, "loc": ["services", "matrix-hookshot", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.matrix-hookshot.settings.passFile": {"declarations": ["nixos/modules/services/matrix/hookshot.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/matrix-hookshot/passkey.pem\""}, "description": "A passkey used to encrypt tokens stored inside the bridge.\nFile will be generated if not found.\n", "loc": ["services", "matrix-hookshot", "settings", "passFile"], "readOnly": false, "type": "absolute path"}, "services.matrix-tuwunel.enable": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable tuwunel.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matrix-tuwunel", "enable"], "readOnly": false, "type": "boolean"}, "services.matrix-tuwunel.extraEnvironment": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra Environment variables to pass to the tuwunel server.", "example": {"_type": "literalExpression", "text": "{\n  RUST_BACKTRACE = \"yes\";\n}"}, "loc": ["services", "matrix-tuwunel", "extraEnvironment"], "readOnly": false, "type": "attribute set of string"}, "services.matrix-tuwunel.group": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "\"tuwunel\""}, "description": "The group {command}`tuwunel` is run as.  If left as the default, the group will\nautomatically be created by the service.\n", "example": {"_type": "literalExpression", "text": "\"conduit\""}, "loc": ["services", "matrix-tuwunel", "group"], "readOnly": false, "type": "non-empty string"}, "services.matrix-tuwunel.package": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matrix-tuwunel"}, "description": "The matrix-tuwunel package to use.", "loc": ["services", "matrix-tuwunel", "package"], "readOnly": false, "type": "package"}, "services.matrix-tuwunel.settings": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Generates the tuwunel.toml configuration file. Refer to\n<https://matrix-construct.github.io/tuwunel/configuration.html>\nfor details on supported values.\n", "loc": ["services", "matrix-tuwunel", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.matrix-tuwunel.settings.global.address": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Addresses (IPv4 or IPv6) to listen on for connections by the reverse proxy/tls terminator.\nIf set to `null`, tuwunel will listen on IPv4 and IPv6 localhost.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"::1\"\n]"}, "loc": ["services", "matrix-tuwunel", "settings", "global", "address"], "readOnly": false, "type": "null or (list of non-empty string)"}, "services.matrix-tuwunel.settings.global.allow_encryption": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.", "loc": ["services", "matrix-tuwunel", "settings", "global", "allow_encryption"], "readOnly": false, "type": "boolean"}, "services.matrix-tuwunel.settings.global.allow_federation": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether this server federates with other servers.\n", "loc": ["services", "matrix-tuwunel", "settings", "global", "allow_federation"], "readOnly": false, "type": "boolean"}, "services.matrix-tuwunel.settings.global.allow_registration": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether new users can register on this server.\n\nRegistration with token requires `registration_token` or `registration_token_file` to be set.\n\nIf set to true without a token configured, and\n`yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse`\nis set to true, users can freely register.\n", "loc": ["services", "matrix-tuwunel", "settings", "global", "allow_registration"], "readOnly": false, "type": "boolean"}, "services.matrix-tuwunel.settings.global.max_request_size": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "20000000"}, "description": "Max request size in bytes. Don't forget to also change it in the proxy.", "loc": ["services", "matrix-tuwunel", "settings", "global", "max_request_size"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.matrix-tuwunel.settings.global.port": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "[\n  6167\n]"}, "description": "The port(s) tuwunel will be running on.\nYou need to set up a reverse proxy in your web server (e.g. apache or nginx),\nso all requests to /_matrix on port 443 and 8448 will be forwarded to the tuwunel\ninstance running on this port.\n", "loc": ["services", "matrix-tuwunel", "settings", "global", "port"], "readOnly": false, "type": "list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.matrix-tuwunel.settings.global.server_name": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "description": "The server_name is the name of this server. It is used as a suffix for user and room ids.", "example": {"_type": "literalExpression", "text": "\"example.com\""}, "loc": ["services", "matrix-tuwunel", "settings", "global", "server_name"], "readOnly": false, "type": "non-empty string"}, "services.matrix-tuwunel.settings.global.trusted_servers": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"matrix.org\"\n]"}, "description": "Servers listed here will be used to gather public keys of other servers\n(notary trusted key servers).\n\nCurrently, tuwunel doesn't support inbound batched key requests, so\nthis list should only contain other Synapse servers.\n\nExample: `[ \"matrix.org\" \"constellatory.net\" \"tchncs.de\" ]`\n", "loc": ["services", "matrix-tuwunel", "settings", "global", "trusted_servers"], "readOnly": false, "type": "list of non-empty string"}, "services.matrix-tuwunel.settings.global.unix_socket_path": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Listen on a UNIX socket at the specified path. If listening on a UNIX socket,\nlistening on an address will be disabled. The `address` option must be set to\n`null` (the default value). The option {option}`services.tuwunel.group` must\nbe set to a group your reverse proxy is part of.\n", "loc": ["services", "matrix-tuwunel", "settings", "global", "unix_socket_path"], "readOnly": false, "type": "null or absolute path"}, "services.matrix-tuwunel.settings.global.unix_socket_perms": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "660"}, "description": "The default permissions (in octal) to create the UNIX socket with.", "loc": ["services", "matrix-tuwunel", "settings", "global", "unix_socket_perms"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.matrix-tuwunel.stateDirectory": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "\"tuwunel\""}, "description": "The name of the directory under /var/lib/ where the database will be stored.\n\nNote that `stateDirectory` cannot be changed once created because of the service's reliance on\nsystemd `StateDirectory`.\n", "example": {"_type": "literalExpression", "text": "\"matrix-conduit\""}, "loc": ["services", "matrix-tuwunel", "stateDirectory"], "readOnly": false, "type": "non-empty string"}, "services.matrix-tuwunel.user": {"declarations": ["nixos/modules/services/matrix/tuwunel.nix"], "default": {"_type": "literalExpression", "text": "\"tuwunel\""}, "description": "The user {command}`tuwunel` is run as.  If left as the default, the user will\nautomatically be created by the service.\n", "example": {"_type": "literalExpression", "text": "\"conduit\""}, "loc": ["services", "matrix-tuwunel", "user"], "readOnly": false, "type": "non-empty string"}, "services.matter-server.enable": {"declarations": ["nixos/modules/services/home-automation/matter-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Matter-server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matter-server", "enable"], "readOnly": false, "type": "boolean"}, "services.matter-server.extraArgs": {"declarations": ["nixos/modules/services/home-automation/matter-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of extra arguments to pass to the matter-server executable.\nSee <https://github.com/home-assistant-libs/python-matter-server?tab=readme-ov-file#running-the-development-server> for options.\n", "loc": ["services", "matter-server", "extraArgs"], "readOnly": false, "type": "attribute set"}, "services.matter-server.logLevel": {"declarations": ["nixos/modules/services/home-automation/matter-server.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Verbosity of logs from the matter-server", "loc": ["services", "matter-server", "logLevel"], "readOnly": false, "type": "one of \"critical\", \"error\", \"warning\", \"info\", \"debug\""}, "services.matter-server.openFirewall": {"declarations": ["nixos/modules/services/home-automation/matter-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open the port in the firewall.", "loc": ["services", "matter-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.matter-server.package": {"declarations": ["nixos/modules/services/home-automation/matter-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.python-matter-server"}, "description": "The python-matter-server package to use.", "loc": ["services", "matter-server", "package"], "readOnly": false, "type": "package"}, "services.matter-server.port": {"declarations": ["nixos/modules/services/home-automation/matter-server.nix"], "default": {"_type": "literalExpression", "text": "5580"}, "description": "Port to expose the matter-server service on.", "loc": ["services", "matter-server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.matterbridge.configFile": {"declarations": ["nixos/modules/services/networking/matterbridge.nix"], "description": "WARNING: THIS IS INSECURE, as your password will end up in\n{file}`/nix/store`, thus publicly readable. Use\n`services.matterbridge.configPath` instead.\n\nThe matterbridge configuration file in the TOML file format.\n", "example": {"_type": "literalExpression", "text": "''\n  # WARNING: as this file contains credentials, do not use this option!\n  # It is kept only for backwards compatibility, and would cause your\n  # credentials to be in the nix-store, thus with the world-readable\n  # permission bits.\n  # Use services.matterbridge.configPath instead.\n  \n  [irc]\n      [irc.libera]\n      Server=\"irc.libera.chat:6667\"\n      Nick=\"matterbot\"\n  \n  [mattermost]\n      [mattermost.work]\n       # Do not prefix it with http:// or https://\n       Server=\"yourmattermostserver.domain\"\n       Team=\"yourteam\"\n       Login=\"yourlogin\"\n       Password=\"yourpass\"\n       PrefixMessagesWithNick=true\n  \n  [[gateway]]\n  name=\"gateway1\"\n  enable=true\n      [[gateway.inout]]\n      account=\"irc.libera\"\n      channel=\"#testing\"\n  \n      [[gateway.inout]]\n      account=\"mattermost.work\"\n      channel=\"off-topic\"\n''"}, "loc": ["services", "matterbridge", "configFile"], "readOnly": false, "type": "string"}, "services.matterbridge.configPath": {"declarations": ["nixos/modules/services/networking/matterbridge.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to the matterbridge configuration file.\n", "example": {"_type": "literalExpression", "text": "\"/etc/nixos/matterbridge.toml\""}, "loc": ["services", "matterbridge", "configPath"], "readOnly": false, "type": "null or string"}, "services.matterbridge.enable": {"declarations": ["nixos/modules/services/networking/matterbridge.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Matterbridge chat platform bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "matterbridge", "enable"], "readOnly": false, "type": "boolean"}, "services.matterbridge.group": {"declarations": ["nixos/modules/services/networking/matterbridge.nix"], "default": {"_type": "literalExpression", "text": "\"matterbridge\""}, "description": "Group which runs the matterbridge service.\n", "loc": ["services", "matterbridge", "group"], "readOnly": false, "type": "string"}, "services.matterbridge.package": {"declarations": ["nixos/modules/services/networking/matterbridge.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matterbridge"}, "description": "The matterbridge package to use.", "loc": ["services", "matterbridge", "package"], "readOnly": false, "type": "package"}, "services.matterbridge.user": {"declarations": ["nixos/modules/services/networking/matterbridge.nix"], "default": {"_type": "literalExpression", "text": "\"matterbridge\""}, "description": "User which runs the matterbridge service.\n", "loc": ["services", "matterbridge", "user"], "readOnly": false, "type": "string"}, "services.mattermost.configDir": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "''\n  if versionAtLeast config.system.stateVersion \"25.05\" then\n    \"/etc/mattermost\"\n  else\n    \"''${config.services.mattermost.dataDir}/config\";\n''"}, "description": "Mattermost config directory.\n", "loc": ["services", "mattermost", "configDir"], "readOnly": false, "type": "absolute path"}, "services.mattermost.dataDir": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mattermost\""}, "description": "Mattermost working directory.\n", "loc": ["services", "mattermost", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.mattermost.database.create": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create a local PostgreSQL database for Mattermost automatically.\n", "loc": ["services", "mattermost", "database", "create"], "readOnly": false, "type": "boolean"}, "services.mattermost.database.extraConnectionOptions": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "''\n  {\n    sslmode = \"disable\";\n    connect_timeout = 60;\n  }\n''"}, "description": "Extra options that are placed in the connection URI's query parameters.\n", "loc": ["services", "mattermost", "database", "extraConnectionOptions"], "readOnly": false, "type": "attribute set of (signed integer or string)"}, "services.mattermost.database.fromEnvironment": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Use services.mattermost.environmentFile to configure the database instead of writing the database URI\nto the Nix store. Useful if you use password authentication with peerAuth set to false.\n", "loc": ["services", "mattermost", "database", "fromEnvironment"], "readOnly": false, "type": "boolean"}, "services.mattermost.database.host": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Host to use for the database. Can also be set to a path if you'd like to connect\nto a socket using a username and password.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "loc": ["services", "mattermost", "database", "host"], "readOnly": false, "type": "string"}, "services.mattermost.database.name": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"mattermost\""}, "description": "Local Mattermost database name.\n", "loc": ["services", "mattermost", "database", "name"], "readOnly": false, "type": "string"}, "services.mattermost.database.password": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"mmpgsecret\""}, "description": "Password for local Mattermost database user. If set and peerAuth is not true,\nwill cause a warning nagging you to use environmentFile instead since it will\nend up in the Nix store.\n", "loc": ["services", "mattermost", "database", "password"], "readOnly": false, "type": "string"}, "services.mattermost.database.peerAuth": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "''\n  versionAtLeast config.system.stateVersion \"25.05\" && config.services.mattermost.database.host == \"localhost\"\n''"}, "description": "If set, will use peer auth instead of connecting to a Postgres server.\nUse services.mattermost.database.socketPath to configure the socket path.\n", "loc": ["services", "mattermost", "database", "peerAuth"], "readOnly": false, "type": "boolean"}, "services.mattermost.database.port": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "Port to use for the database.\n", "example": {"_type": "literalExpression", "text": "1234"}, "loc": ["services", "mattermost", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mattermost.database.socketPath": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"/run/postgresql\""}, "description": "The database socket path.\n", "loc": ["services", "mattermost", "database", "socketPath"], "readOnly": false, "type": "absolute path"}, "services.mattermost.database.user": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"mattermost\""}, "description": "Local Mattermost database username.\n", "loc": ["services", "mattermost", "database", "user"], "readOnly": false, "type": "string"}, "services.mattermost.enable": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mattermost chat server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mattermost", "enable"], "readOnly": false, "type": "boolean"}, "services.mattermost.environment": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables to export to the Mattermost process\nfrom the systemd unit configuration.\n", "example": {"_type": "literalExpression", "text": "{\n  MM_SERVICESETTINGS_SITEURL = \"http://example.com\";\n}"}, "loc": ["services", "mattermost", "environment"], "readOnly": false, "type": "attribute set of (signed integer or string)"}, "services.mattermost.environmentFile": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file (see {manpage}`systemd.exec(5)`\n\"EnvironmentFile=\" section for the syntax) which sets config options\nfor mattermost (see [the Mattermost documentation](https://docs.mattermost.com/configure/configuration-settings.html#environment-variables)).\n\nSettings defined in the environment file will overwrite settings\nset via Nix or via the {option}`services.mattermost.extraConfig`\noption.\n\nUseful for setting config options without their value ending up in the\n(world-readable) Nix store, e.g. for a database password.\n", "loc": ["services", "mattermost", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.mattermost.group": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"mattermost\""}, "description": "Group which runs the Mattermost service.\n", "loc": ["services", "mattermost", "group"], "readOnly": false, "type": "string"}, "services.mattermost.host": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Host or address that this Mattermost instance listens on.\n", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "mattermost", "host"], "readOnly": false, "type": "string"}, "services.mattermost.logDir": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "''\n  if versionAtLeast config.system.stateVersion \"25.05\" then \"/var/log/mattermost\"\n  else \"''${config.services.mattermost.dataDir}/logs\";\n''"}, "description": "Mattermost log directory.\n", "loc": ["services", "mattermost", "logDir"], "readOnly": false, "type": "absolute path"}, "services.mattermost.matterircd.enable": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mattermost IRC bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mattermost", "matterircd", "enable"], "readOnly": false, "type": "boolean"}, "services.mattermost.matterircd.package": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "pkgs.matterircd"}, "description": "The matterircd package to use.", "loc": ["services", "mattermost", "matterircd", "package"], "readOnly": false, "type": "package"}, "services.mattermost.matterircd.parameters": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Set commandline parameters to pass to matterircd. See\n<https://github.com/42wim/matterircd#usage> for more information.\n", "example": {"_type": "literalExpression", "text": "[\n  \"-mmserver chat.example.com\"\n  \"-bind [::]:6667\"\n]"}, "loc": ["services", "mattermost", "matterircd", "parameters"], "readOnly": false, "type": "list of string"}, "services.mattermost.mutableConfig": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the Mattermost config.json is writeable by Mattermost.\n\nMost of the settings can be edited in the system console of\nMattermost if this option is enabled. A template config using\nthe options specified in services.mattermost will be generated\nbut won't be overwritten on changes or rebuilds.\n\nIf this option is disabled, persistent changes in the system\nconsole won't be possible (the default). If a config.json is\npresent, it will be overwritten at service start!\n", "loc": ["services", "mattermost", "mutableConfig"], "readOnly": false, "type": "boolean"}, "services.mattermost.package": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mattermost"}, "description": "The mattermost package to use.", "loc": ["services", "mattermost", "package"], "readOnly": false, "type": "package"}, "services.mattermost.plugins": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Plugins to add to the configuration. Overrides any installed if non-null.\nThis is a list of paths to .tar.gz files or derivations evaluating to\n.tar.gz files. You can use `mattermost.buildPlugin` to build plugins;\nsee the NixOS documentation for more details.\n", "example": {"_type": "literalExpression", "text": "\"[ ./com.github.moussetc.mattermost.plugin.giphy-2.0.0.tar.gz ]\""}, "loc": ["services", "mattermost", "plugins"], "readOnly": false, "type": "list of (absolute path or package)"}, "services.mattermost.pluginsBundle": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "''\n  All entries in {config}`services.mattermost.plugins`, repacked\n''"}, "description": "Derivation building to a directory of plugin tarballs.\nThis overrides {option}`services.mattermost.plugins` if provided.\n", "loc": ["services", "mattermost", "pluginsBundle"], "readOnly": false, "type": "null or package"}, "services.mattermost.port": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "8065"}, "description": "Port for Mattermost server to listen on.\n", "loc": ["services", "mattermost", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mattermost.preferNixConfig": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "''\n  versionAtLeast config.system.stateVersion \"25.05\";\n''"}, "description": "If both mutableConfig and this option are set, the Nix configuration\nwill take precedence over any settings configured in the server\nconsole.\n", "loc": ["services", "mattermost", "preferNixConfig"], "readOnly": false, "type": "boolean"}, "services.mattermost.settings": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional configuration options as Nix attribute set in config.json schema.\n", "loc": ["services", "mattermost", "settings"], "readOnly": false, "type": "JSON value"}, "services.mattermost.siteName": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"Mattermost\""}, "description": "Name of this Mattermost site.", "loc": ["services", "mattermost", "siteName"], "readOnly": false, "type": "string"}, "services.mattermost.siteUrl": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "description": "URL this Mattermost instance is reachable under, without trailing slash.\n", "example": {"_type": "literalExpression", "text": "\"https://chat.example.com\""}, "loc": ["services", "mattermost", "siteUrl"], "readOnly": false, "type": "string"}, "services.mattermost.socket.enable": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mattermost control socket.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mattermost", "socket", "enable"], "readOnly": false, "type": "boolean"}, "services.mattermost.socket.export": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Export socket control to system environment variables.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mattermost", "socket", "export"], "readOnly": false, "type": "boolean"}, "services.mattermost.socket.path": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"\\${config.mattermost.dataDir}/mattermost.sock\""}, "description": "Default location for the Mattermost control socket used by `mmctl`.\n", "loc": ["services", "mattermost", "socket", "path"], "readOnly": false, "type": "absolute path"}, "services.mattermost.telemetry.enableDiagnostics": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "True if we should enable sending diagnostic data. This reaches out to Mattermost's servers:\nhttps://docs.mattermost.com/manage/telemetry.html#error-and-diagnostics-reporting-feature\n", "loc": ["services", "mattermost", "telemetry", "enableDiagnostics"], "readOnly": false, "type": "boolean"}, "services.mattermost.telemetry.enableSecurityAlerts": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "True if we should enable security update checking. This reaches out to Mattermost's servers:\nhttps://docs.mattermost.com/manage/telemetry.html#security-update-check-feature\n", "loc": ["services", "mattermost", "telemetry", "enableSecurityAlerts"], "readOnly": false, "type": "boolean"}, "services.mattermost.user": {"declarations": ["nixos/modules/services/web-apps/mattermost.nix"], "default": {"_type": "literalExpression", "text": "\"mattermost\""}, "description": "User which runs the Mattermost service.\n", "loc": ["services", "mattermost", "user"], "readOnly": false, "type": "string"}, "services.maubot.configMutable": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether maubot should write updated config into `extraConfigFile`. **This will make your Nix module settings have no effect besides the initial config, as extraConfigFile takes precedence over NixOS settings!**\n", "loc": ["services", "maubot", "configMutable"], "readOnly": false, "type": "boolean"}, "services.maubot.dataDir": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/maubot\""}, "description": "The directory where maubot stores its stateful data.\n", "loc": ["services", "maubot", "dataDir"], "readOnly": false, "type": "string"}, "services.maubot.enable": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable maubot.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "maubot", "enable"], "readOnly": false, "type": "boolean"}, "services.maubot.extraConfigFile": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.maubot.dataDir}/config.yaml\""}, "description": "A file for storing secrets. You can pass homeserver registration keys here.\nIf it already exists, **it must contain `server.unshared_secret`** which is used for signing API keys.\nIf `configMutable` is not set to true, **maubot user must have write access to this file**.\n", "loc": ["services", "maubot", "extraConfigFile"], "readOnly": false, "type": "string"}, "services.maubot.package": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "pkgs.maubot"}, "description": "The maubot package to use.", "loc": ["services", "maubot", "package"], "readOnly": false, "type": "package"}, "services.maubot.plugins": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional maubot plugins to make available.\n", "example": {"_type": "literalExpression", "text": "with config.services.maubot.package.plugins; [\n  xyz.maubot.reactbot\n  xyz.maubot.rss\n];\n"}, "loc": ["services", "maubot", "plugins"], "readOnly": false, "type": "list of package"}, "services.maubot.pythonPackages": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional Python packages to make available for maubot.\n", "example": {"_type": "literalExpression", "text": "with pkgs.python3Packages; [\n  aiohttp\n];\n"}, "loc": ["services", "maubot", "pythonPackages"], "readOnly": false, "type": "list of package"}, "services.maubot.settings": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "YAML settings for maubot. See the\n[example configuration](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml)\nfor more info.\n\nSecrets should be passed in by using `extraConfigFile`.\n", "loc": ["services", "maubot", "settings"], "readOnly": false, "type": "submodule"}, "services.maubot.settings.admins": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{\n  root = \"\";\n}"}, "description": "List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password\nto prevent normal login. Root is a special user that can't have a password and will always exist.\n", "loc": ["services", "maubot", "settings", "admins"], "readOnly": false, "type": "attribute set of string"}, "services.maubot.settings.api_features": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{\n  client = true;\n  client_auth = true;\n  client_proxy = true;\n  dev_open = true;\n  instance = true;\n  instance_database = true;\n  log = true;\n  login = true;\n  plugin = true;\n  plugin_upload = true;\n}"}, "description": "API feature switches.\n", "loc": ["services", "maubot", "settings", "api_features"], "readOnly": false, "type": "attribute set of boolean"}, "services.maubot.settings.crypto_database": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"default\""}, "description": "Separate database URL for the crypto database. By default, the regular database is also used for crypto.\n", "example": {"_type": "literalExpression", "text": "\"postgresql://username:password@hostname/dbname\""}, "loc": ["services", "maubot", "settings", "crypto_database"], "readOnly": false, "type": "string"}, "services.maubot.settings.database": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite:maubot.db\""}, "description": "The full URI to the database. SQLite and Postgres are fully supported.\nOther DBMSes supported by SQLAlchemy may or may not work.\n", "example": {"_type": "literalExpression", "text": "\"postgresql://username:password@hostname/dbname\""}, "loc": ["services", "maubot", "settings", "database"], "readOnly": false, "type": "string"}, "services.maubot.settings.database_opts": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional arguments for asyncpg.create_pool() or sqlite3.connect()\n", "loc": ["services", "maubot", "settings", "database_opts"], "readOnly": false, "type": "attribute set"}, "services.maubot.settings.homeservers": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{\n  \"matrix.org\" = {\n    url = \"https://matrix-client.matrix.org\";\n  };\n}"}, "description": "Known homeservers. This is required for the `mbc auth` command and also allows more convenient access from the management UI.\nIf you want to specify registration secrets, pass this via extraConfigFile instead.\n", "loc": ["services", "maubot", "settings", "homeservers"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.maubot.settings.homeservers.<name>.url": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "description": "Client-server API URL\n", "loc": ["services", "maubot", "settings", "homeservers", "<name>", "url"], "readOnly": false, "type": "string"}, "services.maubot.settings.logging": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{\n  formatters = {\n    colored = {\n      \"()\" = \"maubot.lib.color_log.ColorFormatter\";\n      format = \"[%(asctime)s] [%(levelname)s@%(name)s] %(message)s\";\n    };\n    normal = {\n      format = \"[%(asctime)s] [%(levelname)s@%(name)s] %(message)s\";\n    };\n  };\n  handlers = {\n    console = {\n      class = \"logging.StreamHandler\";\n      formatter = \"colored\";\n    };\n    file = {\n      backupCount = 10;\n      class = \"logging.handlers.RotatingFileHandler\";\n      filename = \"./maubot.log\";\n      formatter = \"normal\";\n      maxBytes = 10485760;\n    };\n  };\n  loggers = {\n    aiohttp = {\n      level = \"INFO\";\n    };\n    mau = {\n      level = \"DEBUG\";\n    };\n    maubot = {\n      level = \"DEBUG\";\n    };\n  };\n  root = {\n    handlers = [\n      \"file\"\n      \"console\"\n    ];\n    level = \"DEBUG\";\n  };\n  version = 1;\n}"}, "description": "Python logging configuration. See [section 16.7.2 of the Python\ndocumentation](https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema)\nfor more info.\n", "loc": ["services", "maubot", "settings", "logging"], "readOnly": false, "type": "attribute set"}, "services.maubot.settings.plugin_databases": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Plugin database settings", "loc": ["services", "maubot", "settings", "plugin_databases"], "readOnly": false, "type": "submodule"}, "services.maubot.settings.plugin_databases.postgres": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "if isPostgresql config.services.maubot.settings.database then \"default\" else null"}, "description": "The connection URL for plugin database. See [example config](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml) for exact format.\n", "loc": ["services", "maubot", "settings", "plugin_databases", "postgres"], "readOnly": false, "type": "null or string"}, "services.maubot.settings.plugin_databases.postgres_max_conns_per_plugin": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "3"}, "description": "Maximum number of connections per plugin instance.\n", "loc": ["services", "maubot", "settings", "plugin_databases", "postgres_max_conns_per_plugin"], "readOnly": false, "type": "null or signed integer"}, "services.maubot.settings.plugin_databases.postgres_opts": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Overrides for the default database_opts when using a non-default postgres connection URL.\n", "loc": ["services", "maubot", "settings", "plugin_databases", "postgres_opts"], "readOnly": false, "type": "attribute set"}, "services.maubot.settings.plugin_databases.sqlite": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.maubot.dataDir}/plugins\""}, "description": "The directory where SQLite plugin databases should be stored.\n", "loc": ["services", "maubot", "settings", "plugin_databases", "sqlite"], "readOnly": false, "type": "string"}, "services.maubot.settings.plugin_directories": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Plugin directory paths", "loc": ["services", "maubot", "settings", "plugin_directories"], "readOnly": false, "type": "submodule"}, "services.maubot.settings.plugin_directories.load": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "[ \"${config.services.maubot.dataDir}/plugins\" ]"}, "description": "The directories from which plugins should be loaded. Duplicate plugin IDs will be moved to the trash.\n", "loc": ["services", "maubot", "settings", "plugin_directories", "load"], "readOnly": false, "type": "list of string"}, "services.maubot.settings.plugin_directories.trash": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.maubot.dataDir}/trash\""}, "description": "The directory where old plugin versions and conflicting plugins should be moved. Set to null to delete files immediately.\n", "loc": ["services", "maubot", "settings", "plugin_directories", "trash"], "readOnly": false, "type": "null or string"}, "services.maubot.settings.plugin_directories.upload": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.maubot.dataDir}/plugins\""}, "description": "The directory where uploaded new plugins should be stored.\n", "loc": ["services", "maubot", "settings", "plugin_directories", "upload"], "readOnly": false, "type": "string"}, "services.maubot.settings.server": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Listener config", "loc": ["services", "maubot", "settings", "server"], "readOnly": false, "type": "submodule"}, "services.maubot.settings.server.hostname": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The IP to listen on\n", "loc": ["services", "maubot", "settings", "server", "hostname"], "readOnly": false, "type": "string"}, "services.maubot.settings.server.override_resource_path": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Override path from where to load UI resources.\n", "loc": ["services", "maubot", "settings", "server", "override_resource_path"], "readOnly": false, "type": "null or string"}, "services.maubot.settings.server.plugin_base_path": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"${config.services.maubot.settings.server.ui_base_path}/plugin/\"\n"}, "description": "The base path for plugin endpoints. The instance ID will be appended directly.\n", "loc": ["services", "maubot", "settings", "server", "plugin_base_path"], "readOnly": false, "type": "string"}, "services.maubot.settings.server.port": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "29316"}, "description": "The port to listen on\n", "loc": ["services", "maubot", "settings", "server", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.maubot.settings.server.public_url": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"http://${config.services.maubot.settings.server.hostname}:${toString config.services.maubot.settings.server.port}\""}, "description": "Public base URL where the server is visible.\n", "loc": ["services", "maubot", "settings", "server", "public_url"], "readOnly": false, "type": "string"}, "services.maubot.settings.server.ui_base_path": {"declarations": ["nixos/modules/services/matrix/maubot.nix"], "default": {"_type": "literalExpression", "text": "\"/_matrix/maubot\""}, "description": "The base path for the UI.\n", "loc": ["services", "maubot", "settings", "server", "ui_base_path"], "readOnly": false, "type": "string"}, "services.mautrix-discord.dataDir": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mautrix-discord\""}, "description": "Directory to store the bridge's configuration and database files.\nThis directory will be created if it does not exist.\n", "loc": ["services", "mautrix-discord", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.mautrix-discord.enable": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mautrix-Discord, a Matrix-Discord puppeting/relay-bot bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mautrix-discord", "enable"], "readOnly": false, "type": "boolean"}, "services.mautrix-discord.environmentFile": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing environment variables to substitute when copying the configuration\nout of Nix store to the `services.mautrix-discord.dataDir`.\nCan be used for storing the secrets without making them available in the Nix store.\nFor example, you can set `services.mautrix-discord.settings.appservice.as_token = \"$MAUTRIX_DISCORD_APPSERVICE_AS_TOKEN\"`\nand then specify `MAUTRIX_DISCORD_APPSERVICE_AS_TOKEN=\"{token}\"` in the environment file.\nThis value will get substituted into the configuration file as a token.\n", "loc": ["services", "mautrix-discord", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.mautrix-discord.package": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mautrix-discord"}, "description": "The mautrix-discord package to use.", "loc": ["services", "mautrix-discord", "package"], "readOnly": false, "type": "package"}, "services.mautrix-discord.registerToSynapse": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "config.services.matrix-synapse.enable"}, "description": "Whether to add the bridge's app service registration file to\n`services.matrix-synapse.settings.app_service_config_files`.\n", "loc": ["services", "mautrix-discord", "registerToSynapse"], "readOnly": false, "type": "boolean"}, "services.mautrix-discord.registrationServiceUnit": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "\"mautrix-discord-registration.service\""}, "description": "The registration service that generates the registration file.\nSystemd unit (a service or a target) for other services to depend on if they\nneed to be started after mautrix-discord registration service.\nThis option is useful as the actual parent unit for all matrix-synapse processes\nchanges when configuring workers.\n", "loc": ["services", "mautrix-discord", "registrationServiceUnit"], "readOnly": true, "type": "string"}, "services.mautrix-discord.serviceDependencies": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "''\n  [ cfg.registrationServiceUnit ] ++\n  (lib.lists.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit) ++\n  (lib.lists.optional config.services.matrix-conduit.enable \"matrix-conduit.service\") ++\n  (lib.lists.optional config.services.dendrite.enable \"dendrite.service\");\n''"}, "description": "List of Systemd services to require and wait for when starting the application service.\n", "loc": ["services", "mautrix-discord", "serviceDependencies"], "readOnly": false, "type": "list of string"}, "services.mautrix-discord.serviceUnit": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "\"mautrix-discord.service\""}, "description": "The systemd unit (a service or a target) for other services to depend on if they\nneed to be started after matrix-synapse.\nThis option is useful as the actual parent unit for all matrix-synapse processes\nchanges when configuring workers.\n", "loc": ["services", "mautrix-discord", "serviceUnit"], "readOnly": true, "type": "string"}, "services.mautrix-discord.settings": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "{file}`config.yaml` configuration as a Nix attribute set.\nConfiguration options should match those described in\n[example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml).\n", "example": {"_type": "literalExpression", "text": "{\n  homeserver = {\n    address = \"http://localhost:8008\";\n    domain = \"public-domain.tld\";\n  };\n\n  appservice.public = {\n    prefix = \"/public\";\n    external = \"https://public-appservice-address/public\";\n  };\n\n  bridge.permissions = {\n    \"example.com\" = \"user\";\n    \"@admin:example.com\" = \"admin\";\n  };\n}\n"}, "loc": ["services", "mautrix-discord", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.mautrix-discord.settings.appservice": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "{\n  address = \"http://localhost:29334\";\n  hostname = \"0.0.0.0\";\n  port = 29334;\n  database = {\n    type = \"sqlite3\";\n    uri = \"file:${config.services.mautrix-discord.dataDir}/mautrix-discord.db?_txlock=immediate\";\n    max_open_conns = 20;\n    max_idle_conns = 2;\n    max_conn_idle_time = null;\n    max_conn_lifetime = null;\n  };\n  id = \"discord\";\n  bot = {\n    username = \"discordbot\";\n    displayname = \"Discord bridge bot\";\n    avatar = \"mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC\";\n  };\n  ephemeral_events = true;\n  async_transactions = false;\n  as_token = \"This value is generated when generating the registration\";\n  hs_token = \"This value is generated when generating the registration\";\n}\n"}, "description": "Appservice configuration.\nSee [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)\nfor more information.\n", "loc": ["services", "mautrix-discord", "settings", "appservice"], "readOnly": false, "type": "attribute set"}, "services.mautrix-discord.settings.bridge": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "{\n  animated_sticker = {\n    args = {\n      fps = 25;\n      height = 320;\n      width = 320;\n    };\n    target = \"webp\";\n  };\n  autojoin_thread_on_open = true;\n  avatar_proxy_key = \"generate\";\n  backfill = {\n    forward_limits = {\n      initial = {\n        channel = 0;\n        dm = 0;\n        thread = 0;\n      };\n      max_guild_members = -1;\n      missed = {\n        channel = 0;\n        dm = 0;\n        thread = 0;\n      };\n    };\n  };\n  cache_media = \"unencrypted\";\n  channel_name_template = \"{{if or (eq .Type 3) (eq .Type 4)}}{{.Name}}{{else}}#{{.Name}}{{end}}\";\n  command_prefix = \"!discord\";\n  custom_emoji_reactions = true;\n  delete_guild_on_leave = true;\n  delete_portal_on_channel_delete = false;\n  delivery_receipts = false;\n  direct_media = {\n    allow_proxy = true;\n    enabled = false;\n    server_key = \"generate\";\n  };\n  displayname_template = \"{{if .Webhook}}Webhook{{else}}{{or .GlobalName .Username}}{{if .Bot}} (bot){{end}}{{end}}\";\n  double_puppet_allow_discovery = false;\n  double_puppet_server_map = { };\n  embed_fields_as_tables = true;\n  enable_webhook_avatars = false;\n  encryption = {\n    allow = false;\n    allow_key_sharing = false;\n    appservice = false;\n    default = false;\n    delete_keys = {\n      delete_fully_used_on_decrypt = false;\n      delete_on_device_delete = false;\n      delete_outbound_on_ack = false;\n      delete_outdated_inbound = false;\n      delete_prev_on_new_session = false;\n      dont_store_outbound = false;\n      periodically_delete_expired = false;\n      ratchet_on_decrypt = false;\n    };\n    msc4190 = false;\n    plaintext_mentions = false;\n    require = false;\n    rotation = {\n      disable_device_change_key_rotation = false;\n      enable_custom = false;\n      messages = 100;\n      milliseconds = 604800000;\n    };\n    verification_levels = {\n      receive = \"unverified\";\n      send = \"unverified\";\n      share = \"cross-signed-tofu\";\n    };\n  };\n  federate_rooms = true;\n  guild_name_template = \"{{.Name}}\";\n  login_shared_secret_map = { };\n  management_room_text = {\n    additional_help = \"\";\n    welcome = \"Hello, I'm a Discord bridge bot.\";\n    welcome_connected = \"Use `help` for help.\";\n    welcome_unconnected = \"Use `help` for help or `login` to log in.\";\n  };\n  message_error_notices = true;\n  message_status_events = false;\n  mute_channels_on_create = false;\n  permissions = {\n    \"*\" = \"relay\";\n  };\n  portal_message_buffer = 128;\n  prefix_webhook_messages = true;\n  private_chat_portal_meta = \"default\";\n  provisioning = {\n    debug_endpoints = false;\n    prefix = \"/_matrix/provision\";\n    shared_secret = \"generate\";\n  };\n  public_address = null;\n  resend_bridge_info = false;\n  restricted_rooms = true;\n  startup_private_channel_create_limit = 5;\n  sync_direct_chat_list = false;\n  use_discord_cdn_upload = true;\n  username_template = \"discord_{{.}}\";\n}"}, "description": "Bridge configuration.\nSee [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)\nfor more information.\n", "loc": ["services", "mautrix-discord", "settings", "bridge"], "readOnly": false, "type": "attribute set"}, "services.mautrix-discord.settings.homeserver": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "{\n  async_media = false;\n  message_send_checkpoint_endpoint = null;\n  ping_interval_seconds = 0;\n  software = \"standard\";\n  status_endpoint = null;\n  websocket = false;\n}"}, "description": "fullDataDiration.\n                See [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)\n                for more information.\n", "loc": ["services", "mautrix-discord", "settings", "homeserver"], "readOnly": false, "type": "attribute set"}, "services.mautrix-discord.settings.logging": {"declarations": ["nixos/modules/services/matrix/mautrix-discord.nix"], "default": {"_type": "literalExpression", "text": "{\n  min_level = \"info\";\n  writers = [\n    {\n      format = \"pretty-colored\";\n      time_format = \" \";\n      type = \"stdout\";\n    }\n  ];\n}"}, "description": "Logging configuration.\nSee [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)\nfor more information.\n", "loc": ["services", "mautrix-discord", "settings", "logging"], "readOnly": false, "type": "attribute set"}, "services.mautrix-meta.instances": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "description": "Configuration of multiple `mautrix-meta` instances.\n`services.mautrix-meta.instances.facebook` and `services.mautrix-meta.instances.instagram`\ncome preconfigured with network.mode, appservice.id, bot username, display name and avatar.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    facebook = {\n      enable = true;\n      settings = {\n        homeserver.domain = \"example.com\";\n      };\n    };\n  \n    instagram = {\n      enable = true;\n      settings = {\n        homeserver.domain = \"example.com\";\n      };\n    };\n  \n    messenger = {\n      enable = true;\n      settings = {\n        network.mode = \"messenger\";\n        homeserver.domain = \"example.com\";\n        appservice = {\n          id = \"messenger\";\n          bot = {\n            username = \"messengerbot\";\n            displayname = \"Messenger bridge bot\";\n            avatar = \"mxc://maunium.net/ygtkteZsXnGJLJHRchUwYWak\";\n          };\n        };\n      };\n    };\n  }\n''"}, "loc": ["services", "mautrix-meta", "instances"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.mautrix-meta.instances.<name>.dataDir": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "default": {"_type": "literalExpression", "text": "\"mautrix-meta-\u2039name\u203a\""}, "description": "Path to the directory with database, registration, and other data for the bridge service.\nThis path is relative to `/var/lib`, it cannot start with `../` (it cannot be outside of `/var/lib`).\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "dataDir"], "readOnly": false, "type": "string"}, "services.mautrix-meta.instances.<name>.enable": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mautrix-Meta, a Matrix <-> Facebook and Matrix <-> Instagram hybrid puppeting/relaybot bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mautrix-meta", "instances", "<name>", "enable"], "readOnly": false, "type": "boolean"}, "services.mautrix-meta.instances.<name>.environmentFile": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing environment variables to substitute when copying the configuration\nout of Nix store to the `services.mautrix-meta.dataDir`.\n\nCan be used for storing the secrets without making them available in the Nix store.\n\nFor example, you can set `services.mautrix-meta.settings.appservice.as_token = \"$MAUTRIX_META_APPSERVICE_AS_TOKEN\"`\nand then specify `MAUTRIX_META_APPSERVICE_AS_TOKEN=\"{token}\"` in the environment file.\nThis value will get substituted into the configuration file as as token.\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.mautrix-meta.instances.<name>.registerToSynapse": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to add registration file to `services.matrix-synapse.settings.app_service_config_files` and\nmake Synapse wait for registration service.\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "registerToSynapse"], "readOnly": false, "type": "boolean"}, "services.mautrix-meta.instances.<name>.registrationFile": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "description": "Path to the yaml registration file of the appservice.\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "registrationFile"], "readOnly": true, "type": "absolute path"}, "services.mautrix-meta.instances.<name>.registrationServiceUnit": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "description": "The registration service that generates the registration file.\n\nSystemd unit (a service or a target) for other services to depend on if they\nneed to be started after mautrix-meta registration service.\n\nThis option is useful as the actual parent unit for all matrix-synapse processes\nchanges when configuring workers.\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "registrationServiceUnit"], "readOnly": true, "type": "string"}, "services.mautrix-meta.instances.<name>.serviceDependencies": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "default": {"_type": "literalExpression", "text": "''\n  [ config.registrationServiceUnit ] ++\n  (lib.lists.optional upperConfig.services.matrix-synapse.enable upperConfig.services.matrix-synapse.serviceUnit) ++\n  (lib.lists.optional upperConfig.services.matrix-conduit.enable \"matrix-conduit.service\") ++\n  (lib.lists.optional upperConfig.services.dendrite.enable \"dendrite.service\");\n''"}, "description": "List of Systemd services to require and wait for when starting the application service.\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "serviceDependencies"], "readOnly": false, "type": "list of string"}, "services.mautrix-meta.instances.<name>.serviceUnit": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "description": "The systemd unit (a service or a target) for other services to depend on if they\nneed to be started after matrix-synapse.\n\nThis option is useful as the actual parent unit for all matrix-synapse processes\nchanges when configuring workers.\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "serviceUnit"], "readOnly": true, "type": "string"}, "services.mautrix-meta.instances.<name>.settings": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "default": {"_type": "literalExpression", "text": "''\n  {\n    homeserver = {\n      software = \"standard\";\n      address = \"https://''${config.settings.homeserver.domain}\";\n    };\n  \n    appservice = {\n      database = {\n        type = \"sqlite3-fk-wal\";\n        uri = \"file:''${fullDataDir config}/mautrix-meta.db?_txlock=immediate\";\n      };\n  \n      hostname = \"localhost\";\n      port = 29319;\n      address = \"http://''${config.settings.appservice.hostname}:''${toString config.settings.appservice.port}\";\n    };\n  \n    bridge = {\n      # Require encryption by default to make the bridge more secure\n      encryption = {\n        allow = true;\n        default = true;\n        require = true;\n  \n        # Recommended options from mautrix documentation\n        # for optimal security.\n        delete_keys = {\n          dont_store_outbound = true;\n          ratchet_on_decrypt = true;\n          delete_fully_used_on_decrypt = true;\n          delete_prev_on_new_session = true;\n          delete_on_device_delete = true;\n          periodically_delete_expired = true;\n          delete_outdated_inbound = true;\n        };\n  \n        verification_levels = {\n          receive = \"cross-signed-tofu\";\n          send = \"cross-signed-tofu\";\n          share = \"cross-signed-tofu\";\n        };\n      };\n    };\n  \n    logging = {\n      min_level = \"info\";\n      writers = lib.singleton {\n        type = \"stdout\";\n        format = \"pretty-colored\";\n        time_format = \" \";\n      };\n    };\n  };\n''"}, "description": "{file}`config.yaml` configuration as a Nix attribute set.\nConfiguration options should match those described in\n[example-config.yaml](https://github.com/mautrix/meta/blob/main/example-config.yaml).\n\nSecret tokens should be specified using {option}`environmentFile`\ninstead\n", "loc": ["services", "mautrix-meta", "instances", "<name>", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.mautrix-meta.package": {"declarations": ["nixos/modules/services/matrix/mautrix-meta.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mautrix-meta"}, "description": "The mautrix-meta package to use.", "loc": ["services", "mautrix-meta", "package"], "readOnly": false, "type": "package"}, "services.mautrix-telegram.enable": {"declarations": ["nixos/modules/services/matrix/mautrix-telegram.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mautrix-telegram", "enable"], "readOnly": false, "type": "boolean"}, "services.mautrix-telegram.environmentFile": {"declarations": ["nixos/modules/services/matrix/mautrix-telegram.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing environment variables to be passed to the mautrix-telegram service,\nin which secret tokens can be specified securely by defining values for e.g.\n`MAUTRIX_TELEGRAM_APPSERVICE_AS_TOKEN`,\n`MAUTRIX_TELEGRAM_APPSERVICE_HS_TOKEN`,\n`MAUTRIX_TELEGRAM_TELEGRAM_API_ID`,\n`MAUTRIX_TELEGRAM_TELEGRAM_API_HASH` and optionally\n`MAUTRIX_TELEGRAM_TELEGRAM_BOT_TOKEN`.\n\nThese environment variables can also be used to set other options by\nreplacing hierarchy levels by `.`, converting the name to uppercase\nand prepending `MAUTRIX_TELEGRAM_`.\nFor example, the first value above maps to\n{option}`settings.appservice.as_token`.\n\nThe environment variable values can be prefixed with `json::` to have\nthem be parsed as JSON. For example, `login_shared_secret_map` can be\nset as follows:\n`MAUTRIX_TELEGRAM_BRIDGE_LOGIN_SHARED_SECRET_MAP=json::{\"example.com\":\"secret\"}`.\n", "loc": ["services", "mautrix-telegram", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.mautrix-telegram.package": {"declarations": ["nixos/modules/services/matrix/mautrix-telegram.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mautrix-telegram"}, "description": "The mautrix-telegram package to use.", "loc": ["services", "mautrix-telegram", "package"], "readOnly": false, "type": "package"}, "services.mautrix-telegram.registerToSynapse": {"declarations": ["nixos/modules/services/matrix/mautrix-telegram.nix"], "default": {"_type": "literalExpression", "text": "config.services.matrix-synapse.enable"}, "description": "Whether to add the bridge's app service registration file to\n`services.matrix-synapse.settings.app_service_config_files`.\n", "loc": ["services", "mautrix-telegram", "registerToSynapse"], "readOnly": false, "type": "boolean"}, "services.mautrix-telegram.serviceDependencies": {"declarations": ["nixos/modules/services/matrix/mautrix-telegram.nix"], "default": {"_type": "literalExpression", "text": "lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit\n"}, "description": "List of Systemd services to require and wait for when starting the application service.\n", "loc": ["services", "mautrix-telegram", "serviceDependencies"], "readOnly": false, "type": "list of string"}, "services.mautrix-telegram.settings": {"declarations": ["nixos/modules/services/matrix/mautrix-telegram.nix"], "default": {"_type": "literalExpression", "text": "{\n  appservice = {\n    address = \"http://localhost:8080\";\n    database = \"sqlite:////var/lib/mautrix-telegram/mautrix-telegram.db\";\n    database_opts = { };\n    hostname = \"0.0.0.0\";\n    port = 8080;\n  };\n  bridge = {\n    double_puppet_server_map = { };\n    login_shared_secret_map = { };\n    permissions = {\n      \"*\" = \"relaybot\";\n    };\n    relaybot = {\n      whitelist = [ ];\n    };\n  };\n  homeserver = {\n    software = \"standard\";\n  };\n  logging = {\n    formatters = {\n      precise = {\n        format = \"[%(levelname)s@%(name)s] %(message)s\";\n      };\n    };\n    handlers = {\n      console = {\n        class = \"logging.StreamHandler\";\n        formatter = \"precise\";\n      };\n    };\n    loggers = {\n      aiohttp = {\n        level = \"WARNING\";\n      };\n      mau = {\n        level = \"INFO\";\n      };\n      telethon = {\n        level = \"INFO\";\n      };\n    };\n    root = {\n      handlers = [\n        \"console\"\n      ];\n      level = \"INFO\";\n    };\n    version = 1;\n  };\n}"}, "description": "{file}`config.yaml` configuration as a Nix attribute set.\nConfiguration options should match those described in\n[example-config.yaml](https://github.com/mautrix/telegram/blob/master/mautrix_telegram/example-config.yaml).\n\nSecret tokens should be specified using {option}`environmentFile`\ninstead of this world-readable attribute set.\n", "example": {"_type": "literalExpression", "text": "{\n  homeserver = {\n    address = \"http://localhost:8008\";\n    domain = \"public-domain.tld\";\n  };\n\n  appservice.public = {\n    prefix = \"/public\";\n    external = \"https://public-appservice-address/public\";\n  };\n\n  bridge.permissions = {\n    \"example.com\" = \"full\";\n    \"@admin:example.com\" = \"admin\";\n  };\n  telegram = {\n    connection.use_ipv6 = true;\n  };\n}\n"}, "loc": ["services", "mautrix-telegram", "settings"], "readOnly": false, "type": "JSON value"}, "services.mbpfan.aggressive": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "If true, favors higher default fan speeds.", "loc": ["services", "mbpfan", "aggressive"], "readOnly": false, "type": "boolean"}, "services.mbpfan.enable": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable mbpfan, fan controller daemon for Apple Macs and MacBooks.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mbpfan", "enable"], "readOnly": false, "type": "boolean"}, "services.mbpfan.package": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mbpfan"}, "description": "The mbpfan package to use.", "loc": ["services", "mbpfan", "package"], "readOnly": false, "type": "package"}, "services.mbpfan.settings": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "INI configuration for Mbpfan.", "loc": ["services", "mbpfan", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.mbpfan.settings.general.high_temp": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "58"}, "description": "If temperature is above this, fan speed will gradually increase.", "loc": ["services", "mbpfan", "settings", "general", "high_temp"], "readOnly": false, "type": "signed integer"}, "services.mbpfan.settings.general.low_temp": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "55"}, "description": "If temperature is below this, fans will run at minimum speed.", "loc": ["services", "mbpfan", "settings", "general", "low_temp"], "readOnly": false, "type": "signed integer"}, "services.mbpfan.settings.general.max_temp": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "78"}, "description": "If temperature is above this, fans will run at maximum speed.", "loc": ["services", "mbpfan", "settings", "general", "max_temp"], "readOnly": false, "type": "signed integer"}, "services.mbpfan.settings.general.polling_interval": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "1"}, "description": "The polling interval.", "loc": ["services", "mbpfan", "settings", "general", "polling_interval"], "readOnly": false, "type": "signed integer"}, "services.mbpfan.verbose": {"declarations": ["nixos/modules/services/misc/mbpfan.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, sets the log level to verbose.", "loc": ["services", "mbpfan", "verbose"], "readOnly": false, "type": "boolean"}, "services.mchprs.dataDir": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mchprs\""}, "description": "Directory to store MCHPRS database and other state/data files.\n", "loc": ["services", "mchprs", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.mchprs.declarativeSettings": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use a declarative configuration for MCHPRS.\n", "loc": ["services", "mchprs", "declarativeSettings"], "readOnly": false, "type": "boolean"}, "services.mchprs.declarativeWhitelist": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use a declarative whitelist.\nThe options {option}`services.mchprs.whitelist.list`\nwill be applied if and only if set to `true`.\n", "loc": ["services", "mchprs", "declarativeWhitelist"], "readOnly": false, "type": "boolean"}, "services.mchprs.enable": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MCHPRS, a Minecraft server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mchprs", "enable"], "readOnly": false, "type": "boolean"}, "services.mchprs.maxRuntime": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "\"infinity\""}, "description": "Automatically restart the server after\n{option}`services.mchprs.maxRuntime`.\nThe {manpage}`systemd.time(7)` time span format is described here:\n<https://www.freedesktop.org/software/systemd/man/systemd.time.html#Parsing%20Time%20Spans>.\nIf `null`, then the server is not restarted automatically.\n", "example": {"_type": "literalExpression", "text": "\"7d\""}, "loc": ["services", "mchprs", "maxRuntime"], "readOnly": false, "type": "string"}, "services.mchprs.openFirewall": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall for the server.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.mchprs.package": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mchprs"}, "description": "The mchprs package to use.", "loc": ["services", "mchprs", "package"], "readOnly": false, "type": "package"}, "services.mchprs.settings": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for MCHPRS via {file}`Config.toml`.\nSee <https://github.com/MCHPR/MCHPRS/blob/master/README.md> for documentation.\n", "loc": ["services", "mchprs", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.mchprs.settings.address": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Address for the server.\nPlease use enclosing square brackets when using ipv6.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "address"], "readOnly": false, "type": "string"}, "services.mchprs.settings.auto_redpiler": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Use redpiler automatically.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "auto_redpiler"], "readOnly": false, "type": "boolean"}, "services.mchprs.settings.block_in_hitbox": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Allow placing blocks inside of players\n(hitbox logic is simplified).\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "block_in_hitbox"], "readOnly": false, "type": "boolean"}, "services.mchprs.settings.bungeecord": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable compatibility with\n[BungeeCord](https://github.com/SpigotMC/BungeeCord).\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "bungeecord"], "readOnly": false, "type": "boolean"}, "services.mchprs.settings.chat_format": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "\"<{username}> {message}\""}, "description": "How to format chat message interpolating `username`\nand `message` with curly braces.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "chat_format"], "readOnly": false, "type": "string"}, "services.mchprs.settings.max_players": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "99999"}, "description": "Maximum number of simultaneous players.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "max_players"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.mchprs.settings.motd": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "\"Minecraft High Performance Redstone Server\""}, "description": "Message of the day.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "motd"], "readOnly": false, "type": "string"}, "services.mchprs.settings.port": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "25565"}, "description": "Port for the server.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mchprs.settings.schemati": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Mimic the verification and directory layout used by the\nOpen Redstone Engineers\n[Schemati plugin](https://github.com/OpenRedstoneEngineers/Schemati).\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "schemati"], "readOnly": false, "type": "boolean"}, "services.mchprs.settings.view_distance": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "8"}, "description": "Maximal distance (in chunks) between players and loaded chunks.\nOnly has effect when\n{option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "settings", "view_distance"], "readOnly": false, "type": "positive integer, meaning >0"}, "services.mchprs.whitelist.enable": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether or not the whitelist (in {file}`whitelist.json`) shoud be enabled.\nOnly has effect when {option}`services.mchprs.declarativeSettings` is `true`.\n", "loc": ["services", "mchprs", "whitelist", "enable"], "readOnly": false, "type": "boolean"}, "services.mchprs.whitelist.list": {"declarations": ["nixos/modules/services/games/mchprs.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Whitelisted players, only has an effect when\n{option}`services.mchprs.declarativeWhitelist` is\n`true` and the whitelist is enabled\nvia {option}`services.mchprs.whitelist.enable`.\nThis is a mapping from Minecraft usernames to UUIDs.\nYou can use <https://mcuuid.net/> to get a\nMinecraft UUID for a username.\n", "example": {"_type": "literalExpression", "text": "{\n  username1 = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\";\n  username2 = \"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy\";\n};\n"}, "loc": ["services", "mchprs", "whitelist", "list"], "readOnly": false, "type": "attribute set of Minecraft UUID"}, "services.mealie.credentialsFile": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing credentials used in mealie such as {env}`POSTGRES_PASSWORD`\nor sensitive LDAP options.\n\nExpects the format of an `EnvironmentFile=`, as described by {manpage}`systemd.exec(5)`.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/mealie-credentials.env\""}, "loc": ["services", "mealie", "credentialsFile"], "readOnly": false, "type": "null or absolute path"}, "services.mealie.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Configure local PostgreSQL database server for Mealie.\n", "loc": ["services", "mealie", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.mealie.enable": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mealie, a recipe manager and meal planner.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mealie", "enable"], "readOnly": false, "type": "boolean"}, "services.mealie.extraOptions": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specifies extra command line arguments to pass to mealie (Gunicorn).\n", "example": {"_type": "literalExpression", "text": "[\n  \"--log-level\"\n  \"debug\"\n]"}, "loc": ["services", "mealie", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.mealie.listenAddress": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "Address on which the service should listen.", "loc": ["services", "mealie", "listenAddress"], "readOnly": false, "type": "string"}, "services.mealie.package": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mealie"}, "description": "The mealie package to use.", "loc": ["services", "mealie", "package"], "readOnly": false, "type": "package"}, "services.mealie.port": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "9000"}, "description": "Port on which to serve the Mealie service.", "loc": ["services", "mealie", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mealie.settings": {"declarations": ["nixos/modules/services/web-apps/mealie.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration of the Mealie service.\n\nSee [the mealie documentation](https://nightly.mealie.io/documentation/getting-started/installation/backend-config/) for available options and default values.\n", "example": {"_type": "literalExpression", "text": "{\n  ALLOW_SIGNUP = \"false\";\n}"}, "loc": ["services", "mealie", "settings"], "readOnly": false, "type": "attribute set of anything"}, "services.mediagoblin.createDatabaseLocally": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to configure a local postgres database and connect to it.", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "mediagoblin", "createDatabaseLocally"], "readOnly": false, "type": "boolean"}, "services.mediagoblin.domain": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "description": "Domain under which mediagoblin will be served.", "example": {"_type": "literalExpression", "text": "\"mediagoblin.example.com\""}, "loc": ["services", "mediagoblin", "domain"], "readOnly": false, "type": "string"}, "services.mediagoblin.enable": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MediaGoblin.\n\nAfter the initial deployment, make sure to add an admin account:\n```\nmediagoblin-gmg adduser --username admin --email admin@example.com\nmediagoblin-gmg makeadmin admin\n```\n", "loc": ["services", "mediagoblin", "enable"], "readOnly": false, "type": "boolean"}, "services.mediagoblin.package": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mediagoblin"}, "description": "The mediagoblin package to use.", "loc": ["services", "mediagoblin", "package"], "readOnly": false, "type": "package"}, "services.mediagoblin.paste.port": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "6543"}, "description": "Port under which paste will listen.", "loc": ["services", "mediagoblin", "paste", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mediagoblin.paste.settings": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings which are written into `paste.ini`.", "loc": ["services", "mediagoblin", "paste", "settings"], "readOnly": false, "type": "open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))"}, "services.mediagoblin.pluginPackages": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Plugins to add to the environment of MediaGoblin. They still need to be enabled in the config.", "loc": ["services", "mediagoblin", "pluginPackages"], "readOnly": false, "type": "list of package"}, "services.mediagoblin.settings": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings which are written into `mediagoblin.ini`.", "loc": ["services", "mediagoblin", "settings"], "readOnly": false, "type": "open submodule of anything"}, "services.mediagoblin.settings.mediagoblin.allow_registration": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable user self registration. This is generally not recommend due to spammers.\nSee [upstream FAQ](https://docs.mediagoblin.org/en/stable/siteadmin/production-deployments.html#should-i-keep-open-registration-enabled).\n", "loc": ["services", "mediagoblin", "settings", "mediagoblin", "allow_registration"], "readOnly": false, "type": "boolean"}, "services.mediagoblin.settings.mediagoblin.email_debug_mode": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Disable email debug mode to start sending outgoing mails.\nThis requires configuring SMTP settings,\nsee the [upstream docs](https://docs.mediagoblin.org/en/stable/siteadmin/configuration.html#enabling-email-notifications)\nfor details.\n", "example": {"_type": "literalExpression", "text": "false"}, "loc": ["services", "mediagoblin", "settings", "mediagoblin", "email_debug_mode"], "readOnly": false, "type": "boolean"}, "services.mediagoblin.settings.mediagoblin.email_sender_address": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "description": "Email address which notices are sent from.", "example": {"_type": "literalExpression", "text": "\"noreply@example.org\""}, "loc": ["services", "mediagoblin", "settings", "mediagoblin", "email_sender_address"], "readOnly": false, "type": "string"}, "services.mediagoblin.settings.mediagoblin.plugins": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "''\n  {\n    \"mediagoblin.plugins.geolocation\" = { };\n    \"mediagoblin.plugins.processing_info\" = { };\n    \"mediagoblin.plugins.basic_auth\" = { };\n    \"mediagoblin.media_types.image\" = { };\n  }\n''"}, "description": "Plugins to enable. See [upstream docs](https://docs.mediagoblin.org/en/stable/siteadmin/plugins.html) for details.\nExtra dependencies are automatically enabled.\n", "loc": ["services", "mediagoblin", "settings", "mediagoblin", "plugins"], "readOnly": false, "type": "unspecified value"}, "services.mediagoblin.settings.mediagoblin.sql_engine": {"declarations": ["nixos/modules/services/web-apps/mediagoblin.nix"], "default": {"_type": "literalExpression", "text": "\"sqlite:///var/lib/mediagoblin/mediagoblin.db\""}, "description": "Database to use.", "example": {"_type": "literalExpression", "text": "\"postgresql:///mediagoblin\""}, "loc": ["services", "mediagoblin", "settings", "mediagoblin", "sql_engine"], "readOnly": false, "type": "string"}, "services.mediamtx.allowVideoAccess": {"declarations": ["nixos/modules/services/video/mediamtx.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable access to video devices like cameras on the system\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mediamtx", "allowVideoAccess"], "readOnly": false, "type": "boolean"}, "services.mediamtx.enable": {"declarations": ["nixos/modules/services/video/mediamtx.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MediaMTX.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mediamtx", "enable"], "readOnly": false, "type": "boolean"}, "services.mediamtx.env": {"declarations": ["nixos/modules/services/video/mediamtx.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra environment variables for MediaMTX", "example": {"_type": "literalExpression", "text": "{\n  MTX_CONFKEY = \"mykey\";\n}"}, "loc": ["services", "mediamtx", "env"], "readOnly": false, "type": "attribute set of anything"}, "services.mediamtx.package": {"declarations": ["nixos/modules/services/video/mediamtx.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mediamtx"}, "description": "The mediamtx package to use.", "loc": ["services", "mediamtx", "package"], "readOnly": false, "type": "package"}, "services.mediamtx.settings": {"declarations": ["nixos/modules/services/video/mediamtx.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings for MediaMTX. Refer to the defaults at\n<https://github.com/bluenviron/mediamtx/blob/main/mediamtx.yml>.\n", "example": {"_type": "literalExpression", "text": "{\n  paths = {\n    cam = {\n      runOnInit = \"\\${lib.getExe pkgs.ffmpeg} -f v4l2 -i /dev/video0 -f rtsp rtsp://localhost:$RTSP_PORT/$RTSP_PATH\";\n      runOnInitRestart = true;\n    };\n  };\n}"}, "loc": ["services", "mediamtx", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.mediatomb.customCfg": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Allow the service to create and use its own config file inside the `dataDir` as\nconfigured by {option}`services.mediatomb.dataDir`.\nDeactivated by default, the service then runs with the configuration generated from this module.\nOtherwise, when enabled, no service configuration is generated. Gerbera/Mediatomb then starts using\nconfig.xml within the configured `dataDir`. It's up to the user to make a correct\nconfiguration file.\n", "loc": ["services", "mediatomb", "customCfg"], "readOnly": false, "type": "boolean"}, "services.mediatomb.dataDir": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/${config.services.mediatomb.package.pname}\""}, "description": "The directory where Gerbera/Mediatomb stores its state, data, etc.\n", "loc": ["services", "mediatomb", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.mediatomb.dsmSupport": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable D-Link DSM 320 specific tweaks.\nWARNING: incompatible with ps3 support.\n", "loc": ["services", "mediatomb", "dsmSupport"], "readOnly": false, "type": "boolean"}, "services.mediatomb.enable": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Gerbera/Mediatomb DLNA server.\n", "loc": ["services", "mediatomb", "enable"], "readOnly": false, "type": "boolean"}, "services.mediatomb.group": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "\"mediatomb\""}, "description": "Group account under which the service runs.", "loc": ["services", "mediatomb", "group"], "readOnly": false, "type": "string"}, "services.mediatomb.interface": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "A specific interface to bind to.\n", "loc": ["services", "mediatomb", "interface"], "readOnly": false, "type": "string"}, "services.mediatomb.mediaDirectories": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Declare media directories to index.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    hidden-files = false;\n    path = \"/data/pictures\";\n    recursive = false;\n  }\n  {\n    hidden-files = false;\n    path = \"/data/audio\";\n    recursive = true;\n  }\n]"}, "loc": ["services", "mediatomb", "mediaDirectories"], "readOnly": false, "type": "list of (submodule)"}, "services.mediatomb.mediaDirectories.*.hidden-files": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to index the hidden files or not.", "loc": ["services", "mediatomb", "mediaDirectories", "*", "hidden-files"], "readOnly": false, "type": "boolean"}, "services.mediatomb.mediaDirectories.*.path": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "description": "Absolute directory path to the media directory to index.\n", "loc": ["services", "mediatomb", "mediaDirectories", "*", "path"], "readOnly": false, "type": "string"}, "services.mediatomb.mediaDirectories.*.recursive": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether the indexation must take place recursively or not.", "loc": ["services", "mediatomb", "mediaDirectories", "*", "recursive"], "readOnly": false, "type": "boolean"}, "services.mediatomb.openFirewall": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If false (the default), this is up to the user to declare the firewall rules.\nIf true, this opens port 1900 (tcp and udp) and the port specified by\n{option}`sercvices.mediatomb.port`.\n\nIf the option {option}`services.mediatomb.interface` is set,\nthe firewall rules opened are dedicated to that interface. Otherwise,\nthose rules are opened globally.\n", "loc": ["services", "mediatomb", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.mediatomb.package": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.gerbera"}, "description": "The gerbera package to use.", "loc": ["services", "mediatomb", "package"], "readOnly": false, "type": "package"}, "services.mediatomb.pcDirectoryHide": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to list the top-level directory or not (from upnp client standpoint).\n", "loc": ["services", "mediatomb", "pcDirectoryHide"], "readOnly": false, "type": "boolean"}, "services.mediatomb.port": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "49152"}, "description": "The network port to listen on.\n", "loc": ["services", "mediatomb", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mediatomb.ps3Support": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ps3 specific tweaks.\nWARNING: incompatible with DSM 320 support.\n", "loc": ["services", "mediatomb", "ps3Support"], "readOnly": false, "type": "boolean"}, "services.mediatomb.serverName": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "\"Gerbera (Mediatomb)\""}, "description": "How to identify the server on the network.\n", "loc": ["services", "mediatomb", "serverName"], "readOnly": false, "type": "string"}, "services.mediatomb.tg100Support": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Telegent TG100 specific tweaks.\n", "loc": ["services", "mediatomb", "tg100Support"], "readOnly": false, "type": "boolean"}, "services.mediatomb.transcoding": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable transcoding.\n", "loc": ["services", "mediatomb", "transcoding"], "readOnly": false, "type": "boolean"}, "services.mediatomb.user": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "\"mediatomb\""}, "description": "User account under which the service runs.", "loc": ["services", "mediatomb", "user"], "readOnly": false, "type": "string"}, "services.mediatomb.uuid": {"declarations": ["nixos/modules/services/misc/mediatomb.nix"], "default": {"_type": "literalExpression", "text": "\"fdfc8a4e-a3ad-4c1d-b43d-a2eedb03a687\""}, "description": "A unique (on your network) to identify the server by.\n", "loc": ["services", "mediatomb", "uuid"], "readOnly": false, "type": "string"}, "services.mediawiki.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.\nThis currently only applies if database type \"mysql\" or \"postgres\" is selected.\n", "loc": ["services", "mediawiki", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.mediawiki.database.host": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"\\\"localhost\\\"\""}, "description": "Database host address. Used only if database type is not SQLite.", "loc": ["services", "mediawiki", "database", "host"], "readOnly": false, "type": "null or string"}, "services.mediawiki.database.name": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"mediawiki\""}, "description": "Database name.", "loc": ["services", "mediawiki", "database", "name"], "readOnly": false, "type": "string"}, "services.mediawiki.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n{option}`database.user`. Used only if database type is not SQLite.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/mediawiki-dbpassword\""}, "loc": ["services", "mediawiki", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.mediawiki.database.path": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mediawiki/data\""}, "description": "Path to store the MediaWiki database in if using SQLite.", "loc": ["services", "mediawiki", "database", "path"], "readOnly": false, "type": "null or absolute path"}, "services.mediawiki.database.port": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port. Used only if database type is not SQLite.", "loc": ["services", "mediawiki", "database", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mediawiki.database.socket": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "/run/mysqld/mysqld.sock"}, "description": "Path to the unix socket file to use for authentication. Used only if database type is not SQLite.", "loc": ["services", "mediawiki", "database", "socket"], "readOnly": false, "type": "null or absolute path"}, "services.mediawiki.database.tablePrefix": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If you only have access to a single database and wish to install more than\none version of MediaWiki, or have other applications that also use the\ndatabase, you can give the table names a unique prefix to stop any naming\nconflicts or confusion. Only used if database type is MySQL.\nSee <https://www.mediawiki.org/wiki/Manual:$wgDBprefix>.\n", "loc": ["services", "mediawiki", "database", "tablePrefix"], "readOnly": false, "type": "null or string"}, "services.mediawiki.database.type": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"mysql\""}, "description": "Database engine to use. MySQL/MariaDB is the database of choice by MediaWiki developers.", "loc": ["services", "mediawiki", "database", "type"], "readOnly": false, "type": "one of \"mysql\", \"postgres\", \"mssql\", \"oracle\", \"sqlite\""}, "services.mediawiki.database.user": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"mediawiki\""}, "description": "Database user. Used only if database type is not SQLite.", "loc": ["services", "mediawiki", "database", "user"], "readOnly": false, "type": "null or string"}, "services.mediawiki.enable": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MediaWiki.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mediawiki", "enable"], "readOnly": false, "type": "boolean"}, "services.mediawiki.extensions": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of paths whose content is copied to the {file}`extensions`\nsubdirectory of the MediaWiki installation and enabled in configuration.\n\nUse `null` instead of path to enable extensions that are part of MediaWiki.\n", "example": {"_type": "literalExpression", "text": "{\n  Matomo = pkgs.fetchzip {\n    url = \"https://github.com/DaSchTour/matomo-mediawiki-extension/archive/v4.0.1.tar.gz\";\n    sha256 = \"0g5rd3zp0avwlmqagc59cg9bbkn3r7wx7p6yr80s644mj6dlvs1b\";\n  };\n  ParserFunctions = null;\n}\n"}, "loc": ["services", "mediawiki", "extensions"], "readOnly": false, "type": "attribute set of (null or absolute path)"}, "services.mediawiki.extraConfig": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Any additional text to be appended to MediaWiki's\nLocalSettings.php configuration file. For configuration\nsettings, see <https://www.mediawiki.org/wiki/Manual:Configuration_settings>.\n", "example": {"_type": "literalExpression", "text": "''\n  $wgEnableEmail = false;\n''"}, "loc": ["services", "mediawiki", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mediawiki.finalPackage": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "pkg"}, "description": "The final package used by the module. This is the package that will have extensions and skins installed.\n", "loc": ["services", "mediawiki", "finalPackage"], "readOnly": true, "type": "package"}, "services.mediawiki.httpd.virtualHost": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "description": "Apache configuration can be done by adapting {option}`services.httpd.virtualHosts`.\nSee [](#opt-services.httpd.virtualHosts) for further information.\n", "example": {"_type": "literalExpression", "text": "{\n  hostName = \"mediawiki.example.org\";\n  adminAddr = \"webmaster@example.org\";\n  forceSSL = true;\n  enableACME = true;\n}\n"}, "loc": ["services", "mediawiki", "httpd", "virtualHost"], "readOnly": false, "type": "submodule"}, "services.mediawiki.httpd.virtualHost.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.mediawiki.httpd.virtualHost.addSSL": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "addSSL"], "readOnly": false, "type": "boolean"}, "services.mediawiki.httpd.virtualHost.adminAddr": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "E-mail address of the server administrator.", "example": {"_type": "literalExpression", "text": "\"admin@example.org\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "adminAddr"], "readOnly": false, "type": "null or string"}, "services.mediawiki.httpd.virtualHost.documentRoot": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of Apache's document root directory.  If left undefined,\nan empty directory in the Nix store will be used as root.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "documentRoot"], "readOnly": false, "type": "null or absolute path"}, "services.mediawiki.httpd.virtualHost.enableACME": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "enableACME"], "readOnly": false, "type": "boolean"}, "services.mediawiki.httpd.virtualHost.enableUserDir": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable serving {file}`~/public_html` as\n`/~\u00abusername\u00bb`.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "enableUserDir"], "readOnly": false, "type": "boolean"}, "services.mediawiki.httpd.virtualHost.extraConfig": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to httpd.conf verbatim. They will go after\ndirectories and directory aliases defined by default.\n", "example": {"_type": "literalExpression", "text": "''\n  <Directory /home>\n    Options FollowSymlinks\n    AllowOverride All\n  </Directory>\n''"}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mediawiki.httpd.virtualHost.forceSSL": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that permanently redirects (301)\nall plain HTTP traffic to HTTPS. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443), where the non-SSL listens are used for the redirect vhosts.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.mediawiki.httpd.virtualHost.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected permanently to\nthe given URL.\n", "example": {"_type": "literalExpression", "text": "\"http://newserver.example.org/\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.mediawiki.httpd.virtualHost.hostName": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Canonical hostname for the server.", "loc": ["services", "mediawiki", "httpd", "virtualHost", "hostName"], "readOnly": false, "type": "string"}, "services.mediawiki.httpd.virtualHost.http2": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. *However, if you use the prefork mpm, there will\nbe severe restrictions.* Refer to <https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config> for details.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "http2"], "readOnly": false, "type": "boolean"}, "services.mediawiki.httpd.virtualHost.listen": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\n\n::: {.note}\nThis option overrides `addSSL`, `forceSSL` and `onlySSL`.\n\nIf you only want to set the addresses manually and not the ports, take a look at `listenAddresses`.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    ip = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    ip = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    ip = \"*\";\n    port = 8080;\n  }\n]"}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.mediawiki.httpd.virtualHost.listen.*.ip": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"*\""}, "description": "IP to listen on. 0.0.0.0 for IPv4 only, * for all.", "loc": ["services", "mediawiki", "httpd", "virtualHost", "listen", "*", "ip"], "readOnly": false, "type": "string"}, "services.mediawiki.httpd.virtualHost.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "description": "Port to listen on", "loc": ["services", "mediawiki", "httpd", "virtualHost", "listen", "*", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mediawiki.httpd.virtualHost.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SSL (https) support.", "loc": ["services", "mediawiki", "httpd", "virtualHost", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.mediawiki.httpd.virtualHost.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n]"}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "listenAddresses"], "readOnly": false, "type": "non-empty (list of string)"}, "services.mediawiki.httpd.virtualHost.locations": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config. See <https://httpd.apache.org/docs/2.4/mod/core.html#location> for details.\n", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n  \"/foo/bar.png\" = {\n    alias = \"/home/eelco/some-file.png\";\n  };\n};\n"}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.mediawiki.httpd.virtualHost.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests. See <https://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias>.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.mediawiki.httpd.virtualHost.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mediawiki.httpd.virtualHost.locations.<name>.index": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds DirectoryIndex directive. See <https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex>.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.mediawiki.httpd.virtualHost.locations.<name>.priority": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.mediawiki.httpd.virtualHost.locations.<name>.proxyPass": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Sets up a simple reverse proxy as described by <https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html#simple>.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.mediawiki.httpd.virtualHost.logFormat": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"common\""}, "description": "Log format for Apache's log files. Possible values are: combined, common, referer, agent.\n", "example": {"_type": "literalExpression", "text": "\"combined\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "logFormat"], "readOnly": false, "type": "string"}, "services.mediawiki.httpd.virtualHost.onlySSL": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.mediawiki.httpd.virtualHost.robotsEntries": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Specification of pages to be ignored by web crawlers. See <http://www.robotstxt.org/> for details.\n", "example": {"_type": "literalExpression", "text": "\"Disallow: /foo/\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "robotsEntries"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mediawiki.httpd.virtualHost.servedDirs": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve static directories.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    dir = \"/home/eelco/Dev/nix-homepage\";\n    urlPath = \"/nix\";\n  }\n]"}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "servedDirs"], "readOnly": false, "type": "list of (attribute set)"}, "services.mediawiki.httpd.virtualHost.servedFiles": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "This option provides a simple way to serve individual, static files.\n\n::: {.note}\nThis option has been deprecated and will be removed in a future\nversion of NixOS. You can achieve the same result by making use of\nthe `locations.<name>.alias` option.\n:::\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    file = \"/home/eelco/some-file.png\";\n    urlPath = \"/foo/bar.png\";\n  }\n]"}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "servedFiles"], "readOnly": false, "type": "list of (attribute set)"}, "services.mediawiki.httpd.virtualHost.serverAliases": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"www.example.org:8080\"\n  \"example.org\"\n]"}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.mediawiki.httpd.virtualHost.sslServerCert": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "sslServerCert"], "readOnly": false, "type": "absolute path"}, "services.mediawiki.httpd.virtualHost.sslServerChain": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to server SSL chain file.", "example": {"_type": "literalExpression", "text": "\"/var/ca.pem\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "sslServerChain"], "readOnly": false, "type": "null or absolute path"}, "services.mediawiki.httpd.virtualHost.sslServerKey": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "mediawiki", "httpd", "virtualHost", "sslServerKey"], "readOnly": false, "type": "absolute path"}, "services.mediawiki.httpd.virtualHost.useACMEHost": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "mediawiki", "httpd", "virtualHost", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.mediawiki.name": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"MediaWiki\""}, "description": "Name of the wiki.", "example": {"_type": "literalExpression", "text": "\"Foobar Wiki\""}, "loc": ["services", "mediawiki", "name"], "readOnly": false, "type": "string"}, "services.mediawiki.nginx.hostName": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The hostname to use for the nginx virtual host.\nThis is used to generate the nginx configuration.\n", "example": {"_type": "literalExpression", "text": "wiki.example.com"}, "loc": ["services", "mediawiki", "nginx", "hostName"], "readOnly": false, "type": "string"}, "services.mediawiki.package": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mediawiki"}, "description": "The mediawiki package to use.", "loc": ["services", "mediawiki", "package"], "readOnly": false, "type": "package"}, "services.mediawiki.passwordFile": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "description": "A file containing the initial password for the administrator account \"admin\".\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/mediawiki-password\""}, "loc": ["services", "mediawiki", "passwordFile"], "readOnly": false, "type": "absolute path"}, "services.mediawiki.passwordSender": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "if cfg.webserver == \"apache\" then\n  if cfg.httpd.virtualHost.adminAddr != null then\n    cfg.httpd.virtualHost.adminAddr\n  else\n    config.services.httpd.adminAddr else \"root@localhost\"\n"}, "description": "Contact address for password reset.", "loc": ["services", "mediawiki", "passwordSender"], "readOnly": false, "type": "string"}, "services.mediawiki.path": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "with pkgs; [ diffutils imagemagick ]"}, "description": "Extra packages to add to the PATH of phpfpm-pool.", "example": {"_type": "literalExpression", "text": "with pkgs; [ librsvg ]"}, "loc": ["services", "mediawiki", "path"], "readOnly": false, "type": "list of package"}, "services.mediawiki.phpPackage": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "pkgs.php"}, "description": "The php package to use.", "loc": ["services", "mediawiki", "phpPackage"], "readOnly": false, "type": "package"}, "services.mediawiki.poolConfig": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "{\n  pm = \"dynamic\";\n  \"pm.max_children\" = 32;\n  \"pm.max_requests\" = 500;\n  \"pm.max_spare_servers\" = 4;\n  \"pm.min_spare_servers\" = 2;\n  \"pm.start_servers\" = 2;\n}"}, "description": "Options for the MediaWiki PHP pool. See the documentation on `php-fpm.conf`\nfor details on configuration directives.\n", "loc": ["services", "mediawiki", "poolConfig"], "readOnly": false, "type": "attribute set of (string or signed integer or boolean)"}, "services.mediawiki.skins": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Attribute set of paths whose content is copied to the {file}`skins`\nsubdirectory of the MediaWiki installation in addition to the default skins.\n", "loc": ["services", "mediawiki", "skins"], "readOnly": false, "type": "attribute set of absolute path"}, "services.mediawiki.uploadsDir": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mediawiki/uploads\""}, "description": "This directory is used for uploads of pictures. The directory passed here is automatically\ncreated and permissions adjusted as required.\n", "loc": ["services", "mediawiki", "uploadsDir"], "readOnly": false, "type": "null or absolute path"}, "services.mediawiki.url": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "''\n  if \"mediawiki uses ssl\" then \"{\"https\" else \"http\"}://''${cfg.hostName}\" else \"http://localhost\";\n''"}, "description": "URL of the wiki.", "example": {"_type": "literalExpression", "text": "\"https://wiki.example.org\""}, "loc": ["services", "mediawiki", "url"], "readOnly": false, "type": "string"}, "services.mediawiki.webserver": {"declarations": ["nixos/modules/services/web-apps/mediawiki.nix"], "default": {"_type": "literalExpression", "text": "\"apache\""}, "description": "Webserver to use.", "loc": ["services", "mediawiki", "webserver"], "readOnly": false, "type": "one of \"apache\", \"none\", \"nginx\""}, "services.meilisearch.enable": {"declarations": ["nixos/modules/services/search/meilisearch.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Meilisearch - a RESTful search API.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "meilisearch", "enable"], "readOnly": false, "type": "boolean"}, "services.meilisearch.listenAddress": {"declarations": ["nixos/modules/services/search/meilisearch.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The IP address that Meilisearch will listen on.\n\nIt can also be a hostname like \"localhost\". If it resolves to an IPv4 and IPv6 address, Meilisearch will listen on both.\n", "loc": ["services", "meilisearch", "listenAddress"], "readOnly": false, "type": "string"}, "services.meilisearch.listenPort": {"declarations": ["nixos/modules/services/search/meilisearch.nix"], "default": {"_type": "literalExpression", "text": "7700"}, "description": "The port that Meilisearch will listen on.\n", "loc": ["services", "meilisearch", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.meilisearch.masterKeyFile": {"declarations": ["nixos/modules/services/search/meilisearch.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file which contains the master key.\nBy doing so, all routes will be protected and will require a key to be accessed.\nIf no master key is provided, all routes can be accessed without requiring any key.\n\nYou can generate a master key by running `openssl rand -base64 36`.\nAlternatively, you can start Meilisearch without a master key and use the pre-generated key from the service's logs that can be obtained by `journalctl -u meilisearch | grep -- --master-key`.\n", "loc": ["services", "meilisearch", "masterKeyFile"], "readOnly": false, "type": "null or absolute path"}, "services.meilisearch.package": {"declarations": ["nixos/modules/services/search/meilisearch.nix"], "default": {"_type": "literalExpression", "text": "pkgs.meilisearch"}, "description": "The meilisearch package to use. Use this if you require specific features to be enabled. The default package has no features.\n", "loc": ["services", "meilisearch", "package"], "readOnly": false, "type": "package"}, "services.meilisearch.settings": {"declarations": ["nixos/modules/services/search/meilisearch.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration settings for Meilisearch.\nLook at the documentation for available options:\nhttps://github.com/meilisearch/meilisearch/blob/main/config.toml\nhttps://www.meilisearch.com/docs/learn/self_hosted/configure_meilisearch_at_launch#all-instance-options\n", "loc": ["services", "meilisearch", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.memcached.enable": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Memcached.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "memcached", "enable"], "readOnly": false, "type": "boolean"}, "services.memcached.enableUnixSocket": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Unix Domain Socket at /run/memcached/memcached.sock instead of listening on an IP address and port. The `listen` and `port` options are ignored.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "memcached", "enableUnixSocket"], "readOnly": false, "type": "boolean"}, "services.memcached.extraOptions": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of extra options that will be added as a suffix when running memcached.", "loc": ["services", "memcached", "extraOptions"], "readOnly": false, "type": "list of string"}, "services.memcached.listen": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "The IP address to bind to.", "loc": ["services", "memcached", "listen"], "readOnly": false, "type": "string"}, "services.memcached.maxConnections": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "1024"}, "description": "The maximum number of simultaneous connections.", "loc": ["services", "memcached", "maxConnections"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.memcached.maxMemory": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "64"}, "description": "The maximum amount of memory to use for storage, in MiB (1024\u00d71024 bytes).", "loc": ["services", "memcached", "maxMemory"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.memcached.port": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "11211"}, "description": "The port to bind to.", "loc": ["services", "memcached", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.memcached.user": {"declarations": ["nixos/modules/services/databases/memcached.nix"], "default": {"_type": "literalExpression", "text": "\"memcached\""}, "description": "The user to run Memcached as", "loc": ["services", "memcached", "user"], "readOnly": false, "type": "string"}, "services.meme-bingo-web.address": {"declarations": ["nixos/modules/services/web-apps/meme-bingo-web.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The address the webserver will bind to.\n", "example": {"_type": "literalExpression", "text": "\"::\""}, "loc": ["services", "meme-bingo-web", "address"], "readOnly": false, "type": "string"}, "services.meme-bingo-web.baseUrl": {"declarations": ["nixos/modules/services/web-apps/meme-bingo-web.nix"], "default": {"_type": "literalExpression", "text": "\"http://localhost:41678/\""}, "description": "URL to be used for the HTML \\<base\\> element on all HTML routes.\n", "example": {"_type": "literalExpression", "text": "\"https://bingo.example.com/\""}, "loc": ["services", "meme-bingo-web", "baseUrl"], "readOnly": false, "type": "string"}, "services.meme-bingo-web.enable": {"declarations": ["nixos/modules/services/web-apps/meme-bingo-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a web app for the meme bingo, rendered entirely on the web server and made interactive with forms.\n\nNote: The application's author suppose to run meme-bingo-web behind a reverse proxy for SSL and HTTP/3\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "meme-bingo-web", "enable"], "readOnly": false, "type": "boolean"}, "services.meme-bingo-web.openFirewall": {"declarations": ["nixos/modules/services/web-apps/meme-bingo-web.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Opens the specified port in the firewall.\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "meme-bingo-web", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.meme-bingo-web.package": {"declarations": ["nixos/modules/services/web-apps/meme-bingo-web.nix"], "default": {"_type": "literalExpression", "text": "pkgs.meme-bingo-web"}, "description": "The meme-bingo-web package to use.", "loc": ["services", "meme-bingo-web", "package"], "readOnly": false, "type": "package"}, "services.meme-bingo-web.port": {"declarations": ["nixos/modules/services/web-apps/meme-bingo-web.nix"], "default": {"_type": "literalExpression", "text": "41678"}, "description": "Port to be used for the web server.\n", "example": {"_type": "literalExpression", "text": "21035"}, "loc": ["services", "meme-bingo-web", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.memos.dataDir": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/memos/\""}, "description": "Specifies the directory where Memos will store its data.\n\n::: {.note}\nIt will be automatically created with the permissions of [{option}`services.memos.user`](#opt-services.memos.user) and [{option}`services.memos.group`](#opt-services.memos.group).\n:::\n", "loc": ["services", "memos", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.memos.enable": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Memos note-taking.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "memos", "enable"], "readOnly": false, "type": "boolean"}, "services.memos.environmentFile": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalMD", "text": "generated from {option}`services.memos.settings`\n"}, "description": "The environment file to use when starting Memos.\n\n::: {.note}\nBy default, generated from [](opt-services.memos.settings).\n:::\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/memos/memos.env\""}, "loc": ["services", "memos", "environmentFile"], "readOnly": false, "type": "absolute path"}, "services.memos.group": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalExpression", "text": "\"memos\""}, "description": "The group to run Memos as.\n\n::: {.note}\nIf changing the default value, **you** are responsible of creating the corresponding group with [{option}`users.groups`](#opt-users.groups).\n:::\n", "loc": ["services", "memos", "group"], "readOnly": false, "type": "string"}, "services.memos.openFirewall": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening the ports in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "memos", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.memos.package": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalExpression", "text": "pkgs.memos"}, "description": "The Memos package to use.", "loc": ["services", "memos", "package"], "readOnly": false, "type": "package"}, "services.memos.settings": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalExpression", "text": "{\n  MEMOS_MODE = \"prod\";\n  MEMOS_ADDR = \"127.0.0.1\";\n  MEMOS_PORT = \"5230\";\n  MEMOS_DATA = config.services.memos.dataDir;\n  MEMOS_DRIVER = \"sqlite\";\n  MEMOS_INSTANCE_URL = \"http://localhost:5230\";\n}\n"}, "description": "The environment variables to configure Memos.\n\n::: {.note}\nAt time of writing, there is no clear documentation about possible values.\nIt's possible to convert CLI flags into these variables.\nExample : CLI flag \"--unix-sock\" converts to {env}`MEMOS_UNIX_SOCK`.\n:::\n", "loc": ["services", "memos", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string))"}, "services.memos.user": {"declarations": ["nixos/modules/services/misc/memos.nix"], "default": {"_type": "literalExpression", "text": "\"memos\""}, "description": "The user to run Memos as.\n\n::: {.note}\nIf changing the default value, **you** are responsible of creating the corresponding user with [{option}`users.users`](#opt-users.users).\n:::\n", "loc": ["services", "memos", "user"], "readOnly": false, "type": "string"}, "services.merecat.enable": {"declarations": ["nixos/modules/services/web-servers/merecat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Merecat HTTP server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "merecat", "enable"], "readOnly": false, "type": "boolean"}, "services.merecat.settings": {"declarations": ["nixos/modules/services/web-servers/merecat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Merecat configuration. Refer to {manpage}`merecat(8)` for details on supported values.\n", "example": {"_type": "literalExpression", "text": "{\n  directory = \"/srv/www\";\n  hostname = \"localhost\";\n  port = 8080;\n  virtual-host = true;\n}"}, "loc": ["services", "merecat", "settings"], "readOnly": false, "type": "attribute set of (atom (null, bool, int, float or string))"}, "services.meshcentral.enable": {"declarations": ["nixos/modules/services/admin/meshcentral.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MeshCentral computer management server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "meshcentral", "enable"], "readOnly": false, "type": "boolean"}, "services.meshcentral.package": {"declarations": ["nixos/modules/services/admin/meshcentral.nix"], "default": {"_type": "literalExpression", "text": "pkgs.meshcentral"}, "description": "The meshcentral package to use.", "loc": ["services", "meshcentral", "package"], "readOnly": false, "type": "package"}, "services.meshcentral.settings": {"declarations": ["nixos/modules/services/admin/meshcentral.nix"], "description": "Settings for MeshCentral. Refer to upstream documentation for details:\n\n- [JSON Schema definition](https://github.com/Ylianst/MeshCentral/blob/master/meshcentral-config-schema.json)\n- [simple sample configuration](https://github.com/Ylianst/MeshCentral/blob/master/sample-config.json)\n- [complex sample configuration](https://github.com/Ylianst/MeshCentral/blob/master/sample-config-advanced.json)\n- [Old homepage with documentation link](https://www.meshcommander.com/meshcentral2)\n", "example": {"_type": "literalExpression", "text": "{\n  domains = {\n    \"\" = {\n      certUrl = \"https://meshcentral.example.com/\";\n    };\n  };\n  settings = {\n    Cert = \"meshcentral.example.com\";\n    Port = 4430;\n    TlsOffload = \"10.0.0.2,fd42::2\";\n    WANonly = true;\n  };\n}"}, "loc": ["services", "meshcentral", "settings"], "readOnly": false, "type": "open submodule of attribute set of (JSON value)"}, "services.meshtasticd.dataDir": {"declarations": ["nixos/modules/services/networking/meshtasticd.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/meshtasticd\""}, "description": "The data directory.\n", "loc": ["services", "meshtasticd", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.meshtasticd.enable": {"declarations": ["nixos/modules/services/networking/meshtasticd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Meshtastic daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "meshtasticd", "enable"], "readOnly": false, "type": "boolean"}, "services.meshtasticd.group": {"declarations": ["nixos/modules/services/networking/meshtasticd.nix"], "default": {"_type": "literalExpression", "text": "\"meshtasticd\""}, "description": "Group meshtasticd runs as.", "loc": ["services", "meshtasticd", "group"], "readOnly": false, "type": "string"}, "services.meshtasticd.package": {"declarations": ["nixos/modules/services/networking/meshtasticd.nix"], "default": {"_type": "literalExpression", "text": "pkgs.meshtasticd"}, "description": "The meshtasticd package to use.", "loc": ["services", "meshtasticd", "package"], "readOnly": false, "type": "package"}, "services.meshtasticd.port": {"declarations": ["nixos/modules/services/networking/meshtasticd.nix"], "default": {"_type": "literalExpression", "text": "4403"}, "description": "Port to listen on", "loc": ["services", "meshtasticd", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.meshtasticd.settings": {"declarations": ["nixos/modules/services/networking/meshtasticd.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The Meshtastic configuration file.\n\nAn example of configuration can be found at <https://github.com/meshtastic/firmware/blob/develop/bin/config-dist.yaml>\n", "example": {"_type": "literalExpression", "text": "Lora = {\n  Module = \"auto\";\n};\nWebserver = {\n  Port = 9443;\n  RootPath = pkgs.meshtastic-web;\n};\nGeneral = {\n  MaxNodes = 200;\n  MaxMessageQueue = 100;\n  MACAddressSource = \"eth0\";\n};\n"}, "loc": ["services", "meshtasticd", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.meshtasticd.user": {"declarations": ["nixos/modules/services/networking/meshtasticd.nix"], "default": {"_type": "literalExpression", "text": "\"meshtasticd\""}, "description": "User meshtasticd runs as.", "loc": ["services", "meshtasticd", "user"], "readOnly": false, "type": "string"}, "services.metabase.enable": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Metabase service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "metabase", "enable"], "readOnly": false, "type": "boolean"}, "services.metabase.listen.ip": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "description": "IP address that Metabase should listen on.\n", "loc": ["services", "metabase", "listen", "ip"], "readOnly": false, "type": "string"}, "services.metabase.listen.port": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "Listen port for Metabase.\n", "loc": ["services", "metabase", "listen", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.metabase.openFirewall": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for Metabase.\n", "loc": ["services", "metabase", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.metabase.package": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "pkgs.metabase"}, "description": "The metabase package to use.", "loc": ["services", "metabase", "package"], "readOnly": false, "type": "package"}, "services.metabase.ssl.enable": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SSL (https) support.\n", "loc": ["services", "metabase", "ssl", "enable"], "readOnly": false, "type": "boolean"}, "services.metabase.ssl.keystore": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/metabase/metabase.jks\""}, "description": "[Java KeyStore](https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores) file containing the certificates.\n", "example": {"_type": "literalExpression", "text": "\"/etc/secrets/keystore.jks\""}, "loc": ["services", "metabase", "ssl", "keystore"], "readOnly": false, "type": "null or absolute path"}, "services.metabase.ssl.port": {"declarations": ["nixos/modules/services/misc/metabase.nix"], "default": {"_type": "literalExpression", "text": "8443"}, "description": "Listen port over SSL (https) for Metabase.\n", "loc": ["services", "metabase", "ssl", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.metricbeat.enable": {"declarations": ["nixos/modules/services/monitoring/metricbeat.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable metricbeat.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "metricbeat", "enable"], "readOnly": false, "type": "boolean"}, "services.metricbeat.modules": {"declarations": ["nixos/modules/services/monitoring/metricbeat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Metricbeat modules are responsible for reading metrics from the various sources.\n\nThis is like `services.metricbeat.settings.metricbeat.modules`,\nbut structured as an attribute set. This has the benefit that multiple\nNixOS modules can contribute settings to a single metricbeat module.\n\nA module can be specified multiple times by choosing a different `<name>`\nfor each, but setting [](#opt-services.metricbeat.modules._name_.module) to the same value.\n\nSee <https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html>.\n", "example": {"_type": "literalExpression", "text": "{\n  system = {\n    core = {\n      metrics = [\n        \"percentages\"\n      ];\n    };\n    cpu = {\n      metrics = [\n        \"percentages\"\n        \"normalized_percentages\"\n      ];\n    };\n    enabled = true;\n    metricsets = [\n      \"cpu\"\n      \"load\"\n      \"memory\"\n      \"network\"\n      \"process\"\n      \"process_summary\"\n      \"uptime\"\n      \"socket_summary\"\n    ];\n    period = \"10s\";\n    processes = [\n      \".*\"\n    ];\n  };\n}"}, "loc": ["services", "metricbeat", "modules"], "readOnly": false, "type": "attribute set of (open submodule of (YAML 1.1 value))"}, "services.metricbeat.modules.<name>.module": {"declarations": ["nixos/modules/services/monitoring/metricbeat.nix"], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "The name of the module.\n\nLook for the value after `module:` on the individual\nmodule pages linked from <https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html>.\n", "loc": ["services", "metricbeat", "modules", "<name>", "module"], "readOnly": false, "type": "string"}, "services.metricbeat.package": {"declarations": ["nixos/modules/services/monitoring/metricbeat.nix"], "default": {"_type": "literalExpression", "text": "pkgs.metricbeat"}, "description": "The metricbeat package to use.", "example": {"_type": "literalExpression", "text": "metricbeat7"}, "loc": ["services", "metricbeat", "package"], "readOnly": false, "type": "package"}, "services.metricbeat.settings": {"declarations": ["nixos/modules/services/monitoring/metricbeat.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for metricbeat. See <https://www.elastic.co/guide/en/beats/metricbeat/current/configuring-howto-metricbeat.html> for supported values.\n", "loc": ["services", "metricbeat", "settings"], "readOnly": false, "type": "open submodule of (YAML 1.1 value)"}, "services.metricbeat.settings.name": {"declarations": ["nixos/modules/services/monitoring/metricbeat.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Name of the beat. Defaults to the hostname.\nSee <https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-general-options.html#_name>.\n", "loc": ["services", "metricbeat", "settings", "name"], "readOnly": false, "type": "string"}, "services.metricbeat.settings.tags": {"declarations": ["nixos/modules/services/monitoring/metricbeat.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Tags to place on the shipped metrics.\nSee <https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-general-options.html#_tags_2>.\n", "loc": ["services", "metricbeat", "settings", "tags"], "readOnly": false, "type": "list of string"}, "services.microbin.dataDir": {"declarations": ["nixos/modules/services/web-apps/microbin.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/microbin\""}, "description": "Default data folder for MicroBin.", "loc": ["services", "microbin", "dataDir"], "readOnly": false, "type": "string"}, "services.microbin.enable": {"declarations": ["nixos/modules/services/web-apps/microbin.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MicroBin is a super tiny, feature rich, configurable paste bin web application.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "microbin", "enable"], "readOnly": false, "type": "boolean"}, "services.microbin.package": {"declarations": ["nixos/modules/services/web-apps/microbin.nix"], "default": {"_type": "literalExpression", "text": "pkgs.microbin"}, "description": "The microbin package to use.", "loc": ["services", "microbin", "package"], "readOnly": false, "type": "package"}, "services.microbin.passwordFile": {"declarations": ["nixos/modules/services/web-apps/microbin.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to file containing environment variables.\nUseful for passing down secrets.\nVariables that can be considered secrets are:\n - MICROBIN_BASIC_AUTH_USERNAME\n - MICROBIN_BASIC_AUTH_PASSWORD\n - MICROBIN_ADMIN_USERNAME\n - MICROBIN_ADMIN_PASSWORD\n - MICROBIN_UPLOADER_PASSWORD\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/microbin.env\""}, "loc": ["services", "microbin", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.microbin.settings": {"declarations": ["nixos/modules/services/web-apps/microbin.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional configuration for MicroBin, see\n<https://microbin.eu/docs/installation-and-configuration/configuration/>\nfor supported values.\n\nFor secrets use passwordFile option instead.\n", "example": {"_type": "literalExpression", "text": "{\n  MICROBIN_HIDE_LOGO = false;\n  MICROBIN_PORT = 8080;\n}"}, "loc": ["services", "microbin", "settings"], "readOnly": false, "type": "open submodule of attribute set of (boolean or signed integer or string)"}, "services.microsocks.authOnce": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, once a specific ip address authed successfully with user/pass,\nit is added to a whitelist and may use the proxy without auth.\n", "loc": ["services", "microsocks", "authOnce"], "readOnly": false, "type": "boolean"}, "services.microsocks.authPasswordFile": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a file containing the password for authentication.", "example": {"_type": "literalExpression", "text": "\"/run/secrets/microsocks-password\""}, "loc": ["services", "microsocks", "authPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.microsocks.authUsername": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Optional username to use for authentication.", "example": {"_type": "literalExpression", "text": "\"alice\""}, "loc": ["services", "microsocks", "authUsername"], "readOnly": false, "type": "null or string"}, "services.microsocks.disableLogging": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If true, microsocks will not log any messages to stdout/stderr.", "loc": ["services", "microsocks", "disableLogging"], "readOnly": false, "type": "boolean"}, "services.microsocks.enable": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Tiny, portable SOCKS5 server with very moderate resource usage.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "microsocks", "enable"], "readOnly": false, "type": "boolean"}, "services.microsocks.execWrapper": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "An optional command to prepend to the microsocks command (such as proxychains, or a VPN exclude command).\n", "example": {"_type": "literalExpression", "text": "''\n  ''${pkgs.mullvad-vpn}/bin/mullvad-exclude\n''"}, "loc": ["services", "microsocks", "execWrapper"], "readOnly": false, "type": "null or string"}, "services.microsocks.group": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "\"microsocks\""}, "description": "Group microsocks runs as.", "loc": ["services", "microsocks", "group"], "readOnly": false, "type": "string"}, "services.microsocks.ip": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "IP on which microsocks should listen. Defaults to 127.0.0.1 for\nsecurity reasons.\n", "loc": ["services", "microsocks", "ip"], "readOnly": false, "type": "string"}, "services.microsocks.outgoingBindIp": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specifies which ip outgoing connections are bound to", "loc": ["services", "microsocks", "outgoingBindIp"], "readOnly": false, "type": "null or string"}, "services.microsocks.package": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "pkgs.microsocks"}, "description": "The microsocks package to use.", "loc": ["services", "microsocks", "package"], "readOnly": false, "type": "package"}, "services.microsocks.port": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "1080"}, "description": "Port on which microsocks should listen.", "loc": ["services", "microsocks", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.microsocks.user": {"declarations": ["nixos/modules/services/networking/microsocks.nix"], "default": {"_type": "literalExpression", "text": "\"microsocks\""}, "description": "User microsocks runs as.", "loc": ["services", "microsocks", "user"], "readOnly": false, "type": "string"}, "services.mighttpd2.config": {"declarations": ["nixos/modules/services/web-servers/mighttpd2.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim config file to use\n(see <https://kazu-yamamoto.github.io/mighttpd2/config.html>)\n", "example": {"_type": "literalExpression", "text": "''\n  # Example configuration for Mighttpd 2\n  Port: 80\n  # IP address or \"*\"\n  Host: *\n  Debug_Mode: Yes # Yes or No\n  User: mighttpd2\n  Group: mighttpd2\n  Pid_File: /run/mighty.pid\n  Logging: Yes # Yes or No\n  Log_File: /var/log/mighty # The directory must be writable by User:\n  Log_File_Size: 16777216 # bytes\n  Log_Backup_Number: 10\n  Index_File: index.html\n  Index_Cgi: index.cgi\n  Status_File_Dir: /usr/local/share/mighty/status\n  Connection_Timeout: 30 # seconds\n  Fd_Cache_Duration: 10 # seconds\n  # Server_Name: Mighttpd/3.x.y\n  Tls_Port: 443\n  Tls_Cert_File: cert.pem # should change this with an absolute path\n  # should change this with comma-separated absolute paths\n  Tls_Chain_Files: chain.pem\n  # Currently, Tls_Key_File must not be encrypted.\n  Tls_Key_File: privkey.pem # should change this with an absolute path\n  Service: 0 # 0 is HTTP only, 1 is HTTPS only, 2 is both\n''"}, "loc": ["services", "mighttpd2", "config"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mighttpd2.cores": {"declarations": ["nixos/modules/services/web-servers/mighttpd2.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "How many cores to use.\nIf null it will be determined automatically\n", "loc": ["services", "mighttpd2", "cores"], "readOnly": false, "type": "null or signed integer"}, "services.mighttpd2.enable": {"declarations": ["nixos/modules/services/web-servers/mighttpd2.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mighttpd2 web server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mighttpd2", "enable"], "readOnly": false, "type": "boolean"}, "services.mighttpd2.routing": {"declarations": ["nixos/modules/services/web-servers/mighttpd2.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Verbatim routing file to use\n(see <https://kazu-yamamoto.github.io/mighttpd2/config.html>)\n", "example": {"_type": "literalExpression", "text": "''\n  # Example routing for Mighttpd 2\n  \n  # Domain lists\n  [localhost www.example.com]\n  \n  # Entries are looked up in the specified order\n  # All paths must end with \"/\"\n  \n  # A path to CGI scripts should be specified with \"=>\"\n  /~alice/cgi-bin/ => /home/alice/public_html/cgi-bin/\n  \n  # A path to static files should be specified with \"->\"\n  /~alice/         -> /home/alice/public_html/\n  /cgi-bin/        => /export/cgi-bin/\n  \n  # Reverse proxy rules should be specified with \">>\"\n  # /path >> host:port/path2\n  # Either \"host\" or \":port\" can be committed, but not both.\n  /app/cal/        >> example.net/calendar/\n  # Yesod app in the same server\n  /app/wiki/       >> 127.0.0.1:3000/\n  \n  /                -> /export/www/\n''"}, "loc": ["services", "mighttpd2", "routing"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mihomo.configFile": {"declarations": ["nixos/modules/services/networking/mihomo.nix"], "description": "Configuration file to use.", "loc": ["services", "mihomo", "configFile"], "readOnly": false, "type": "absolute path"}, "services.mihomo.enable": {"declarations": ["nixos/modules/services/networking/mihomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mihomo, A rule-based proxy in Go.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mihomo", "enable"], "readOnly": false, "type": "boolean"}, "services.mihomo.extraOpts": {"declarations": ["nixos/modules/services/networking/mihomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra command line options to use.", "loc": ["services", "mihomo", "extraOpts"], "readOnly": false, "type": "null or string"}, "services.mihomo.package": {"declarations": ["nixos/modules/services/networking/mihomo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mihomo"}, "description": "The mihomo package to use.", "loc": ["services", "mihomo", "package"], "readOnly": false, "type": "package"}, "services.mihomo.processesInfo": {"declarations": ["nixos/modules/services/networking/mihomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable necessary capabilities for rules about process information such as `process-name`\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mihomo", "processesInfo"], "readOnly": false, "type": "boolean"}, "services.mihomo.tunMode": {"declarations": ["nixos/modules/services/networking/mihomo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable necessary capabilities for Mihomo's systemd service for TUN mode to function properly.\n\nKeep in mind, that you still need to enable TUN mode manually in Mihomo's configuration\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mihomo", "tunMode"], "readOnly": false, "type": "boolean"}, "services.mihomo.webui": {"declarations": ["nixos/modules/services/networking/mihomo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Local web interface to use.\n\nYou can also use the following website:\n- metacubexd:\n  - <https://d.metacubex.one>\n  - <https://metacubex.github.io/metacubexd>\n  - <https://metacubexd.pages.dev>\n- yacd:\n  - <https://yacd.haishan.me>\n- clash-dashboard:\n  - <https://clash.razord.top>\n", "example": {"_type": "literalExpression", "text": "pkgs.metacubexd"}, "loc": ["services", "mihomo", "webui"], "readOnly": false, "type": "null or absolute path"}, "services.mimir.configFile": {"declarations": ["nixos/modules/services/monitoring/mimir.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Specify a configuration file that Mimir should use.\n", "loc": ["services", "mimir", "configFile"], "readOnly": false, "type": "null or absolute path"}, "services.mimir.configuration": {"declarations": ["nixos/modules/services/monitoring/mimir.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Specify the configuration for Mimir in Nix.\n", "loc": ["services", "mimir", "configuration"], "readOnly": false, "type": "JSON value"}, "services.mimir.enable": {"declarations": ["nixos/modules/services/monitoring/mimir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable mimir.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mimir", "enable"], "readOnly": false, "type": "boolean"}, "services.mimir.extraFlags": {"declarations": ["nixos/modules/services/monitoring/mimir.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Specify a list of additional command line flags,\nwhich get escaped and are then passed to Mimir.\n", "example": {"_type": "literalExpression", "text": "[\n  \"--config.expand-env=true\"\n]"}, "loc": ["services", "mimir", "extraFlags"], "readOnly": false, "type": "list of string"}, "services.mimir.package": {"declarations": ["nixos/modules/services/monitoring/mimir.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mimir"}, "description": "The mimir package to use.", "loc": ["services", "mimir", "package"], "readOnly": false, "type": "package"}, "services.minecraft-server.dataDir": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/minecraft\""}, "description": "Directory to store Minecraft database and other state/data files.\n", "loc": ["services", "minecraft-server", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.minecraft-server.declarative": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to use a declarative Minecraft server configuration.\nOnly if set to `true`, the options\n{option}`services.minecraft-server.whitelist` and\n{option}`services.minecraft-server.serverProperties` will be\napplied.\n", "loc": ["services", "minecraft-server", "declarative"], "readOnly": false, "type": "boolean"}, "services.minecraft-server.enable": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, start a Minecraft Server. The server\ndata will be loaded from and saved to\n{option}`services.minecraft-server.dataDir`.\n", "loc": ["services", "minecraft-server", "enable"], "readOnly": false, "type": "boolean"}, "services.minecraft-server.eula": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether you agree to [Mojangs EULA](https://www.minecraft.net/eula).\nThis option must be set to `true` to run Minecraft server.\n", "loc": ["services", "minecraft-server", "eula"], "readOnly": false, "type": "boolean"}, "services.minecraft-server.jvmOpts": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "\"-Xmx2048M -Xms2048M\""}, "description": "JVM options for the Minecraft server.", "example": {"_type": "literalExpression", "text": "\"-Xms4092M -Xmx4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10\""}, "loc": ["services", "minecraft-server", "jvmOpts"], "readOnly": false, "type": "strings concatenated with \" \""}, "services.minecraft-server.openFirewall": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to open ports in the firewall for the server.\n", "loc": ["services", "minecraft-server", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.minecraft-server.package": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "pkgs.minecraft-server"}, "description": "The minecraft-server package to use.", "example": {"_type": "literalExpression", "text": "pkgs.minecraft-server_1_12_2"}, "loc": ["services", "minecraft-server", "package"], "readOnly": false, "type": "package"}, "services.minecraft-server.serverProperties": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Minecraft server properties for the server.properties file. Only has\nan effect when {option}`services.minecraft-server.declarative`\nis set to `true`. See\n<https://minecraft.wiki/w/Server.properties#Java_Edition>\nfor documentation on these values.\n", "example": {"_type": "literalExpression", "text": "{\n  server-port = 43000;\n  difficulty = 3;\n  gamemode = 1;\n  max-players = 5;\n  motd = \"NixOS Minecraft server!\";\n  white-list = true;\n  enable-rcon = true;\n  \"rcon.password\" = \"hunter2\";\n}\n"}, "loc": ["services", "minecraft-server", "serverProperties"], "readOnly": false, "type": "attribute set of (boolean or signed integer or string)"}, "services.minecraft-server.whitelist": {"declarations": ["nixos/modules/services/games/minecraft-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Whitelisted players, only has an effect when\n{option}`services.minecraft-server.declarative` is\n`true` and the whitelist is enabled\nvia {option}`services.minecraft-server.serverProperties` by\nsetting `white-list` to `true`.\nThis is a mapping from Minecraft usernames to UUIDs.\nYou can use <https://mcuuid.net/> to get a\nMinecraft UUID for a username.\n", "example": {"_type": "literalExpression", "text": "{\n  username1 = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\";\n  username2 = \"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy\";\n};\n"}, "loc": ["services", "minecraft-server", "whitelist"], "readOnly": false, "type": "attribute set of Minecraft UUID"}, "services.minetest-server.config": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Settings to add to the minetest config file.\n\nThis option is ignored if `configPath` is set.\n", "loc": ["services", "minetest-server", "config"], "readOnly": false, "type": "attribute set of anything"}, "services.minetest-server.configPath": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the config to use.\n\nIf set to null, the config of the running user will be used:\n`~/.minetest/minetest.conf`.\n", "loc": ["services", "minetest-server", "configPath"], "readOnly": false, "type": "null or absolute path"}, "services.minetest-server.enable": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "If enabled, starts a Minetest Server.", "loc": ["services", "minetest-server", "enable"], "readOnly": false, "type": "boolean"}, "services.minetest-server.extraArgs": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional command line flags to pass to the minetest executable.\n", "loc": ["services", "minetest-server", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.minetest-server.gameId": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Id of the game to use. To list available games run\n`minetestserver --gameid list`.\n\nIf only one game exists, this option can be null.\n", "loc": ["services", "minetest-server", "gameId"], "readOnly": false, "type": "null or string"}, "services.minetest-server.logPath": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to logfile for logging.\n\nIf set to null, logging will be output to stdout which means\nall output will be caught by systemd.\n", "loc": ["services", "minetest-server", "logPath"], "readOnly": false, "type": "null or absolute path"}, "services.minetest-server.port": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to bind to.\n\nIf set to null, the default 30000 will be used.\n", "loc": ["services", "minetest-server", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.minetest-server.world": {"declarations": ["nixos/modules/services/games/minetest-server.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of the world to use. To list available worlds run\n`minetestserver --world list`.\n\nIf only one world exists, this option can be null.\n", "loc": ["services", "minetest-server", "world"], "readOnly": false, "type": "null or absolute path"}, "services.minidlna.enable": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MiniDLNA, a simple DLNA server. Consider adding `openFirewall = true` into your config.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "minidlna", "enable"], "readOnly": false, "type": "boolean"}, "services.minidlna.openFirewall": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable opening HTTP (TCP) and SSDP (UDP) ports in the firewall.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "minidlna", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.minidlna.package": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "pkgs.minidlna"}, "description": "The minidlna package to use.", "loc": ["services", "minidlna", "package"], "readOnly": false, "type": "package"}, "services.minidlna.settings": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for {manpage}`minidlna.conf(5)`.", "loc": ["services", "minidlna", "settings"], "readOnly": false, "type": "open submodule of attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)"}, "services.minidlna.settings.db_dir": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "\"/var/cache/minidlna\""}, "description": "Specify the directory to store database and album art cache.", "example": {"_type": "literalExpression", "text": "\"/tmp/minidlna\""}, "loc": ["services", "minidlna", "settings", "db_dir"], "readOnly": false, "type": "absolute path"}, "services.minidlna.settings.enable_subtitles": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "\"yes\""}, "description": "Enable subtitle support on unknown clients.", "loc": ["services", "minidlna", "settings", "enable_subtitles"], "readOnly": false, "type": "one of \"yes\", \"no\""}, "services.minidlna.settings.enable_tivo": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "\"no\""}, "description": "Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.", "loc": ["services", "minidlna", "settings", "enable_tivo"], "readOnly": false, "type": "one of \"yes\", \"no\""}, "services.minidlna.settings.friendly_name": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "config.networking.hostName"}, "description": "Name that the server presents to clients.", "example": {"_type": "literalExpression", "text": "\"rpi3\""}, "loc": ["services", "minidlna", "settings", "friendly_name"], "readOnly": false, "type": "string"}, "services.minidlna.settings.inotify": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "\"no\""}, "description": "Whether to enable inotify monitoring to automatically discover new files.", "loc": ["services", "minidlna", "settings", "inotify"], "readOnly": false, "type": "one of \"yes\", \"no\""}, "services.minidlna.settings.log_level": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "\"warn\""}, "description": "Defines the type of messages that should be logged and down to which level of importance.", "example": {"_type": "literalExpression", "text": "\"general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn\""}, "loc": ["services", "minidlna", "settings", "log_level"], "readOnly": false, "type": "string"}, "services.minidlna.settings.media_dir": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Directories to be scanned for media files.\nThe `A,` `V,` `P,` prefixes restrict a directory to audio, video or image files.\nThe directories must be accessible to the `minidlna` user account.\n", "example": {"_type": "literalExpression", "text": "[\n  \"/data/media\"\n  \"V,/home/alice/video\"\n]"}, "loc": ["services", "minidlna", "settings", "media_dir"], "readOnly": false, "type": "list of string"}, "services.minidlna.settings.notify_interval": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "90000"}, "description": "The interval between announces (in seconds).\nInstead of waiting for announces, you should set `openFirewall` option to use SSDP discovery.\nLower values (e.g. 30 seconds) should be used if your network is blocking the SSDP multicast.\nSome relevant information can be found [here](https://sourceforge.net/p/minidlna/discussion/879957/thread/1389d197/).\n", "loc": ["services", "minidlna", "settings", "notify_interval"], "readOnly": false, "type": "signed integer"}, "services.minidlna.settings.port": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "8200"}, "description": "Port number for HTTP traffic (descriptions, SOAP, media transfer).", "loc": ["services", "minidlna", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.minidlna.settings.root_container": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "\"B\""}, "description": "Use a different container as the root of the directory tree presented to clients.", "example": {"_type": "literalExpression", "text": "\".\""}, "loc": ["services", "minidlna", "settings", "root_container"], "readOnly": false, "type": "string"}, "services.minidlna.settings.wide_links": {"declarations": ["nixos/modules/services/networking/minidlna.nix"], "default": {"_type": "literalExpression", "text": "\"no\""}, "description": "Set this to yes to allow symlinks that point outside user-defined `media_dir`.", "loc": ["services", "minidlna", "settings", "wide_links"], "readOnly": false, "type": "one of \"yes\", \"no\""}, "services.miniflux.adminCredentialsFile": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the ADMIN_USERNAME and\nADMIN_PASSWORD (length >= 6) in the format of\nan EnvironmentFile=, as described by {manpage}`systemd.exec(5)`.\n", "example": {"_type": "literalExpression", "text": "\"/etc/nixos/miniflux-admin-credentials\""}, "loc": ["services", "miniflux", "adminCredentialsFile"], "readOnly": false, "type": "null or absolute path"}, "services.miniflux.config": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for Miniflux, refer to\n<https://miniflux.app/docs/configuration.html>\nfor documentation on the supported values.\n", "loc": ["services", "miniflux", "config"], "readOnly": false, "type": "open submodule of attribute set of (string or signed integer)"}, "services.miniflux.config.CREATE_ADMIN": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create an admin user from environment variables.", "loc": ["services", "miniflux", "config", "CREATE_ADMIN"], "readOnly": false, "type": "signed integer or boolean convertible to it"}, "services.miniflux.config.DATABASE_URL": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "if createDatabaseLocally then \"user=miniflux host=/run/postgresql dbname=miniflux\" else null\n"}, "description": "Postgresql connection parameters.\nSee [lib/pq](https://pkg.go.dev/github.com/lib/pq#hdr-Connection_String_Parameters) for more details.\n", "loc": ["services", "miniflux", "config", "DATABASE_URL"], "readOnly": false, "type": "null or string"}, "services.miniflux.config.LISTEN_ADDR": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "\"localhost:8080\""}, "description": "Address to listen on. Use absolute path for a Unix socket.\nMultiple addresses can be specified, separated by commas.\n", "example": {"_type": "literalExpression", "text": "\"127.0.0.1:8080, 127.0.0.1:8081\""}, "loc": ["services", "miniflux", "config", "LISTEN_ADDR"], "readOnly": false, "type": "string"}, "services.miniflux.config.RUN_MIGRATIONS": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Run database migrations.", "loc": ["services", "miniflux", "config", "RUN_MIGRATIONS"], "readOnly": false, "type": "signed integer or boolean convertible to it"}, "services.miniflux.config.WATCHDOG": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable or disable Systemd watchdog.", "loc": ["services", "miniflux", "config", "WATCHDOG"], "readOnly": false, "type": "signed integer or boolean convertible to it"}, "services.miniflux.createDatabaseLocally": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether a PostgreSQL database should be automatically created and\nconfigured on the local host. If set to `false`, you need provision a\ndatabase yourself.\n", "loc": ["services", "miniflux", "createDatabaseLocally"], "readOnly": false, "type": "boolean"}, "services.miniflux.enable": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable miniflux.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "miniflux", "enable"], "readOnly": false, "type": "boolean"}, "services.miniflux.package": {"declarations": ["nixos/modules/services/web-apps/miniflux.nix"], "default": {"_type": "literalExpression", "text": "pkgs.miniflux"}, "description": "The miniflux package to use.", "loc": ["services", "miniflux", "package"], "readOnly": false, "type": "package"}, "services.minio.accessKey": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Access key of 5 to 20 characters in length that clients use to access the server.\nThis overrides the access key that is generated by minio on first startup and stored inside the\n`configDir` directory.\n", "loc": ["services", "minio", "accessKey"], "readOnly": false, "type": "string"}, "services.minio.browser": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable or disable access to web UI.", "loc": ["services", "minio", "browser"], "readOnly": false, "type": "boolean"}, "services.minio.certificatesDir": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/minio/certs\""}, "description": "The directory where TLS certificates are stored.", "loc": ["services", "minio", "certificatesDir"], "readOnly": false, "type": "absolute path"}, "services.minio.configDir": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/minio/config\""}, "description": "The config directory, for the access keys and other settings.", "loc": ["services", "minio", "configDir"], "readOnly": false, "type": "absolute path"}, "services.minio.consoleAddress": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "\":9001\""}, "description": "IP address and port of the web UI (console).", "loc": ["services", "minio", "consoleAddress"], "readOnly": false, "type": "string"}, "services.minio.dataDir": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"/var/lib/minio/data\"\n]"}, "description": "The list of data directories or nodes for storing the objects. Use one path for regular operation and the minimum of 4 endpoints for Erasure Code mode.", "loc": ["services", "minio", "dataDir"], "readOnly": false, "type": "list of (absolute path or string)"}, "services.minio.enable": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Minio Object Storage.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "minio", "enable"], "readOnly": false, "type": "boolean"}, "services.minio.listenAddress": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "\":9000\""}, "description": "IP address and port of the server.", "loc": ["services", "minio", "listenAddress"], "readOnly": false, "type": "string"}, "services.minio.package": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "pkgs.minio"}, "description": "The minio package to use.", "loc": ["services", "minio", "package"], "readOnly": false, "type": "package"}, "services.minio.region": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "\"us-east-1\""}, "description": "The physical location of the server. By default it is set to us-east-1, which is same as AWS S3's and Minio's default region.\n", "loc": ["services", "minio", "region"], "readOnly": false, "type": "string"}, "services.minio.rootCredentialsFile": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the MINIO_ROOT_USER, default is \"minioadmin\", and\nMINIO_ROOT_PASSWORD (length >= 8), default is \"minioadmin\"; in the format of\nan EnvironmentFile=, as described by {manpage}`systemd.exec(5)`.\n", "example": {"_type": "literalExpression", "text": "\"/etc/nixos/minio-root-credentials\""}, "loc": ["services", "minio", "rootCredentialsFile"], "readOnly": false, "type": "null or absolute path"}, "services.minio.secretKey": {"declarations": ["nixos/modules/services/web-servers/minio.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Specify the Secret key of 8 to 40 characters in length that clients use to access the server.\nThis overrides the secret key that is generated by minio on first startup and stored inside the\n`configDir` directory.\n", "loc": ["services", "minio", "secretKey"], "readOnly": false, "type": "string"}, "services.miniupnpd.appendConfig": {"declarations": ["nixos/modules/services/networking/miniupnpd.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Configuration lines appended to the MiniUPnP config.\n", "loc": ["services", "miniupnpd", "appendConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.miniupnpd.enable": {"declarations": ["nixos/modules/services/networking/miniupnpd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable MiniUPnP daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "miniupnpd", "enable"], "readOnly": false, "type": "boolean"}, "services.miniupnpd.externalInterface": {"declarations": ["nixos/modules/services/networking/miniupnpd.nix"], "description": "Name of the external interface.\n", "loc": ["services", "miniupnpd", "externalInterface"], "readOnly": false, "type": "string"}, "services.miniupnpd.internalIPs": {"declarations": ["nixos/modules/services/networking/miniupnpd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The IP address ranges to listen on.\n", "example": {"_type": "literalExpression", "text": "[\n  \"192.168.1.1/24\"\n  \"enp1s0\"\n]"}, "loc": ["services", "miniupnpd", "internalIPs"], "readOnly": false, "type": "list of string"}, "services.miniupnpd.natpmp": {"declarations": ["nixos/modules/services/networking/miniupnpd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable NAT-PMP support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "miniupnpd", "natpmp"], "readOnly": false, "type": "boolean"}, "services.miniupnpd.upnp": {"declarations": ["nixos/modules/services/networking/miniupnpd.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable UPNP support.\n", "loc": ["services", "miniupnpd", "upnp"], "readOnly": false, "type": "boolean"}, "services.mirakurun.allowSmartCardAccess": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Install polkit rules to allow Mirakurun to access smart card readers\nwhich is commonly used along with tuner devices.\n", "loc": ["services", "mirakurun", "allowSmartCardAccess"], "readOnly": false, "type": "boolean"}, "services.mirakurun.channelSettings": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Options which are added to channels.yml. If none is specified, it\nwill automatically be generated at runtime.\n\nDocumentation:\n<https://github.com/Chinachu/Mirakurun/blob/master/doc/Configuration.md>\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    name = \"channel\";\n    types = \"GR\";\n    channel = \"0\";\n  }\n];\n"}, "loc": ["services", "mirakurun", "channelSettings"], "readOnly": false, "type": "null or YAML 1.1 value"}, "services.mirakurun.enable": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Mirakurun DVR Tuner Server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mirakurun", "enable"], "readOnly": false, "type": "boolean"}, "services.mirakurun.openFirewall": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Open ports in the firewall for Mirakurun.\n\n::: {.warning}\nExposing Mirakurun to the open internet is generally advised\nagainst. Only use it inside a trusted local network, or\nconsider putting it behind a VPN if you want remote access.\n:::\n", "loc": ["services", "mirakurun", "openFirewall"], "readOnly": false, "type": "boolean"}, "services.mirakurun.port": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "40772"}, "description": "Port to listen on. If `null`, it won't listen on\nany port.\n", "loc": ["services", "mirakurun", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mirakurun.serverSettings": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Options for server.yml.\n\nDocumentation:\n<https://github.com/Chinachu/Mirakurun/blob/master/doc/Configuration.md>\n", "example": {"_type": "literalExpression", "text": "{\n  highWaterMark = 25165824;\n  overflowTimeLimit = 30000;\n};\n"}, "loc": ["services", "mirakurun", "serverSettings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.mirakurun.tunerSettings": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Options which are added to tuners.yml. If none is specified, it will\nautomatically be generated at runtime.\n\nDocumentation:\n<https://github.com/Chinachu/Mirakurun/blob/master/doc/Configuration.md>\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    name = \"tuner-name\";\n    types = [ \"GR\" \"BS\" \"CS\" \"SKY\" ];\n    dvbDevicePath = \"/dev/dvb/adapterX/dvrX\";\n  }\n];\n"}, "loc": ["services", "mirakurun", "tunerSettings"], "readOnly": false, "type": "null or YAML 1.1 value"}, "services.mirakurun.unixSocket": {"declarations": ["nixos/modules/services/video/mirakurun.nix"], "default": {"_type": "literalExpression", "text": "\"/var/run/mirakurun/mirakurun.sock\""}, "description": "Path to unix socket to listen on. If `null`, it\nwon't listen on any unix sockets.\n", "loc": ["services", "mirakurun", "unixSocket"], "readOnly": false, "type": "null or absolute path"}, "services.miredo.bindAddress": {"declarations": ["nixos/modules/services/networking/miredo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Depending on the local firewall/NAT rules, you might need to force\nMiredo to use a fixed UDP port and or IPv4 address.\n", "loc": ["services", "miredo", "bindAddress"], "readOnly": false, "type": "null or string"}, "services.miredo.bindPort": {"declarations": ["nixos/modules/services/networking/miredo.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Depending on the local firewall/NAT rules, you might need to force\nMiredo to use a fixed UDP port and or IPv4 address.\n", "loc": ["services", "miredo", "bindPort"], "readOnly": false, "type": "null or string"}, "services.miredo.enable": {"declarations": ["nixos/modules/services/networking/miredo.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Miredo IPv6 tunneling service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "miredo", "enable"], "readOnly": false, "type": "boolean"}, "services.miredo.interfaceName": {"declarations": ["nixos/modules/services/networking/miredo.nix"], "default": {"_type": "literalExpression", "text": "\"teredo\""}, "description": "Name of the network tunneling interface.\n", "loc": ["services", "miredo", "interfaceName"], "readOnly": false, "type": "string"}, "services.miredo.package": {"declarations": ["nixos/modules/services/networking/miredo.nix"], "default": {"_type": "literalExpression", "text": "pkgs.miredo"}, "description": "The miredo package to use.", "loc": ["services", "miredo", "package"], "readOnly": false, "type": "package"}, "services.miredo.serverAddress": {"declarations": ["nixos/modules/services/networking/miredo.nix"], "default": {"_type": "literalExpression", "text": "\"teredo.remlab.net\""}, "description": "The hostname or primary IPv4 address of the Teredo server.\nThis setting is required if Miredo runs as a Teredo client.\n\"teredo.remlab.net\" is an experimental service for testing only.\nPlease use another server for production and/or large scale deployments.\n", "loc": ["services", "miredo", "serverAddress"], "readOnly": false, "type": "string"}, "services.misskey.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create the PostgreSQL database locally. Sets `services.misskey.settings.db.{db,host,port,user,pass}`.", "loc": ["services", "misskey", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.misskey.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the database password. Sets `services.misskey.settings.db.pass`.", "loc": ["services", "misskey", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.enable": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable misskey.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "misskey", "enable"], "readOnly": false, "type": "boolean"}, "services.misskey.meilisearch.createLocally": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create and use a local Meilisearch instance. Sets `services.misskey.settings.meilisearch.{host,port,ssl}`.", "loc": ["services", "misskey", "meilisearch", "createLocally"], "readOnly": false, "type": "boolean"}, "services.misskey.meilisearch.keyFile": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the Meilisearch API key. Sets `services.misskey.settings.meilisearch.apiKey`.", "loc": ["services", "misskey", "meilisearch", "keyFile"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.package": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "pkgs.misskey"}, "description": "The misskey package to use.", "loc": ["services", "misskey", "package"], "readOnly": false, "type": "package"}, "services.misskey.redis.createLocally": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create and use a local Redis instance. Sets `services.misskey.settings.redis.host`.", "loc": ["services", "misskey", "redis", "createLocally"], "readOnly": false, "type": "boolean"}, "services.misskey.redis.passwordFile": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path to a file containing the Redis password. Sets `services.misskey.settings.redis.pass`.", "loc": ["services", "misskey", "redis", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.reverseProxy.enable": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable a HTTP reverse proxy for Misskey.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "misskey", "reverseProxy", "enable"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.host": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The fully qualified domain name to bind to. Sets `services.misskey.settings.url`.\n\nThis is required when using `services.misskey.reverseProxy.enable = true`.\n", "example": {"_type": "literalExpression", "text": "\"misskey.example.com\""}, "loc": ["services", "misskey", "reverseProxy", "host"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.ssl": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Whether to enable SSL for the reverse proxy. Sets `services.misskey.settings.url`.\n\nThis is required when using `services.misskey.reverseProxy.enable = true`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "misskey", "reverseProxy", "ssl"], "readOnly": false, "type": "null or boolean"}, "services.misskey.reverseProxy.webserver": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "description": "The webserver to use as the reverse proxy.", "loc": ["services", "misskey", "reverseProxy", "webserver"], "readOnly": false, "type": "attribute-tagged union with choices: caddy, nginx"}, "services.misskey.reverseProxy.webserver.caddy": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration for the caddy virtual host of Misskey.\nSet to `{ }` to use the default configuration.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "caddy"], "readOnly": false, "type": "submodule"}, "services.misskey.reverseProxy.webserver.caddy.extraConfig": {"declarations": [], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Additional lines of configuration appended to this virtual host in the\nautomatically generated `Caddyfile`.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "caddy", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.misskey.reverseProxy.webserver.caddy.hostName": {"declarations": [], "default": {"_type": "literalExpression", "text": "\"\u2039name\u203a\""}, "description": "Canonical hostname for the server.", "loc": ["services", "misskey", "reverseProxy", "webserver", "caddy", "hostName"], "readOnly": false, "type": "string"}, "services.misskey.reverseProxy.webserver.caddy.listenAddresses": {"declarations": [], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of host interfaces to bind to for this virtual host.\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"::1\"\n]"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "caddy", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.misskey.reverseProxy.webserver.caddy.logFormat": {"declarations": [], "default": {"_type": "literalExpression", "text": "''\n  output file ''${config.services.caddy.logDir}/access-''${hostName}.log\n''"}, "description": "Configuration for HTTP request logging (also known as access logs). See\n<https://caddyserver.com/docs/caddyfile/directives/log#log>\nfor details.\n", "example": {"_type": "literalExpression", "text": "mkForce ''\n  output discard\n'';\n"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "caddy", "logFormat"], "readOnly": false, "type": "null or strings concatenated with \"\\n\""}, "services.misskey.reverseProxy.webserver.caddy.serverAliases": {"declarations": [], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "caddy", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.misskey.reverseProxy.webserver.caddy.useACMEHost": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is mostly useful if you use DNS challenges but Caddy does not\ncurrently support your provider.\n\n*Note that this option does not create any certificates, nor\ndoes it add subdomains to existing ones \u2013 you will need to create them\nmanually using [](#opt-security.acme.certs).*\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "caddy", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration for the nginx virtual host of Misskey.\nSet to `{ }` to use the default configuration.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx"], "readOnly": false, "type": "submodule"}, "services.misskey.reverseProxy.webserver.nginx.acmeFallbackHost": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.acmeRoot": {"declarations": [], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.addSSL": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.basicAuth": {"declarations": [], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.misskey.reverseProxy.webserver.nginx.basicAuthFile": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.reverseProxy.webserver.nginx.default": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.enableACME": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.extraConfig": {"declarations": [], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.misskey.reverseProxy.webserver.nginx.forceSSL": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.globalRedirect": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.http2": {"declarations": [], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.http3": {"declarations": [], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.http3_hq": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.kTLS": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.listen": {"declarations": [], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.misskey.reverseProxy.webserver.nginx.listen.*.addr": {"declarations": [], "description": "Listen address.", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.misskey.reverseProxy.webserver.nginx.listen.*.extraParameters": {"declarations": [], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.misskey.reverseProxy.webserver.nginx.listen.*.port": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.reverseProxy.webserver.nginx.listen.*.proxyProtocol": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.listen.*.ssl": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.listenAddresses": {"declarations": [], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.misskey.reverseProxy.webserver.nginx.locations": {"declarations": [], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.alias": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.basicAuth": {"declarations": [], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.basicAuthFile": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.extraConfig": {"declarations": [], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.fastcgiParams": {"declarations": [], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "FastCGI parameters to override.  Unlike in the Nginx\nconfiguration file, overriding only some default parameters\nwon't unset the default values for other parameters.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "fastcgiParams"], "readOnly": false, "type": "attribute set of (string or absolute path)"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.index": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds index directive.\n", "example": {"_type": "literalExpression", "text": "\"index.php index.html\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "index"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.priority": {"declarations": [], "default": {"_type": "literalExpression", "text": "1000"}, "description": "Order of this location block in relation to the others in the vhost.\nThe semantics are the same as with `lib.mkOrder`. Smaller values have\na greater priority.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "priority"], "readOnly": false, "type": "signed integer"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.proxyPass": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds proxy_pass directive and sets recommended proxy headers if\nrecommendedProxySettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"http://www.example.org/\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "proxyPass"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.proxyWebsockets": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to support proxying websocket connections with HTTP/1.1.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "proxyWebsockets"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.recommendedProxySettings": {"declarations": [], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedProxySettings"}, "description": "Enable recommended proxy settings.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "recommendedProxySettings"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.recommendedUwsgiSettings": {"declarations": [], "default": {"_type": "literalExpression", "text": "config.services.nginx.recommendedUwsgiSettings"}, "description": "Enable recommended uwsgi settings.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "recommendedUwsgiSettings"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.return": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds a return directive, for e.g. redirections.\n", "example": {"_type": "literalExpression", "text": "\"301 http://example.com$request_uri\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "return"], "readOnly": false, "type": "null or string or signed integer"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.root": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Root directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/root/directory\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "root"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.tryFiles": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds try_files directive.\n", "example": {"_type": "literalExpression", "text": "\"$uri =404\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "tryFiles"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.locations.<name>.uwsgiPass": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Adds uwsgi_pass directive and sets recommended proxy headers if\nrecommendedUwsgiSettings is enabled.\n", "example": {"_type": "literalExpression", "text": "\"unix:/run/example/example.sock\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "locations", "<name>", "uwsgiPass"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.onlySSL": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS and reject plain HTTP connections. This will set\ndefaults for `listen` to listen on all interfaces on port 443.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "onlySSL"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.quic": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the QUIC transport protocol.\nNote that QUIC support is experimental and\n*not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "quic"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.redirectCode": {"declarations": [], "default": {"_type": "literalExpression", "text": "301"}, "description": "HTTP status used by `globalRedirect` and `forceSSL`. Possible usecases\ninclude temporary (302, 307) redirects, keeping the request method and\nbody (307, 308), or explicitly resetting the method to GET (303).\nSee <https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.\n", "example": {"_type": "literalExpression", "text": "308"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "redirectCode"], "readOnly": false, "type": "integer between 300 and 399 (both inclusive)"}, "services.misskey.reverseProxy.webserver.nginx.rejectSSL": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to listen for and reject all HTTPS connections to this vhost. Useful in\n[default](#opt-services.nginx.virtualHosts._name_.default)\nserver blocks to avoid serving the certificate for another vhost. Uses the\n`ssl_reject_handshake` directive available in nginx versions\n1.19.4 and above.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "rejectSSL"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.reuseport": {"declarations": [], "default": {"_type": "literalExpression", "text": "false"}, "description": "Create an individual listening socket .\nIt is required to specify only once on one of the hosts.\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "reuseport"], "readOnly": false, "type": "boolean"}, "services.misskey.reverseProxy.webserver.nginx.root": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "The path of the web root directory.\n", "example": {"_type": "literalExpression", "text": "\"/data/webserver/docs\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "root"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.reverseProxy.webserver.nginx.serverAliases": {"declarations": [], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Additional names of virtual hosts served by this virtual host configuration.\n", "example": {"_type": "literalExpression", "text": "[\n  \"www.example.org\"\n  \"example.org\"\n]"}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "serverAliases"], "readOnly": false, "type": "list of string"}, "services.misskey.reverseProxy.webserver.nginx.serverName": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Name of this virtual host. Defaults to attribute name in virtualHosts.\n", "example": {"_type": "literalExpression", "text": "\"example.org\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "serverName"], "readOnly": false, "type": "null or string"}, "services.misskey.reverseProxy.webserver.nginx.sslCertificate": {"declarations": [], "description": "Path to server SSL certificate.", "example": {"_type": "literalExpression", "text": "\"/var/host.cert\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "sslCertificate"], "readOnly": false, "type": "absolute path"}, "services.misskey.reverseProxy.webserver.nginx.sslCertificateKey": {"declarations": [], "description": "Path to server SSL certificate key.", "example": {"_type": "literalExpression", "text": "\"/var/host.key\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "sslCertificateKey"], "readOnly": false, "type": "absolute path"}, "services.misskey.reverseProxy.webserver.nginx.sslTrustedCertificate": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to root SSL certificate for stapling and client certificates.", "example": {"_type": "literalExpression", "text": "\"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\""}, "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "sslTrustedCertificate"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.reverseProxy.webserver.nginx.useACMEHost": {"declarations": [], "default": {"_type": "literalExpression", "text": "null"}, "description": "A host of an existing Let's Encrypt certificate to use.\nThis is useful if you have many subdomains and want to avoid hitting the\n[rate limit](https://letsencrypt.org/docs/rate-limits).\nAlternately, you can generate a certificate through {option}`enableACME`.\n*Note that this option does not create any certificates, nor it does add subdomains to existing ones \u2013 you will need to create them manually using [](#opt-security.acme.certs).*\n", "loc": ["services", "misskey", "reverseProxy", "webserver", "nginx", "useACMEHost"], "readOnly": false, "type": "null or string"}, "services.misskey.settings": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "description": "Configuration for Misskey, see\n[`example.yml`](https://github.com/misskey-dev/misskey/blob/develop/.config/example.yml)\nfor all supported options.\n", "loc": ["services", "misskey", "settings"], "readOnly": false, "type": "open submodule of attribute set of (YAML 1.1 value)"}, "services.misskey.settings.chmodSocket": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The file access mode of the UNIX socket.", "example": {"_type": "literalExpression", "text": "\"777\""}, "loc": ["services", "misskey", "settings", "chmodSocket"], "readOnly": false, "type": "null or string"}, "services.misskey.settings.db": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Database settings.", "loc": ["services", "misskey", "settings", "db"], "readOnly": false, "type": "submodule"}, "services.misskey.settings.db.db": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"misskey\""}, "description": "The database name.", "loc": ["services", "misskey", "settings", "db", "db"], "readOnly": false, "type": "string"}, "services.misskey.settings.db.disableCache": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to disable caching queries.", "loc": ["services", "misskey", "settings", "db", "disableCache"], "readOnly": false, "type": "boolean"}, "services.misskey.settings.db.extra": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Extra connection options.", "example": {"_type": "literalExpression", "text": "{\n  ssl = true;\n}"}, "loc": ["services", "misskey", "settings", "db", "extra"], "readOnly": false, "type": "null or (attribute set of (YAML 1.1 value))"}, "services.misskey.settings.db.host": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"/var/run/postgresql\""}, "description": "The PostgreSQL host.", "example": {"_type": "literalExpression", "text": "\"localhost\""}, "loc": ["services", "misskey", "settings", "db", "host"], "readOnly": false, "type": "string"}, "services.misskey.settings.db.pass": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The password used for database authentication.", "loc": ["services", "misskey", "settings", "db", "pass"], "readOnly": false, "type": "null or string"}, "services.misskey.settings.db.port": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "5432"}, "description": "The PostgreSQL port.", "loc": ["services", "misskey", "settings", "db", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.settings.db.user": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"misskey\""}, "description": "The user used for database authentication.", "loc": ["services", "misskey", "settings", "db", "user"], "readOnly": false, "type": "string"}, "services.misskey.settings.id": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"aidx\""}, "description": "The ID generation method to use. Do not change after starting Misskey for the first time.", "loc": ["services", "misskey", "settings", "id"], "readOnly": false, "type": "one of \"aid\", \"aidx\", \"meid\", \"ulid\", \"objectid\""}, "services.misskey.settings.meilisearch": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Meilisearch connection options.", "loc": ["services", "misskey", "settings", "meilisearch"], "readOnly": false, "type": "null or (submodule)"}, "services.misskey.settings.meilisearch.apiKey": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The Meilisearch API key.", "loc": ["services", "misskey", "settings", "meilisearch", "apiKey"], "readOnly": false, "type": "null or string"}, "services.misskey.settings.meilisearch.host": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The Meilisearch host.", "loc": ["services", "misskey", "settings", "meilisearch", "host"], "readOnly": false, "type": "string"}, "services.misskey.settings.meilisearch.index": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Meilisearch index to use.", "loc": ["services", "misskey", "settings", "meilisearch", "index"], "readOnly": false, "type": "null or string"}, "services.misskey.settings.meilisearch.port": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "7700"}, "description": "The Meilisearch port.", "loc": ["services", "misskey", "settings", "meilisearch", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.settings.meilisearch.scope": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"local\""}, "description": "The search scope.", "loc": ["services", "misskey", "settings", "meilisearch", "scope"], "readOnly": false, "type": "one of \"local\", \"global\""}, "services.misskey.settings.meilisearch.ssl": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to connect via SSL.", "loc": ["services", "misskey", "settings", "meilisearch", "ssl"], "readOnly": false, "type": "boolean"}, "services.misskey.settings.port": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "3000"}, "description": "The port your Misskey server should listen on.", "loc": ["services", "misskey", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.settings.redis": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "`ioredis` options. See [`README`](https://github.com/redis/ioredis?tab=readme-ov-file#connect-to-redis) for reference.", "loc": ["services", "misskey", "settings", "redis"], "readOnly": false, "type": "open submodule of attribute set of (YAML 1.1 value)"}, "services.misskey.settings.redis.host": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The Redis host.", "loc": ["services", "misskey", "settings", "redis", "host"], "readOnly": false, "type": "string"}, "services.misskey.settings.redis.port": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "6379"}, "description": "The Redis port.", "loc": ["services", "misskey", "settings", "redis", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.settings.redisForJobQueue": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "`ioredis` options for the job queue. See [`README`](https://github.com/redis/ioredis?tab=readme-ov-file#connect-to-redis) for reference.", "loc": ["services", "misskey", "settings", "redisForJobQueue"], "readOnly": false, "type": "null or (open submodule of attribute set of (YAML 1.1 value))"}, "services.misskey.settings.redisForJobQueue.host": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The Redis host.", "loc": ["services", "misskey", "settings", "redisForJobQueue", "host"], "readOnly": false, "type": "string"}, "services.misskey.settings.redisForJobQueue.port": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "6379"}, "description": "The Redis port.", "loc": ["services", "misskey", "settings", "redisForJobQueue", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.settings.redisForPubsub": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "`ioredis` options for pubsub. See [`README`](https://github.com/redis/ioredis?tab=readme-ov-file#connect-to-redis) for reference.", "loc": ["services", "misskey", "settings", "redisForPubsub"], "readOnly": false, "type": "null or (open submodule of attribute set of (YAML 1.1 value))"}, "services.misskey.settings.redisForPubsub.host": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The Redis host.", "loc": ["services", "misskey", "settings", "redisForPubsub", "host"], "readOnly": false, "type": "string"}, "services.misskey.settings.redisForPubsub.port": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "6379"}, "description": "The Redis port.", "loc": ["services", "misskey", "settings", "redisForPubsub", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.settings.redisForTimelines": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "`ioredis` options for timelines. See [`README`](https://github.com/redis/ioredis?tab=readme-ov-file#connect-to-redis) for reference.", "loc": ["services", "misskey", "settings", "redisForTimelines"], "readOnly": false, "type": "null or (open submodule of attribute set of (YAML 1.1 value))"}, "services.misskey.settings.redisForTimelines.host": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The Redis host.", "loc": ["services", "misskey", "settings", "redisForTimelines", "host"], "readOnly": false, "type": "string"}, "services.misskey.settings.redisForTimelines.port": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "6379"}, "description": "The Redis port.", "loc": ["services", "misskey", "settings", "redisForTimelines", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.misskey.settings.socket": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "The UNIX socket your Misskey server should listen on.", "example": {"_type": "literalExpression", "text": "\"/path/to/misskey.sock\""}, "loc": ["services", "misskey", "settings", "socket"], "readOnly": false, "type": "null or absolute path"}, "services.misskey.settings.url": {"declarations": ["nixos/modules/services/web-apps/misskey.nix"], "description": "The final user-facing URL. Do not change after running Misskey for the first time.\n\nThis needs to match up with the configured reverse proxy and is automatically configured when using `services.misskey.reverseProxy`.\n", "example": {"_type": "literalExpression", "text": "\"https://example.tld/\""}, "loc": ["services", "misskey", "settings", "url"], "readOnly": false, "type": "string"}, "services.mjolnir.accessTokenFile": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the matrix access token for the `mjolnir` user.\n", "loc": ["services", "mjolnir", "accessTokenFile"], "readOnly": false, "type": "null or absolute path"}, "services.mjolnir.dataPath": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/mjolnir\""}, "description": "The directory the bot should store various bits of information in.\n", "loc": ["services", "mjolnir", "dataPath"], "readOnly": false, "type": "absolute path"}, "services.mjolnir.enable": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mjolnir, a moderation tool for Matrix.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mjolnir", "enable"], "readOnly": false, "type": "boolean"}, "services.mjolnir.homeserverUrl": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "\"https://matrix.org\""}, "description": "Where the homeserver is located (client-server URL).\n\nIf `pantalaimon.enable` is `true`, this option will become the homeserver to which `pantalaimon` connects.\nThe listen address of `pantalaimon` will then become the `homeserverUrl` of `mjolnir`.\n", "loc": ["services", "mjolnir", "homeserverUrl"], "readOnly": false, "type": "string"}, "services.mjolnir.managementRoom": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "\"#moderators:example.org\""}, "description": "The room ID where people can use the bot. The bot has no access controls, so\nanyone in this room can use the bot - secure your room!\nThis should be a room alias or room ID - not a matrix.to URL.\nNote: `mjolnir` is fairly verbose - expect a lot of messages from it.\n", "loc": ["services", "mjolnir", "managementRoom"], "readOnly": false, "type": "string"}, "services.mjolnir.pantalaimon": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "`pantalaimon` options (enables E2E Encryption support).\n\nThis will create a `pantalaimon` instance with the name \"mjolnir\".\n", "loc": ["services", "mjolnir", "pantalaimon"], "readOnly": false, "type": "submodule"}, "services.mjolnir.pantalaimon.enable": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable ignoring the accessToken. If true, accessToken is ignored and the username/password below will be\nused instead. The access token of the bot will be stored in the dataPath\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mjolnir", "pantalaimon", "enable"], "readOnly": false, "type": "boolean"}, "services.mjolnir.pantalaimon.options": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "passthrough additional options to the `pantalaimon` service.\n", "loc": ["services", "mjolnir", "pantalaimon", "options"], "readOnly": false, "type": "submodule"}, "services.mjolnir.pantalaimon.options.dataPath": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/pantalaimon-\u2039name\u203a\""}, "description": "The directory where `pantalaimon` should store its state such as the database file.\n", "loc": ["services", "mjolnir", "pantalaimon", "options", "dataPath"], "readOnly": false, "type": "absolute path"}, "services.mjolnir.pantalaimon.options.extraSettings": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Extra configuration options. See\n[pantalaimon(5)](https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md)\nfor available options.\n", "loc": ["services", "mjolnir", "pantalaimon", "options", "extraSettings"], "readOnly": false, "type": "attribute set"}, "services.mjolnir.pantalaimon.options.homeserver": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "description": "The URI of the homeserver that the `pantalaimon` proxy should\nforward requests to, without the matrix API path but including\nthe http(s) schema.\n", "example": {"_type": "literalExpression", "text": "\"https://matrix.org\""}, "loc": ["services", "mjolnir", "pantalaimon", "options", "homeserver"], "readOnly": false, "type": "string"}, "services.mjolnir.pantalaimon.options.listenAddress": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "The address where the daemon will listen to client connections\nfor this homeserver.\n", "loc": ["services", "mjolnir", "pantalaimon", "options", "listenAddress"], "readOnly": false, "type": "string"}, "services.mjolnir.pantalaimon.options.listenPort": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "8009"}, "description": "The port where the daemon will listen to client connections for\nthis homeserver. Note that the listen address/port combination\nneeds to be lib.unique between different homeservers.\n", "loc": ["services", "mjolnir", "pantalaimon", "options", "listenPort"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.mjolnir.pantalaimon.options.logLevel": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "\"warning\""}, "description": "Set the log level of the daemon.\n", "loc": ["services", "mjolnir", "pantalaimon", "options", "logLevel"], "readOnly": false, "type": "one of \"info\", \"warning\", \"error\", \"debug\""}, "services.mjolnir.pantalaimon.options.ssl": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether or not SSL verification should be enabled for outgoing\nconnections to the homeserver.\n", "loc": ["services", "mjolnir", "pantalaimon", "options", "ssl"], "readOnly": false, "type": "boolean"}, "services.mjolnir.pantalaimon.passwordFile": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "File containing the matrix password for the `mjolnir` user.\n", "loc": ["services", "mjolnir", "pantalaimon", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.mjolnir.pantalaimon.username": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "description": "The username to login with.", "loc": ["services", "mjolnir", "pantalaimon", "username"], "readOnly": false, "type": "string"}, "services.mjolnir.protectedRooms": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "A list of rooms to protect (matrix.to URLs).\n", "example": {"_type": "literalExpression", "text": "[\n  \"https://matrix.to/#/#yourroom:example.org\"\n  \"https://matrix.to/#/#anotherroom:example.org\"\n]\n"}, "loc": ["services", "mjolnir", "protectedRooms"], "readOnly": false, "type": "list of string"}, "services.mjolnir.settings": {"declarations": ["nixos/modules/services/matrix/mjolnir.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Additional settings (see [mjolnir default config](https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml) for available settings). These settings will override settings made by the module config.\n", "example": {"_type": "literalExpression", "text": "{\n  autojoinOnlyIfManager = true;\n  automaticallyRedactForReasons = [ \"spam\" \"advertising\" ];\n}\n"}, "loc": ["services", "mjolnir", "settings"], "readOnly": false, "type": "YAML 1.1 value"}, "services.mjpg-streamer.enable": {"declarations": ["nixos/modules/services/networking/mjpg-streamer.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable mjpg-streamer webcam streamer.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mjpg-streamer", "enable"], "readOnly": false, "type": "boolean"}, "services.mjpg-streamer.group": {"declarations": ["nixos/modules/services/networking/mjpg-streamer.nix"], "default": {"_type": "literalExpression", "text": "\"video\""}, "description": "mjpg-streamer group name.", "loc": ["services", "mjpg-streamer", "group"], "readOnly": false, "type": "string"}, "services.mjpg-streamer.inputPlugin": {"declarations": ["nixos/modules/services/networking/mjpg-streamer.nix"], "default": {"_type": "literalExpression", "text": "\"input_uvc.so\""}, "description": "Input plugin. See plugins documentation for more information.\n", "loc": ["services", "mjpg-streamer", "inputPlugin"], "readOnly": false, "type": "string"}, "services.mjpg-streamer.outputPlugin": {"declarations": ["nixos/modules/services/networking/mjpg-streamer.nix"], "default": {"_type": "literalExpression", "text": "\"output_http.so -w @www@ -n -p 5050\""}, "description": "Output plugin. `@www@` is substituted for default mjpg-streamer www directory.\nSee plugins documentation for more information.\n", "loc": ["services", "mjpg-streamer", "outputPlugin"], "readOnly": false, "type": "string"}, "services.mjpg-streamer.user": {"declarations": ["nixos/modules/services/networking/mjpg-streamer.nix"], "default": {"_type": "literalExpression", "text": "\"mjpg-streamer\""}, "description": "mjpg-streamer user name.", "loc": ["services", "mjpg-streamer", "user"], "readOnly": false, "type": "string"}, "services.mlmmj.enable": {"declarations": ["nixos/modules/services/mail/mlmmj.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable mlmmj", "loc": ["services", "mlmmj", "enable"], "readOnly": false, "type": "boolean"}, "services.mlmmj.group": {"declarations": ["nixos/modules/services/mail/mlmmj.nix"], "default": {"_type": "literalExpression", "text": "\"mlmmj\""}, "description": "mailinglist local group", "loc": ["services", "mlmmj", "group"], "readOnly": false, "type": "string"}, "services.mlmmj.listDomain": {"declarations": ["nixos/modules/services/mail/mlmmj.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Set the mailing list domain", "loc": ["services", "mlmmj", "listDomain"], "readOnly": false, "type": "string"}, "services.mlmmj.mailLists": {"declarations": ["nixos/modules/services/mail/mlmmj.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The collection of hosted maillists", "loc": ["services", "mlmmj", "mailLists"], "readOnly": false, "type": "list of string"}, "services.mlmmj.maintInterval": {"declarations": ["nixos/modules/services/mail/mlmmj.nix"], "default": {"_type": "literalExpression", "text": "\"20min\""}, "description": "Time interval between mlmmj-maintd runs, see\n{manpage}`systemd.time(7)` for format information.\n", "loc": ["services", "mlmmj", "maintInterval"], "readOnly": false, "type": "string"}, "services.mlmmj.user": {"declarations": ["nixos/modules/services/mail/mlmmj.nix"], "default": {"_type": "literalExpression", "text": "\"mlmmj\""}, "description": "mailinglist local user", "loc": ["services", "mlmmj", "user"], "readOnly": false, "type": "string"}, "services.mmsd.enable": {"declarations": ["nixos/modules/services/networking/mmsd.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Multimedia Messaging Service Daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mmsd", "enable"], "readOnly": false, "type": "boolean"}, "services.mmsd.extraArgs": {"declarations": ["nixos/modules/services/networking/mmsd.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra arguments passed to `mmsd-tng`", "example": {"_type": "literalExpression", "text": "[\n  \"--debug\"\n]"}, "loc": ["services", "mmsd", "extraArgs"], "readOnly": false, "type": "list of string"}, "services.mobilizon.enable": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Mobilizon federated organization and mobilization platform.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mobilizon", "enable"], "readOnly": false, "type": "boolean"}, "services.mobilizon.nginx.enable": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether an Nginx virtual host should be\nset up to serve Mobilizon.\n", "loc": ["services", "mobilizon", "nginx", "enable"], "readOnly": false, "type": "boolean"}, "services.mobilizon.package": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mobilizon"}, "description": "The mobilizon package to use.", "loc": ["services", "mobilizon", "package"], "readOnly": false, "type": "package"}, "services.mobilizon.settings": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Mobilizon Elixir documentation, see\n<https://docs.joinmobilizon.org/administration/configure/reference/>\nfor supported values.\n", "loc": ["services", "mobilizon", "settings"], "readOnly": false, "type": "open submodule of attribute set of attribute set of (Elixir value)"}, "services.mobilizon.settings.\":mobilizon\".\":instance\".email_from": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "noreply@${settings.\":mobilizon\".\":instance\".hostname}\n"}, "description": "The email for the From: header in emails\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", ":instance", "email_from"], "readOnly": false, "type": "string or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\":instance\".email_reply_to": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "${email_from}\n"}, "description": "The email for the Reply-To: header in emails\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", ":instance", "email_reply_to"], "readOnly": false, "type": "string or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\":instance\".hostname": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "description": "Your instance's hostname\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", ":instance", "hostname"], "readOnly": false, "type": "string or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\":instance\".name": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "description": "The fallback instance name if not configured into the admin UI\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", ":instance", "name"], "readOnly": false, "type": "string or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\"Mobilizon.Storage.Repo\".database": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "\"mobilizon_prod\""}, "description": "Name of the database\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", "Mobilizon.Storage.Repo", "database"], "readOnly": false, "type": "null or string or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\"Mobilizon.Storage.Repo\".socket_dir": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "\"/run/postgresql\""}, "description": "Path to the postgres socket directory.\n\nSet this to null if you want to connect to a remote database.\n\nIf non-null, the local PostgreSQL server will be configured with\nthe configured database, permissions, and required extensions.\n\nIf connecting to a remote database, please follow the\ninstructions on how to setup your database:\n<https://docs.joinmobilizon.org/administration/install/release/#database-setup>\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", "Mobilizon.Storage.Repo", "socket_dir"], "readOnly": false, "type": "null or string or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\"Mobilizon.Storage.Repo\".username": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "\"mobilizon\""}, "description": "User used to connect to the database\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", "Mobilizon.Storage.Repo", "username"], "readOnly": false, "type": "null or string or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\"Mobilizon.Web.Endpoint\".has_reverse_proxy": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether you use a reverse proxy\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", "Mobilizon.Web.Endpoint", "has_reverse_proxy"], "readOnly": false, "type": "boolean or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\"Mobilizon.Web.Endpoint\".http.ip": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "{\n  _elixirType = \"tuple\";\n  value = [\n    0\n    0\n    0\n    0\n    0\n    0\n    0\n    1\n  ];\n}"}, "description": "The IP address to listen on. Defaults to [::1] notated as a byte tuple.\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", "Mobilizon.Web.Endpoint", "http", "ip"], "readOnly": false, "type": "(elixir tuple) or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\"Mobilizon.Web.Endpoint\".http.port": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalExpression", "text": "4000"}, "description": "The port to run the server\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", "Mobilizon.Web.Endpoint", "http", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive) or (raw elixir)"}, "services.mobilizon.settings.\":mobilizon\".\"Mobilizon.Web.Endpoint\".url.host": {"declarations": ["nixos/modules/services/web-apps/mobilizon.nix"], "default": {"_type": "literalMD", "text": "${settings.\":mobilizon\".\":instance\".hostname}\n"}, "description": "Your instance's hostname for generating URLs throughout the app\n", "loc": ["services", "mobilizon", "settings", ":mobilizon", "Mobilizon.Web.Endpoint", "url", "host"], "readOnly": false, "type": "string or (raw elixir)"}, "services.molly-brown.certPath": {"declarations": ["nixos/modules/services/web-servers/molly-brown.nix"], "description": "Path to TLS certificate. An ACME certificate and key may be\nshared with an HTTP server, but only if molly-brown has\npermissions allowing it to read such keys.\n\nAs an example:\n```\nsystemd.services.molly-brown.serviceConfig.SupplementaryGroups =\n  [ config.security.acme.certs.\"example.com\".group ];\n```\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/acme/example.com/cert.pem\""}, "loc": ["services", "molly-brown", "certPath"], "readOnly": false, "type": "absolute path"}, "services.molly-brown.docBase": {"declarations": ["nixos/modules/services/web-servers/molly-brown.nix"], "description": "Base directory for Gemini content.", "example": {"_type": "literalExpression", "text": "\"/var/lib/molly-brown\""}, "loc": ["services", "molly-brown", "docBase"], "readOnly": false, "type": "absolute path"}, "services.molly-brown.enable": {"declarations": ["nixos/modules/services/web-servers/molly-brown.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Molly-Brown Gemini server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "molly-brown", "enable"], "readOnly": false, "type": "boolean"}, "services.molly-brown.hostName": {"declarations": ["nixos/modules/services/web-servers/molly-brown.nix"], "default": {"_type": "literalExpression", "text": "config.networking.hostName"}, "description": "The hostname to respond to requests for. Requests for URLs with\nother hosts will result in a status 53 (PROXY REQUEST REFUSED)\nresponse.\n", "loc": ["services", "molly-brown", "hostName"], "readOnly": false, "type": "string"}, "services.molly-brown.keyPath": {"declarations": ["nixos/modules/services/web-servers/molly-brown.nix"], "description": "Path to TLS key. See {option}`CertPath`.", "example": {"_type": "literalExpression", "text": "\"/var/lib/acme/example.com/key.pem\""}, "loc": ["services", "molly-brown", "keyPath"], "readOnly": false, "type": "absolute path"}, "services.molly-brown.port": {"declarations": ["nixos/modules/services/web-servers/molly-brown.nix"], "default": {"_type": "literalExpression", "text": "1965"}, "description": "TCP port for molly-brown to bind to.\n", "loc": ["services", "molly-brown", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.molly-brown.settings": {"declarations": ["nixos/modules/services/web-servers/molly-brown.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "molly-brown configuration. Refer to\n<https://tildegit.org/solderpunk/molly-brown/src/branch/master/example.conf>\nfor details on supported values.\n", "loc": ["services", "molly-brown", "settings"], "readOnly": false, "type": "TOML value"}, "services.mollysocket.enable": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable [MollySocket](https://github.com/mollyim/mollysocket) for getting Signal\nnotifications via UnifiedPush\n.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mollysocket", "enable"], "readOnly": false, "type": "boolean"}, "services.mollysocket.environmentFile": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Environment file (see {manpage}`systemd.exec(5)` \"EnvironmentFile=\"\nsection for the syntax) passed to the service. This option can be\nused to safely include secrets in the configuration.\n", "example": {"_type": "literalExpression", "text": "\"/run/secrets/mollysocket\""}, "loc": ["services", "mollysocket", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.mollysocket.logLevel": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "\"info\""}, "description": "Set the {env}`RUST_LOG` environment variable", "example": {"_type": "literalExpression", "text": "\"debug\""}, "loc": ["services", "mollysocket", "logLevel"], "readOnly": false, "type": "string"}, "services.mollysocket.settings": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Configuration for MollySocket. Available options are listed\n[here](https://github.com/mollyim/mollysocket#configuration).\n", "loc": ["services", "mollysocket", "settings"], "readOnly": false, "type": "open submodule of (TOML value)"}, "services.mollysocket.settings.allowed_endpoints": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "List of UnifiedPush servers", "example": {"_type": "literalExpression", "text": "[\n  \"https://ntfy.sh\"\n]"}, "loc": ["services", "mollysocket", "settings", "allowed_endpoints"], "readOnly": false, "type": "list of string"}, "services.mollysocket.settings.allowed_uuids": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "[\n  \"*\"\n]"}, "description": "UUIDs of Signal accounts that may use this server", "example": {"_type": "literalExpression", "text": "[\n  \"abcdef-12345-tuxyz-67890\"\n]"}, "loc": ["services", "mollysocket", "settings", "allowed_uuids"], "readOnly": false, "type": "list of string"}, "services.mollysocket.settings.host": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Listening address of the web server", "loc": ["services", "mollysocket", "settings", "host"], "readOnly": false, "type": "string"}, "services.mollysocket.settings.port": {"declarations": ["nixos/modules/services/misc/mollysocket.nix"], "default": {"_type": "literalExpression", "text": "8020"}, "description": "Listening port of the web server", "loc": ["services", "mollysocket", "settings", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.monado.defaultRuntime": {"declarations": ["nixos/modules/services/hardware/monado.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Monado as the default OpenXR runtime on the system.\n\nNote that applications can bypass this option by setting an active\nruntime in a writable XDG_CONFIG_DIRS location like `~/.config`.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "monado", "defaultRuntime"], "readOnly": false, "type": "boolean"}, "services.monado.enable": {"declarations": ["nixos/modules/services/hardware/monado.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Monado user service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "monado", "enable"], "readOnly": false, "type": "boolean"}, "services.monado.forceDefaultRuntime": {"declarations": ["nixos/modules/services/hardware/monado.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ensure that Monado is the active runtime set for the current\nuser.\n\nThis replaces the file `XDG_CONFIG_HOME/openxr/1/active_runtime.json`\nwhen starting the service.\n", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "monado", "forceDefaultRuntime"], "readOnly": false, "type": "boolean"}, "services.monado.highPriority": {"declarations": ["nixos/modules/services/hardware/monado.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable high priority capability for monado-service.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "monado", "highPriority"], "readOnly": false, "type": "boolean"}, "services.monado.package": {"declarations": ["nixos/modules/services/hardware/monado.nix"], "default": {"_type": "literalExpression", "text": "pkgs.monado"}, "description": "The monado package to use.", "loc": ["services", "monado", "package"], "readOnly": false, "type": "package"}, "services.monero.banlist": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to a text file containing IPs to block.\nUseful to prevent DDoS/deanonymization attacks.\n\n<https://github.com/monero-project/meta/issues/1124>\n", "example": {"_type": "literalExpression", "text": "builtins.fetchurl {\n  url = \"https://raw.githubusercontent.com/rblaine95/monero-banlist/c6eb9413ddc777e7072d822f49923df0b2a94d88/block.txt\";\n  hash = \"\";\n};\n"}, "loc": ["services", "monero", "banlist"], "readOnly": false, "type": "null or absolute path"}, "services.monero.dataDir": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/monero\""}, "description": "The directory where Monero stores its data files.\n", "loc": ["services", "monero", "dataDir"], "readOnly": false, "type": "string"}, "services.monero.enable": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Monero node daemon.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "monero", "enable"], "readOnly": false, "type": "boolean"}, "services.monero.environmentFile": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to an EnvironmentFile for the monero service as defined in {manpage}`systemd.exec(5)`.\n\nSecrets may be passed to the service by specifying placeholder variables in the Nix config\nand setting values in the environment file.\n\nExample:\n\n```\n# In environment file:\nMINING_ADDRESS=888tNkZrPN6JsEgekjMnABU4TBzc2Dt29EPAvkRxbANsAnjyPbb3iQ1YBRk1UXcdRsiKc9dhwMVgN5S9cQUiyoogDavup3H\n```\n\n```\n# Service config\nservices.monero.mining.address = \"$MINING_ADDRESS\";\n```\n", "example": {"_type": "literalExpression", "text": "\"/var/lib/monero/monerod.env\""}, "loc": ["services", "monero", "environmentFile"], "readOnly": false, "type": "null or absolute path"}, "services.monero.exclusiveNodes": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of peer IP addresses to connect to *only*.\nIf given the other peer options will be ignored.\n", "loc": ["services", "monero", "exclusiveNodes"], "readOnly": false, "type": "list of string"}, "services.monero.extraConfig": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Extra lines to be added verbatim to monerod configuration.\n", "loc": ["services", "monero", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.monero.extraNodes": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of additional peer IP addresses to add to the local list.\n", "loc": ["services", "monero", "extraNodes"], "readOnly": false, "type": "list of string"}, "services.monero.limits.download": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "-1"}, "description": "Limit of the download rate in kB/s.\nSet to `-1` to leave unlimited.\n", "loc": ["services", "monero", "limits", "download"], "readOnly": false, "type": "signed integer"}, "services.monero.limits.syncSize": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum number of blocks to sync at once.\nSet to `0` for adaptive.\n", "loc": ["services", "monero", "limits", "syncSize"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.monero.limits.threads": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Maximum number of threads used for a parallel job.\nSet to `0` to leave unlimited.\n", "loc": ["services", "monero", "limits", "threads"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.monero.limits.upload": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "-1"}, "description": "Limit of the upload rate in kB/s.\nSet to `-1` to leave unlimited.\n", "loc": ["services", "monero", "limits", "upload"], "readOnly": false, "type": "signed integer"}, "services.monero.mining.address": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Monero address where to send mining rewards.\n", "loc": ["services", "monero", "mining", "address"], "readOnly": false, "type": "string"}, "services.monero.mining.enable": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to mine monero.\n", "loc": ["services", "monero", "mining", "enable"], "readOnly": false, "type": "boolean"}, "services.monero.mining.threads": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "0"}, "description": "Number of threads used for mining.\nSet to `0` to use all available.\n", "loc": ["services", "monero", "mining", "threads"], "readOnly": false, "type": "unsigned integer, meaning >=0"}, "services.monero.priorityNodes": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "List of peer IP addresses to connect to and\nattempt to keep the connection open.\n", "loc": ["services", "monero", "priorityNodes"], "readOnly": false, "type": "list of string"}, "services.monero.prune": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to prune the blockchain.\n<https://www.getmonero.org/resources/moneropedia/pruning.html>\n", "loc": ["services", "monero", "prune"], "readOnly": false, "type": "boolean"}, "services.monero.rpc.address": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "IP address the RPC server will bind to.\n", "loc": ["services", "monero", "rpc", "address"], "readOnly": false, "type": "string"}, "services.monero.rpc.password": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Password for RPC connections.\n", "loc": ["services", "monero", "rpc", "password"], "readOnly": false, "type": "null or string"}, "services.monero.rpc.port": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "18081"}, "description": "Port the RPC server will bind to.\n", "loc": ["services", "monero", "rpc", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.monero.rpc.restricted": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to restrict RPC to view only commands.\n", "loc": ["services", "monero", "rpc", "restricted"], "readOnly": false, "type": "boolean"}, "services.monero.rpc.user": {"declarations": ["nixos/modules/services/networking/monero.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "User name for RPC connections.\n", "loc": ["services", "monero", "rpc", "user"], "readOnly": false, "type": "null or string"}, "services.monetdb.dataDir": {"declarations": ["nixos/modules/services/databases/monetdb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/monetdb\""}, "description": "Data directory for the dbfarm.", "loc": ["services", "monetdb", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.monetdb.enable": {"declarations": ["nixos/modules/services/databases/monetdb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the MonetDB database server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "monetdb", "enable"], "readOnly": false, "type": "boolean"}, "services.monetdb.group": {"declarations": ["nixos/modules/services/databases/monetdb.nix"], "default": {"_type": "literalExpression", "text": "\"monetdb\""}, "description": "Group under which MonetDB runs.", "loc": ["services", "monetdb", "group"], "readOnly": false, "type": "string"}, "services.monetdb.listenAddress": {"declarations": ["nixos/modules/services/databases/monetdb.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "Address to listen on.", "example": {"_type": "literalExpression", "text": "\"0.0.0.0\""}, "loc": ["services", "monetdb", "listenAddress"], "readOnly": false, "type": "string"}, "services.monetdb.package": {"declarations": ["nixos/modules/services/databases/monetdb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.monetdb"}, "description": "The monetdb package to use.", "loc": ["services", "monetdb", "package"], "readOnly": false, "type": "package"}, "services.monetdb.port": {"declarations": ["nixos/modules/services/databases/monetdb.nix"], "default": {"_type": "literalExpression", "text": "50000"}, "description": "Port to listen on.", "loc": ["services", "monetdb", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.monetdb.user": {"declarations": ["nixos/modules/services/databases/monetdb.nix"], "default": {"_type": "literalExpression", "text": "\"monetdb\""}, "description": "User account under which MonetDB runs.", "loc": ["services", "monetdb", "user"], "readOnly": false, "type": "string"}, "services.mongodb.bind_ip": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "\"127.0.0.1\""}, "description": "IP to bind to", "loc": ["services", "mongodb", "bind_ip"], "readOnly": false, "type": "string"}, "services.mongodb.dbpath": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "\"/var/db/mongodb\""}, "description": "Location where MongoDB stores its files", "loc": ["services", "mongodb", "dbpath"], "readOnly": false, "type": "string"}, "services.mongodb.enable": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the MongoDB server.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "mongodb", "enable"], "readOnly": false, "type": "boolean"}, "services.mongodb.enableAuth": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable client authentication. Creates a default superuser with username root!", "loc": ["services", "mongodb", "enableAuth"], "readOnly": false, "type": "boolean"}, "services.mongodb.extraConfig": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "MongoDB extra configuration in YAML format", "example": {"_type": "literalExpression", "text": "''\n  storage.journal.enabled: false\n''"}, "loc": ["services", "mongodb", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.mongodb.initialRootPasswordFile": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Path to the file containing the password for the root user if auth is enabled.", "loc": ["services", "mongodb", "initialRootPasswordFile"], "readOnly": false, "type": "null or absolute path"}, "services.mongodb.initialScript": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing MongoDB statements to execute on first startup.\n", "loc": ["services", "mongodb", "initialScript"], "readOnly": false, "type": "null or absolute path"}, "services.mongodb.mongoshPackage": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mongosh"}, "description": "The mongosh package to use.", "loc": ["services", "mongodb", "mongoshPackage"], "readOnly": false, "type": "package"}, "services.mongodb.package": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "pkgs.mongodb"}, "description": "The mongodb package to use.", "example": {"_type": "literalExpression", "text": "pkgs.mongodb-ce"}, "loc": ["services", "mongodb", "package"], "readOnly": false, "type": "package"}, "services.mongodb.pidFile": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "\"/run/mongodb.pid\""}, "description": "Location of MongoDB pid file", "loc": ["services", "mongodb", "pidFile"], "readOnly": false, "type": "string"}, "services.mongodb.quiet": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "quieter output", "loc": ["services", "mongodb", "quiet"], "readOnly": false, "type": "boolean"}, "services.mongodb.replSetName": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "If this instance is part of a replica set, set its name here.\nOtherwise, leave empty to run as single node.\n", "loc": ["services", "mongodb", "replSetName"], "readOnly": false, "type": "string"}, "services.mongodb.user": {"declarations": ["nixos/modules/services/databases/mongodb.nix"], "default": {"_type": "literalExpression", "text": "\"mongodb\""}, "description": "User account under which MongoDB runs", "loc": ["services", "mongodb", "user"], "readOnly": false, "type": "string"}, "services.monica.appKeyFile": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "description": "A file containing the Laravel APP_KEY - a 32 character long,\nbase64 encoded key used for encryption where needed. Can be\ngenerated with <code>head -c 32 /dev/urandom | base64</code>.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/monica-appkey\""}, "loc": ["services", "monica", "appKeyFile"], "readOnly": false, "type": "absolute path"}, "services.monica.appURL": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"http\\${lib.optionalString tlsEnabled \\\"s\\\"}://\\${cfg.hostname}\""}, "description": "The root URL that you want to host monica on. All URLs in monica will be generated using this value.\nIf you change this in the future you may need to run a command to update stored URLs in the database.\nCommand example: <code>php artisan monica:update-url https://old.example.com https://new.example.com</code>\n", "example": {"_type": "literalExpression", "text": "\"https://example.com\""}, "loc": ["services", "monica", "appURL"], "readOnly": false, "type": "string"}, "services.monica.config": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "monica configuration options to set in the\n<filename>.env</filename> file.\n\nRefer to <link xlink:href=\"https://github.com/monicahq/monica\"/>\nfor details on supported values.\n\nSettings containing secret data should be set to an attribute\nset containing the attribute <literal>_secret</literal> - a\nstring pointing to a file containing the value the option\nshould be set to. See the example to get a better picture of\nthis: in the resulting <filename>.env</filename> file, the\n<literal>OIDC_CLIENT_SECRET</literal> key will be set to the\ncontents of the <filename>/run/keys/oidc_secret</filename>\nfile.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    ALLOWED_IFRAME_HOSTS = \"https://example.com\";\n    WKHTMLTOPDF = \"/home/user/bins/wkhtmltopdf\";\n    AUTH_METHOD = \"oidc\";\n    OIDC_NAME = \"MyLogin\";\n    OIDC_DISPLAY_NAME_CLAIMS = \"name\";\n    OIDC_CLIENT_ID = \"monica\";\n    OIDC_CLIENT_SECRET = {_secret = \"/run/keys/oidc_secret\"};\n    OIDC_ISSUER = \"https://keycloak.example.com/auth/realms/My%20Realm\";\n    OIDC_ISSUER_DISCOVER = true;\n  }\n''"}, "loc": ["services", "monica", "config"], "readOnly": false, "type": "attribute set of (null or boolean or signed integer or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or absolute path or string or (submodule))"}, "services.monica.dataDir": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/monica\""}, "description": "monica data directory", "loc": ["services", "monica", "dataDir"], "readOnly": false, "type": "absolute path"}, "services.monica.database.createLocally": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Create the database and database user locally.", "loc": ["services", "monica", "database", "createLocally"], "readOnly": false, "type": "boolean"}, "services.monica.database.host": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Database host address.", "loc": ["services", "monica", "database", "host"], "readOnly": false, "type": "string"}, "services.monica.database.name": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"monica\""}, "description": "Database name.", "loc": ["services", "monica", "database", "name"], "readOnly": false, "type": "string"}, "services.monica.database.passwordFile": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n<option>database.user</option>.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/monica-dbpassword\""}, "loc": ["services", "monica", "database", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.monica.database.port": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "3306"}, "description": "Database host port.", "loc": ["services", "monica", "database", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.monica.database.user": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "user"}, "description": "Database username.", "loc": ["services", "monica", "database", "user"], "readOnly": false, "type": "string"}, "services.monica.enable": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable monica.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["services", "monica", "enable"], "readOnly": false, "type": "boolean"}, "services.monica.group": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"monica\""}, "description": "Group monica runs as.", "loc": ["services", "monica", "group"], "readOnly": false, "type": "string"}, "services.monica.hostname": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "config.networking.fqdn"}, "description": "The hostname to serve monica on.\n", "example": {"_type": "literalExpression", "text": "\"monica.example.com\""}, "loc": ["services", "monica", "hostname"], "readOnly": false, "type": "string"}, "services.monica.mail.driver": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"smtp\""}, "description": "Mail driver to use.", "loc": ["services", "monica", "mail", "driver"], "readOnly": false, "type": "one of \"smtp\", \"sendmail\""}, "services.monica.mail.encryption": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "SMTP encryption mechanism to use.", "loc": ["services", "monica", "mail", "encryption"], "readOnly": false, "type": "null or value \"tls\" (singular enum)"}, "services.monica.mail.from": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"mail@monica.com\""}, "description": "Mail \"from\" email.", "loc": ["services", "monica", "mail", "from"], "readOnly": false, "type": "string"}, "services.monica.mail.fromName": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"monica\""}, "description": "Mail \"from\" name.", "loc": ["services", "monica", "mail", "fromName"], "readOnly": false, "type": "string"}, "services.monica.mail.host": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"localhost\""}, "description": "Mail host address.", "loc": ["services", "monica", "mail", "host"], "readOnly": false, "type": "string"}, "services.monica.mail.passwordFile": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "A file containing the password corresponding to\n<option>mail.user</option>.\n", "example": {"_type": "literalExpression", "text": "\"/run/keys/monica-mailpassword\""}, "loc": ["services", "monica", "mail", "passwordFile"], "readOnly": false, "type": "null or absolute path"}, "services.monica.mail.port": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "1025"}, "description": "Mail host port.", "loc": ["services", "monica", "mail", "port"], "readOnly": false, "type": "16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.monica.mail.user": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Mail username.", "example": {"_type": "literalExpression", "text": "\"monica\""}, "loc": ["services", "monica", "mail", "user"], "readOnly": false, "type": "null or string"}, "services.monica.maxUploadSize": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"18M\""}, "description": "The maximum size for uploads (e.g. images).", "example": {"_type": "literalExpression", "text": "\"1G\""}, "loc": ["services", "monica", "maxUploadSize"], "readOnly": false, "type": "string"}, "services.monica.nginx": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "With this option, you can customize the nginx virtualHost settings.\n", "example": {"_type": "literalExpression", "text": "''\n  {\n    serverAliases = [\n      \"monica.''${config.networking.domain}\"\n    ];\n    # To enable encryption and let let's encrypt take care of certificate\n    forceSSL = true;\n    enableACME = true;\n  }\n''"}, "loc": ["services", "monica", "nginx"], "readOnly": false, "type": "submodule"}, "services.monica.nginx.acmeFallbackHost": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Host which to proxy requests to if ACME challenge is not found. Useful\nif you want multiple hosts to be able to verify the same domain name.\n\nWith this option, you could request certificates for the present domain\nwith an ACME client that is running on another host, which you would\nspecify here.\n", "loc": ["services", "monica", "nginx", "acmeFallbackHost"], "readOnly": false, "type": "null or string"}, "services.monica.nginx.acmeRoot": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"/var/lib/acme/acme-challenge\""}, "description": "Directory for the ACME challenge, which is **public**. Don't put certs or keys in here.\nSet to null to inherit from config.security.acme.\n", "loc": ["services", "monica", "nginx", "acmeRoot"], "readOnly": false, "type": "null or string"}, "services.monica.nginx.addSSL": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HTTPS in addition to plain HTTP. This will set defaults for\n`listen` to listen on all interfaces on the respective default\nports (80, 443).\n", "loc": ["services", "monica", "nginx", "addSSL"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.basicAuth": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "monica", "nginx", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.monica.nginx.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "monica", "nginx", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.monica.nginx.default": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Makes this vhost the default.\n", "loc": ["services", "monica", "nginx", "default"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.enableACME": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to ask Let's Encrypt to sign a certificate for this vhost.\nAlternately, you can use an existing certificate through {option}`useACMEHost`.\n", "loc": ["services", "monica", "nginx", "enableACME"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.extraConfig": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the vhost verbatim.\n", "loc": ["services", "monica", "nginx", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.monica.nginx.forceSSL": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to add a separate nginx server block that redirects (defaults\nto 301, configurable with `redirectCode`) all plain HTTP traffic to\nHTTPS. This will set defaults for `listen` to listen on all interfaces\non the respective default ports (80, 443), where the non-SSL listens\nare used for the redirect vhosts.\n", "loc": ["services", "monica", "nginx", "forceSSL"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.globalRedirect": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "If set, all requests for this host are redirected (defaults to 301,\nconfigurable with `redirectCode`) to the given hostname.\n", "example": {"_type": "literalExpression", "text": "\"newserver.example.org\""}, "loc": ["services", "monica", "nginx", "globalRedirect"], "readOnly": false, "type": "null or string"}, "services.monica.nginx.http2": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/2 protocol.\nNote that (as of writing) due to nginx's implementation, to disable\nHTTP/2 you have to disable it on all vhosts that use a given\nIP address / port.\nIf there is one server block configured to enable http2, then it is\nenabled for all server blocks on this IP.\nSee <https://stackoverflow.com/a/39466948/263061>.\n", "loc": ["services", "monica", "nginx", "http2"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.http3": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "true"}, "description": "Whether to enable the HTTP/3 protocol.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that HTTP/3 support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\nHTTP/3 availability must be manually advertised, preferably in each location block.\n", "loc": ["services", "monica", "nginx", "http3"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.http3_hq": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.\nThis requires activating the QUIC transport protocol\n`services.nginx.virtualHosts.<name>.quic = true;`.\nNote that special application protocol support is experimental and *not* yet recommended for production.\nRead more at <https://quic.nginx.org/>\n", "loc": ["services", "monica", "nginx", "http3_hq"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.kTLS": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable kTLS support.\nImplementing TLS in the kernel (kTLS) improves performance by significantly\nreducing the need for copying operations between user space and the kernel.\nRequired Nginx version 1.21.4 or later.\n", "loc": ["services", "monica", "nginx", "kTLS"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.listen": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses and ports for this virtual host.\nIPv6 addresses must be enclosed in square brackets.\nNote: this option overrides `addSSL`\nand `onlySSL`.\n\nIf you only want to set the addresses manually and not\nthe ports, take a look at `listenAddresses`.\n", "example": {"_type": "literalExpression", "text": "[\n  {\n    addr = \"195.154.1.1\";\n    port = 443;\n    ssl = true;\n  }\n  {\n    addr = \"192.154.1.1\";\n    port = 80;\n  }\n  {\n    addr = \"unix:/var/run/nginx.sock\";\n  }\n]"}, "loc": ["services", "monica", "nginx", "listen"], "readOnly": false, "type": "list of (submodule)"}, "services.monica.nginx.listen.*.addr": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "description": "Listen address.", "loc": ["services", "monica", "nginx", "listen", "*", "addr"], "readOnly": false, "type": "string"}, "services.monica.nginx.listen.*.extraParameters": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Extra parameters of this listen directive.", "example": {"_type": "literalExpression", "text": "[\n  \"backlog=1024\"\n  \"deferred\"\n]"}, "loc": ["services", "monica", "nginx", "listen", "*", "extraParameters"], "readOnly": false, "type": "list of string"}, "services.monica.nginx.listen.*.port": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Port number to listen on.\nIf unset and the listen address is not a socket then nginx defaults to 80.\n", "loc": ["services", "monica", "nginx", "listen", "*", "port"], "readOnly": false, "type": "null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)"}, "services.monica.nginx.listen.*.proxyProtocol": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable PROXY protocol.", "loc": ["services", "monica", "nginx", "listen", "*", "proxyProtocol"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.listen.*.ssl": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "false"}, "description": "Enable SSL.", "loc": ["services", "monica", "nginx", "listen", "*", "ssl"], "readOnly": false, "type": "boolean"}, "services.monica.nginx.listenAddresses": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Listen addresses for this virtual host.\nCompared to `listen` this only sets the addresses\nand the ports are chosen automatically.\n\nNote: This option overrides `networking.enableIPv6`\n", "example": {"_type": "literalExpression", "text": "[\n  \"127.0.0.1\"\n  \"[::1]\"\n]"}, "loc": ["services", "monica", "nginx", "listenAddresses"], "readOnly": false, "type": "list of string"}, "services.monica.nginx.locations": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Declarative location config", "example": {"_type": "literalExpression", "text": "{\n  \"/\" = {\n    proxyPass = \"http://localhost:3000\";\n  };\n};\n"}, "loc": ["services", "monica", "nginx", "locations"], "readOnly": false, "type": "attribute set of (submodule)"}, "services.monica.nginx.locations.<name>.alias": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Alias directory for requests.\n", "example": {"_type": "literalExpression", "text": "\"/your/alias/directory\""}, "loc": ["services", "monica", "nginx", "locations", "<name>", "alias"], "readOnly": false, "type": "null or absolute path"}, "services.monica.nginx.locations.<name>.basicAuth": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "{ }"}, "description": "Basic Auth protection for a vhost.\n\nWARNING: This is implemented to store the password in plain text in the\nNix store.\n", "example": {"_type": "literalExpression", "text": "{\n  user = \"password\";\n};\n"}, "loc": ["services", "monica", "nginx", "locations", "<name>", "basicAuth"], "readOnly": false, "type": "attribute set of string"}, "services.monica.nginx.locations.<name>.basicAuthFile": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "null"}, "description": "Basic Auth password file for a vhost.\nCan be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.\n", "loc": ["services", "monica", "nginx", "locations", "<name>", "basicAuthFile"], "readOnly": false, "type": "null or absolute path"}, "services.monica.nginx.locations.<name>.extraConfig": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "These lines go to the end of the location verbatim.\n", "loc": ["services", "monica", "nginx", "locations", "<name>", "extraConfig"], "readOnly": false, "type": "strings concatenated with \"\\n\""}, "services.monica.nginx.locations.<name>.fastcgiParams": {"declarations": ["nixos/modules/services/web-apps/monica.nix"], "