<imports = [ pkgs.ghostunnel.services.default ]>
This is a modular service, which can be imported into a NixOS configuration using the system.services option.
Type: submodule
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.package
Package to use for ghostunnel
Type: package
Default:
"The ghostunnel package that provided this module."
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.allowAll
If true, allow all clients, do not check client cert subject.
Type: boolean
Default:
false
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.allowCN
Allow client if common name appears in the list.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.allowDNS
Allow client if DNS subject alternative name appears in the list.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.allowOU
Allow client if organizational unit name appears in the list.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.allowURI
Allow client if URI subject alternative name appears in the list.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.cacert
Path to CA bundle file (PEM/X509). Uses system trust store if null.
Type: null or string
Default:
null
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.cert
Path to certificate (PEM with certificate chain).
Not required if keystore is set.
Type: null or string
Default:
null
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.disableAuthentication
Disable client authentication, no client certificate will be required.
Type: boolean
Default:
false
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.extraArguments
Extra arguments to pass to ghostunnel server
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.key
Path to certificate private key (PEM with private key).
Not required if keystore is set.
Type: null or string
Default:
null
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.keystore
Path to keystore (combined PEM with cert/key, or PKCS12 keystore).
NB: storepass is not supported because it would expose credentials via /proc/*/cmdline.
Specify this or cert and key.
Type: null or string
Default:
null
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.listen
Address and port to listen on (can be HOST:PORT, unix:PATH).
Type: string
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.target
Address to forward connections to (can be HOST:PORT or unix:PATH).
Type: string
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ghostunnel.services.default ]>.ghostunnel.unsafeTarget
If set, does not limit target to localhost, 127.0.0.1, [::1], or UNIX sockets.
This is meant to protect against accidental unencrypted traffic on untrusted networks.
Type: boolean
Default:
false
Declared by:
<nixpkgs/pkgs/by-name/gh/ghostunnel/service.nix>
|
<imports = [ pkgs.ktls-utils.services.default ]>
This is a modular service, which can be imported into a NixOS configuration using the system.services option.
Type: submodule
<imports = [ pkgs.ktls-utils.services.default ]>.tlshd.package
Package to use for tlshd.
Type: package
Default:
The ktls-utils package that provided this module.
Declared by:
<nixpkgs/pkgs/by-name/kt/ktls-utils/service.nix>
|
<imports = [ pkgs.ktls-utils.services.default ]>.tlshd.settings
Configuration for tlshd in INI format. See tlshd.conf(5) for available options.
Type: attribute set of attribute set of string
Default:
{ }
Example:
{
"authenticate.server" = {
"x509.certificate" = "/var/lib/tlshd/cert.pem";
"x509.private_key" = "/var/lib/tlshd/key.pem";
"x509.truststore" = "/var/lib/tlshd/truststore.pem";
};
}
Declared by:
<nixpkgs/pkgs/by-name/kt/ktls-utils/service.nix>
|
<imports = [ pkgs.php.services.default ]>
This is a modular service, which can be imported into a NixOS configuration using the system.services option.
Type: submodule
<imports = [ pkgs.php.services.default ]>.php-fpm.package
PHP package to use for php-fpm
Type: package
Default: The PHP package that provided this module.
Example:
php.buildEnv {
extensions =
{ all, ... }:
with all;
[
imagick
opcache
];
extraConfig = "memory_limit=256M";
}
Declared by:
<nixpkgs/pkgs/development/interpreters/php/service.nix>
|
<imports = [ pkgs.php.services.default ]>.php-fpm.settings
PHP FPM configuration. Refer to upstream documentation for details on supported values.
Type: open submodule of attribute set of (string or signed integer or boolean or (open submodule of attribute set of (string or signed integer or boolean)))
Default:
{ }
Example:
{
log_level = "debug";
log_limit = 2048;
mypool = {
"user" = "php";
"group" = "php";
"listen.owner" = "caddy";
"listen.group" = "caddy";
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 10;
"pm.min_spare_servers" = 5;
"pm.max_spare_servers" = 20;
"pm.max_requests" = 500;
}
}
Declared by:
<nixpkgs/pkgs/development/interpreters/php/service.nix>
|
<imports = [ pkgs.php.services.default ]>.php-fpm.settings.log_level
Error log level.
Type: one of “alert”, “error”, “warning”, “notice”, “debug”
Default:
"notice"
Declared by:
<nixpkgs/pkgs/development/interpreters/php/service.nix>
|
<imports = [ pkgs.snid.services.default ]>
This is a modular service, which can be imported into a NixOS configuration using the system.services option.
Type: submodule
<imports = [ pkgs.snid.services.default ]>.snid.package
Package to use for snid.
Type: package
Default:
"The snid package that provided this module."
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.backendCidrs
Subnets to which connections may be forwarded. Connections to
addresses outside these subnets are rejected. Used in nat46 and
tcp modes.
Type: list of string
Default:
[ ]
Example:
[
"2001:db8::/64"
"192.0.2.0/24"
]
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.backendPort
Port number to connect to on the backend in TCP mode. If null, snid uses the same port as the inbound connection.
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.defaultHostname
Hostname to use if a client does not include the SNI extension. If null, SNI-less connections will be terminated with a TLS alert.
Type: null or string
Default:
null
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.listen
Addresses to listen on, in go-listener syntax.
Examples: "tcp:443", "tcp:0.0.0.0:443", "tcp:192.0.2.4:443".
Type: list of string
Default:
[ ]
Example:
[
"tcp:0.0.0.0:443"
]
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.mode
Proxy mode. One of nat46, tcp, or unix.
Type: one of “nat46”, “tcp”, “unix”
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.nat46Prefix
IPv6 prefix for the source address when connecting to the backend in NAT46 mode. The client’s IPv4 address is placed in the lower 4 bytes.
Note: this prefix must be routed to the local host, e.g.
ip route add local 64:ff9b:1::/96 dev lo
Type: null or string
Default:
null
Example:
"64:ff9b:1::"
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.proxyProto
Use PROXY protocol v2 to convey the client IP address to the
backend. Applicable in tcp and unix modes.
Type: boolean
Default:
false
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
<imports = [ pkgs.snid.services.default ]>.snid.unixDirectory
Path to the directory containing UNIX domain sockets, used in
unix mode.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/pkgs/by-name/sn/snid/service.nix>
|
_module.args
Additional arguments passed to each module in addition to ones
like lib, config,
and pkgs, modulesPath.
This option is also available to all submodules. Submodules do not
inherit args from their parent module, nor do they provide args to
their parent module or sibling submodules. The sole exception to
this is the argument name which is provided by
parent modules to a submodule and contains the attribute name
the submodule is bound to, or a unique generated name if it is
not bound to an attribute.
Some arguments are already passed by default, of which the following cannot be changed with this option:
lib: The nixpkgs library.
config: The results of all options after merging the values from all modules together.
options: The options declared in all modules.
specialArgs: The specialArgs argument passed to evalModules.
All attributes of specialArgs
Whereas option values can generally depend on other option values
thanks to laziness, this does not apply to imports, which
must be computed statically before anything else.
For this reason, callers of the module system can provide specialArgs
which are available during import resolution.
For NixOS, specialArgs includes
modulesPath, which allows you to import
extra modules from the nixpkgs package tree without having to
somehow make the module aware of the location of the
nixpkgs or NixOS directories.
{ modulesPath, ... }: {
imports = [
(modulesPath + "/profiles/minimal.nix")
];
}
For NixOS, the default value for this option includes at least this argument:
pkgs: The nixpkgs package set according to
the nixpkgs.pkgs option.
Type: lazy attribute set of raw value
Default:
{ }
Declared by:
<nixpkgs/lib/modules.nix>
|
appstream.enable
Whether to install files to support the AppStream metadata specification.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/appstream.nix>
|
boot.enableContainers
Whether to enable support for NixOS containers.
Type: boolean
Default:
config.containers != { }
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
boot.bcache.enable
Whether to enable bcache mount support.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/tasks/bcache.nix>
|
boot.bcachefs.package
The bcachefs-tools package to use. This package should also provide a passthru ‘kernelModule’ attribute to build the out-of-tree kernel module.
Type: package
Default:
pkgs.bcachefs-tools
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/bcachefs.nix>
|
boot.binfmt.addEmulatedSystemsToNixSandbox
Whether to add the boot.binfmt.emulatedSystems to nix.settings.extra-platforms.
Disable this to use remote builders for those platforms, while allowing testing binaries locally.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.emulatedSystems
List of systems to emulate. Will also configure Nix to support your new systems. Warning: the builder can execute all emulated systems within the same build, which introduces impurities in the case of cross compilation.
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”)
Default:
[ ]
Example:
[
"wasm32-wasi"
"x86_64-windows"
"aarch64-linux"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.preferStaticEmulators
Whether to use static emulators when available.
This enables the kernel to preload the emulator binaries when the binfmt registrations are added, obviating the need to make the emulator binaries available inside chroots and chroot-like sandboxes.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations
Extra binary formats to register with the kernel. See https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html for more details.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.fixBinary
Whether to open the interpreter file as soon as the registration is loaded, rather than waiting for a relevant file to be invoked.
See the description of the ‘F’ flag in the kernel docs for more details.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.interpreter
The interpreter to invoke to run the program.
Note that the actual registration will point to /run/binfmt/${name}, so the kernel interpreter length limit doesn’t apply.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.magicOrExtension
The magic number or extension to match on.
Type: string
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.mask
A mask to be ANDed with the byte sequence of the file before matching
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.matchCredentials
Whether to launch with the credentials and security token of the binary, not the interpreter (e.g. setuid bit).
See the description of the ‘C’ flag in the kernel docs for more details.
Implies/requires openBinary = true.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.offset
The byte offset of the magic number used for recognition.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.openBinary
Whether to pass the binary to the interpreter as an open file descriptor, instead of a path.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.preserveArgvZero
Whether to pass the original argv[0] to the interpreter.
See the description of the ‘P’ flag in the kernel docs for more details;
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.recognitionType
Whether to recognize executables by magic number or extension.
Type: one of “magic”, “extension”
Default:
"magic"
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.binfmt.registrations.<name>.wrapInterpreterInShell
Whether to wrap the interpreter in a shell script.
This allows a shell command to be set as the interpreter.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/binfmt.nix>
|
boot.blacklistedKernelModules
Set of names of kernel modules that should not be loaded
automatically by the hardware probing code. This can either be
a list of modules or an attrset. In an attrset, names that are
set to true represent modules that will be blacklisted.
Type: (attribute set of boolean) or (list of string) convertible to it
Default:
{ }
Example:
[
"cirrusfb"
"i2c_piix4"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/modprobe.nix>
|
boot.bootspec.enableValidation
Whether to enable the validation of bootspec documents for each build. This will introduce Go in the build-time closure as we are relying on Cuelang for schema validation. Enable this option if you want to ascertain that your documents are correct .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/activation/bootspec.nix>
|
boot.bootspec.package
The bootspec package to use.
Type: package
Default:
pkgs.bootspec
Declared by:
<nixpkgs/nixos/modules/system/activation/bootspec.nix>
|
boot.bootspec.extensions
User-defined data that extends the bootspec document.
To reduce incompatibility and prevent names from clashing between applications, it is highly recommended to use a unique namespace for your extensions.
Type: attribute set of anything
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/activation/bootspec.nix>
|
boot.consoleLogLevel
The kernel console loglevel. All Kernel Messages with a log level smaller
than this setting will be printed to the console.
Type: signed integer
Default:
4
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.crashDump.enable
If enabled, NixOS will set up a kernel that will boot on crash, and leave the user in systemd rescue to be able to save the crashed kernel dump at /proc/vmcore. It also activates the NMI watchdog.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/misc/crashdump.nix>
|
boot.crashDump.kernelParams
Parameters that will be passed to the kernel kexec-ed on crash.
Type: list of string
Default:
[
"1"
"boot.shell_on_fail"
]
Declared by:
<nixpkgs/nixos/modules/misc/crashdump.nix>
|
boot.crashDump.reservedMemory
The amount of memory reserved for the crashdump kernel. If you choose a too high value, dmesg will mention “crashkernel reservation failed”.
Type: string
Default:
"128M"
Declared by:
<nixpkgs/nixos/modules/misc/crashdump.nix>
|
boot.devShmSize
Size limit for the /dev/shm tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.
Type: string
Default:
"50%"
Example:
"256m"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.devSize
Size limit for the /dev tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.
Type: string
Default:
"5%"
Example:
"32m"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.extraModprobeConfig
Any additional configuration to be appended to the generated
modprobe.conf. This is typically used to
specify module options. See
modprobe.d(5) for details.
Type: strings concatenated with “\n”
Default:
""
Example:
''
options parport_pc io=0x378 irq=7 dma=1
''
Declared by:
<nixpkgs/nixos/modules/system/boot/modprobe.nix>
|
boot.extraModulePackages
A list of additional packages supplying kernel modules.
Type: list of package
Default:
[ ]
Example:
[ config.boot.kernelPackages.nvidia_x11 ]
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.extraSystemdUnitPaths
Additional paths that get appended to the SYSTEMD_UNIT_PATH environment variable that can contain mutable unit files.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-2.nix>
|
boot.growPartition
Whether to enable growing the root partition on boot.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/grow-partition.nix>
|
boot.hardwareScan
Whether to try to load kernel modules for all detected hardware. Usually this does a good job of providing you with the modules you need, but sometimes it can crash the system or cause other nasty effects.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/udev.nix>
|
boot.initrd.enable
Whether to enable the NixOS initial RAM disk (initrd). This may be needed to perform some initialisation tasks (like mounting network/encrypted file systems) before continuing the boot process.
Type: boolean
Default:
!config.boot.isContainer
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.allowMissingModules
Whether the initrd can be built even though modules listed in
boot.initrd.kernelModules or
boot.initrd.availableKernelModules are missing from
the kernel. This is useful when combining configurations that
include a lot of modules, such as
hardware.enableAllHardware, with kernels that don’t
provide as many modules as typical NixOS kernels.
Note that enabling this is discouraged. Instead, try disabling
individual modules by setting e.g.
boot.initrd.availableKernelModules.foo = lib.mkForce false;
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.initrd.availableKernelModules
The set of kernel modules in the initial ramdisk used during the
boot process. This set must include all modules necessary for
mounting the root device. That is, it should include modules
for the physical device (e.g., SCSI drivers) and for the file
system (e.g., ext3). The set specified here is automatically
closed under the module dependency relation, i.e., all
dependencies of the modules list here are included
automatically. The modules listed here are available in the
initrd, but are only loaded on demand (e.g., the ext3 module is
loaded automatically when an ext3 filesystem is mounted, and
modules for PCI devices are loaded when they match the PCI ID
of a device in your system). To force a module to be loaded,
include it in boot.initrd.kernelModules.
This can either be a list of modules, or an attrset. In an
attrset, names that are set to true represent modules that will
be included. Note that setting these names to false does not
prevent the module from being loaded. For that, use
boot.blacklistedKernelModules.
Type: (attribute set of boolean) or (list of string) convertible to it
Default:
{ }
Example:
[
"sata_nv"
"ext3"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.initrd.checkJournalingFS
Whether to run fsck on journaling filesystems such as ext3.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.clevis.enable
Whether to enable Clevis in initrd.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis.nix>
|
boot.initrd.clevis.package
The clevis package to use.
Type: package
Default:
pkgs.clevis
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis.nix>
|
boot.initrd.clevis.devices
Encrypted devices that need to be unlocked at boot using Clevis
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis.nix>
|
boot.initrd.clevis.devices.<name>.secretFile
Clevis JWE file used to decrypt the device at boot, in concert with the chosen pin (one of TPM2, Tang server, or SSS).
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis.nix>
|
boot.initrd.clevis.useTang
Whether the Clevis JWE file used to decrypt the devices uses a Tang server as a pin.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis.nix>
|
boot.initrd.clevisLuksAskpass.enable
Whether to enable clevis-luks-askpass in initrd.
Watches for systemd password requests during boot and answers them using clevis tokens bound to LUKS headers. Runs in parallel with the interactive password prompt. If clevis cannot unlock a device (tang unreachable, no binding, etc.) the user can still type the passphrase.
Prerequisites:
Bind clevis to each LUKS device: clevis luks bind -d /dev/xxx tang ‘{“url”:“…”}’
Configure networking in the initrd so tang servers are reachable .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis-luks-askpass.nix>
|
boot.initrd.clevisLuksAskpass.package
The clevis package to use.
Type: package
Default:
pkgs.clevis
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis-luks-askpass.nix>
|
boot.initrd.clevisLuksAskpass.useTang
Whether the Clevis headers used to decrypt the devices uses a Tang server as a pin.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/clevis-luks-askpass.nix>
|
boot.initrd.compressor
The compressor to use on the initrd image. May be any of:
The name of one of the predefined compressors, see pkgs/build-support/kernel/initrd-compressor-meta.nix for the definitions.
A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. pkgs: "${pkgs.pigz}/bin/pigz"
(not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. "${pkgs.pigz}/bin/pigz"
The given program should read data from stdin and write it to stdout compressed.
Type: string or function that evaluates to a(n) string
Default:
zstd if the kernel supports it (5.9+), gzip if not
Example:
"xz"
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.compressorArgs
Arguments to pass to the compressor for the initrd image, or null to use the compressor’s defaults.
Type: null or (list of string)
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.extraFiles
Extra files to link and copy in to the initrd.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.extraFiles.<name>.source
The object to make available inside the initrd.
Type: package
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.extraFirmwarePaths
Other firmware files (relative to "${config.hardware.firmware}/lib/firmware") to include in the final initrd we are building.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.includeDefaultModules
This option, if set, adds a collection of default kernel modules
to boot.initrd.availableKernelModules and
boot.initrd.kernelModules.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.initrd.kernelModules
Set of modules that are always loaded by the initrd.
This can either be a list of modules, or an attrset. In an
attrset, names that are set to true represent modules that will
be included. Note that setting these names to false does not
prevent the module from being loaded. For that, use
boot.blacklistedKernelModules.
Type: (attribute set of boolean) or (list of string) convertible to it
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.initrd.luks.cryptoModules
A list of cryptographic kernel modules needed to decrypt the root device(s). The default includes all common modules.
Type: list of string
Default:
[
"aes"
"blowfish"
"twofish"
"serpent"
"cbc"
"xts"
"lrw"
"sha1"
"sha256"
"sha512"
"af_alg"
"algif_skcipher"
"cryptd"
"input_leds"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices
The encrypted disk that should be opened before the root
filesystem is mounted. Both LVM-over-LUKS and LUKS-over-LVM
setups are supported. The unencrypted devices can be accessed as
/dev/mapper/«name».
Type: attribute set of (submodule)
Default:
{ }
Example:
{
luksroot = {
device = "/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08";
};
}
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.allowDiscards
Whether to allow TRIM requests to the underlying device. This option has security implications; please read the LUKS documentation before activating it. This option is incompatible with authenticated encryption (dm-crypt stacked over dm-integrity).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.bypassWorkqueues
Whether to bypass dm-crypt’s internal read and write workqueues. Enabling this should improve performance on SSDs; see here for more information. Needs Linux 5.9 or later.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.crypttabExtraOpts
Only used with systemd stage 1.
Extra options to append to the last column of the generated crypttab file.
Type: list of (optionally newline-terminated) single-line string
Default:
[ ]
Example:
[
"_netdev"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.device
Path of the underlying encrypted block device.
Type: string
Example:
"/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08"
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.fallbackToPassword
Whether to fallback to interactive passphrase prompt if the keyfile cannot be found. This will prevent unattended boot should the keyfile go missing.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.fido2.credential
The FIDO2 credential ID.
Type: null or string
Default:
null
Example:
"f1d00200d8dc783f7fb1e10ace8da27f8312d72692abfca2f7e4960a73f48e82e1f7571f6ebfcee9fb434f9886ccc8fcc52a6614d8d2"
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.fido2.credentials
List of FIDO2 credential IDs.
Use this if you have multiple FIDO2 keys you want to use for the same luks device.
Type: list of string
Default:
[ ]
Example:
[
"f1d00200d8dc783f7fb1e10ace8da27f8312d72692abfca2f7e4960a73f48e82e1f7571f6ebfcee9fb434f9886ccc8fcc52a6614d8d2"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.fido2.gracePeriod
Time in seconds to wait for the FIDO2 key.
Type: signed integer
Default:
10
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.fido2.passwordLess
Defines whatever to use an empty string as a default salt.
Enable only when your device is PIN protected, such as Trezor.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.gpgCard
The option to use this LUKS device with a GPG encrypted luks password by the GPG Smartcard. If null (the default), GPG-Smartcard will be disabled for this device.
Type: null or (submodule)
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.gpgCard.encryptedPass
Path to the GPG encrypted passphrase.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.gpgCard.gracePeriod
Time in seconds to wait for the GPG Smartcard.
Type: signed integer
Default:
10
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.gpgCard.publicKey
Path to the Public Key.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.header
The name of the file or block device that should be used as header for the encrypted device.
Type: null or string
Default:
null
Example:
"/root/header.img"
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.keyFile
The name of the file (can be a raw device or a partition) that should be used as the decryption key for the encrypted device. If not specified, you will be prompted for a passphrase instead.
Type: null or string
Default:
null
Example:
"/dev/sdb1"
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.keyFileOffset
The offset of the key file. Use this in combination with
keyFileSize to use part of a file as key file
(often the case if a raw device or partition is used as a key file).
If not specified, the key begins at the first byte of
keyFile.
Type: null or signed integer
Default:
null
Example:
4096
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.keyFileSize
The size of the key file. Use this if only the beginning of the
key file should be used as a key (often the case if a raw device
or partition is used as key file). If not specified, the whole
keyFile will be used decryption, instead of just
the first keyFileSize bytes.
Type: null or signed integer
Default:
null
Example:
4096
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.keyFileTimeout
The amount of time in seconds for a keyFile to appear before timing out and trying passwords.
Type: null or signed integer
Default:
null
Example:
5
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.postOpenCommands
Commands that should be run right after we have mounted our LUKS device.
Type: strings concatenated with “\n”
Default:
""
Example:
''
umount /tmp/persistent
''
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.preLVM
Whether the luksOpen will be attempted before LVM scan or after it.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.preOpenCommands
Commands that should be run right before we try to mount our LUKS device. This can be useful, if the keys needed to open the drive is on another partition.
Type: strings concatenated with “\n”
Default:
""
Example:
''
mkdir -p /tmp/persistent
mount -t zfs rpool/safe/persistent /tmp/persistent
''
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.tryEmptyPassphrase
If keyFile fails then try an empty passphrase first before prompting for password.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey
The options to use for this LUKS device in YubiKey-PBA. If null (the default), YubiKey-PBA will be disabled for this device.
Type: null or (submodule)
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.gracePeriod
Time in seconds to wait for the YubiKey.
Type: signed integer
Default:
10
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.iterationStep
How much the iteration count for PBKDF2 is increased at each successful authentication.
Type: signed integer
Default:
0
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.keyLength
Length of the LUKS slot key derived with PBKDF2 in byte.
Type: signed integer
Default:
64
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.saltLength
Length of the new salt in byte (64 is the effective maximum).
Type: signed integer
Default:
16
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.slot
Which slot on the YubiKey to challenge.
Type: signed integer
Default:
2
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.storage.device
An unencrypted device that will temporarily be mounted in stage-1. Must contain the current salt to create the challenge for this LUKS device.
Type: absolute path
Default:
"/dev/sda1"
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.storage.fsType
The filesystem of the unencrypted device.
Type: string
Default:
"vfat"
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.storage.path
Absolute path of the salt on the unencrypted device with that device’s root directory as “/”.
Type: string
Default:
"/crypt-storage/default"
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.devices.<name>.yubikey.twoFactor
Whether to use a passphrase and a YubiKey (true), or only a YubiKey (false).
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.fido2Support
Enables support for authenticating with FIDO2 devices.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.gpgSupport
Enables support for authenticating with a GPG encrypted password.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.mitigateDMAAttacks
Unless enabled, encryption keys can be easily recovered by an attacker with physical access to any machine with PCMCIA, ExpressCard, ThunderBolt or FireWire port. More information is available at https://en.wikipedia.org/wiki/DMA_attack.
This option blacklists FireWire drivers, but doesn’t remove them. You can manually load the drivers if you need to use a FireWire device, but don’t forget to unload them!
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.reusePassphrases
When opening a new LUKS device try reusing last successful passphrase.
Useful for mounting a number of devices that use the same passphrase without retyping it several times.
Such setup can be useful if you use cryptsetup luksSuspend. Different LUKS devices will still have different master keys even when using the same passphrase.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.luks.yubikeySupport
Enables support for authenticating with a YubiKey on LUKS devices. See the NixOS wiki for information on how to properly setup a LUKS device and a YubiKey to work with this feature.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/luksroot.nix>
|
boot.initrd.network.enable
Add network connectivity support to initrd. The network may be
configured using the ip kernel parameter,
as described in the kernel documentation.
Otherwise, if
networking.useDHCP is enabled, an IP address
is acquired using DHCP.
You should add the module(s) required for your network card to
boot.initrd.availableKernelModules.
lspci -v | grep -iA8 'network\|ethernet'
will tell you which.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-network.nix>
|
boot.initrd.network.flushBeforeStage2
Whether to clear the configuration of the interfaces that were set up in the initrd right before stage 2 takes over. Stage 2 will do the regular network configuration based on the NixOS networking options.
The default is false when systemd is enabled in initrd, because the systemd-networkd documentation suggests it.
Type: boolean
Default:
"!config.boot.initrd.systemd.enable"
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-network.nix>
|
boot.initrd.network.ifstate.enable
Whether to enable initrd networking using IfState.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
boot.initrd.network.ifstate.package
The initrd IfState package to use.
Type: package
Default:
pkgs.ifstate.override { withConfigValidation = false; }
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
boot.initrd.network.ifstate.allowIfstateToDrasticlyIncreaseInitrdSize
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.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
boot.initrd.network.ifstate.cleanupSettings
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.
Type: YAML 1.1 value
Default:
{
interfaces = { };
}
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
boot.initrd.network.ifstate.settings
Content of IfState’s initrd configuration file. See https://ifstate.net/2.2/schema/ for details.
Type: YAML 1.1 value
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
boot.initrd.network.openvpn.enable
Starts an OpenVPN client during initrd boot. It can be used to e.g.
remotely accessing the SSH service controlled by
boot.initrd.network.ssh or other network services
included. Service is killed when stage-1 boot is finished.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-openvpn.nix>
|
boot.initrd.network.openvpn.configuration
The configuration file for OpenVPN.
Unless your bootloader supports initrd secrets, this configuration is stored insecurely in the global Nix store.
Type: absolute path
Example:
./configuration.ovpn
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-openvpn.nix>
|
boot.initrd.network.postCommands
Shell commands to be executed after stage 1 of the boot has initialised the network.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-network.nix>
|
boot.initrd.network.ssh.enable
Start SSH service during initrd boot. It can be used to debug failing boot on a remote server, enter pasphrase for an encrypted partition etc. Service is killed when stage-1 boot is finished.
The sshd configuration is largely inherited from
services.openssh.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.ssh.authorizedKeyFiles
Authorized keys taken from files for the root user on initrd.
You can combine the authorizedKeyFiles and authorizedKeys options.
Type: list of absolute path
Default:
config.users.users.root.openssh.authorizedKeys.keyFiles
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.ssh.authorizedKeys
Authorized keys for the root user on initrd.
You can combine the authorizedKeys and authorizedKeyFiles options.
Type: list of string
Default:
config.users.users.root.openssh.authorizedKeys.keys
Example:
[
"ssh-rsa AAAAB3NzaC1yc2etc/etc/etcjwrsh8e596z6J0l7 example@host"
"ssh-ed25519 AAAAC3NzaCetcetera/etceteraJZMfk3QPfQ foo@bar"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.ssh.extraConfig
Verbatim contents of sshd_config.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.ssh.hostKeys
Specify SSH host keys to import into the initrd.
To generate keys, use ssh-keygen(1) as root:
ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key
Unless your bootloader supports initrd secrets, these keys are stored insecurely in the global Nix store. Do NOT use your regular SSH host private keys for this purpose or you’ll expose them to regular users!
Additionally, even if your initrd supports secrets, if you’re using initrd SSH to unlock an encrypted disk then using your regular host keys exposes the private keys on your unencrypted boot partition.
Type: list of (string or absolute path)
Default:
[ ]
Example:
[
"/etc/secrets/initrd/ssh_host_rsa_key"
"/etc/secrets/initrd/ssh_host_ed25519_key"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.ssh.ignoreEmptyHostKeys
Allow leaving config.boot.initrd.network.ssh.hostKeys empty,
to deploy ssh host keys out of band.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.ssh.port
Port on which SSH initrd service should listen.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
22
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.ssh.shell
Login shell of the remote user. Can be used to limit actions user can do.
Type: null or string
Default:
"\"/bin/ash\""
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-ssh.nix>
|
boot.initrd.network.udhcpc.enable
Enables the udhcpc service during stage 1 of the boot process. This
defaults to networking.useDHCP. Therefore, this useful if
useDHCP is off but the initramfs should do dhcp.
Type: boolean
Default:
config.networking.useDHCP
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-network.nix>
|
boot.initrd.network.udhcpc.extraArgs
Additional command-line arguments passed verbatim to
udhcpc if boot.initrd.network.enable and
boot.initrd.network.udhcpc.enable are enabled.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/initrd-network.nix>
|
boot.initrd.nix-store-veritysetup.enable
Whether to enable nix-store-veritysetup.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/nix-store-veritysetup.nix>
|
boot.initrd.postDeviceCommands
Shell commands to be executed immediately after stage 1 of the
boot has loaded kernel modules and created device nodes in
/dev.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.postMountCommands
Shell commands to be executed immediately after the stage 1 filesystems have been mounted.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.postResumeCommands
Shell commands to be executed immediately after attempting to resume.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.preDeviceCommands
Shell commands to be executed before udev is started to create device nodes.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.preFailCommands
Shell commands to be executed before the failure prompt is shown.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.preLVMCommands
Shell commands to be executed immediately before LVM discovery.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.prepend
Other initrd files to prepend to the final initrd we are building.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.secrets
Secrets to append to the initrd. The attribute name is the path the secret should have inside the initrd, the value is the path it should be copied from (or null for the same path inside and out).
Note that nixos-rebuild switch will generate the initrd
also for past generations, so if secrets are moved or deleted
you will also have to garbage collect the generations that
use those secrets.
Type: attribute set of (null or absolute path)
Default:
{ }
Example:
{ "/etc/dropbear/dropbear_rsa_host_key" =
./secret-dropbear-key;
}
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.services.bcache.enable
This will only be used when systemd is used in stage 1.
Whether to enable bcache support in the initrd.
Type: boolean
Default:
config.boot.initrd.systemd.enable && config.boot.bcache.enable
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/bcache.nix>
|
boot.initrd.services.lvm.enable
This will only be used when systemd is used in stage 1.
Whether to enable booting from LVM2 in the initrd.
Type: boolean
Default:
config.boot.initrd.systemd.enable && config.services.lvm.enable
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/lvm.nix>
|
boot.initrd.services.resolved.enable
Whether to enable resolved for stage 1 networking. Uses the toplevel ‘services.resolved’ options for ‘resolved.conf’
Type: unspecified value
Default:
"config.boot.initrd.systemd.network.enable"
Declared by:
<nixpkgs/nixos/modules/system/boot/resolved.nix>
|
boot.initrd.services.udev.packages
This will only be used when systemd is used in stage 1.
List of packages containing udev rules that will be copied to stage 1.
All files found in
«pkg»/etc/udev/rules.d and
«pkg»/lib/udev/rules.d
will be included.
Type: list of absolute path
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/udev.nix>
|
boot.initrd.services.udev.binPackages
This will only be used when systemd is used in stage 1.
Packages to search for binaries that are referenced by the udev rules in stage 1. This list always contains /bin of the initrd.
Type: list of absolute path
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/udev.nix>
|
boot.initrd.services.udev.rules
udev rules to include in the initrd
only. They’ll be written into file
99-local.rules. Thus they are read and applied
after the essential initrd rules.
Type: strings concatenated with “\n”
Default:
""
Example:
''
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1D:60:B9:6D:4F", KERNEL=="eth*", NAME="my_fast_network_card"
''
Declared by:
<nixpkgs/nixos/modules/services/hardware/udev.nix>
|
boot.initrd.stage1Greeting
The greeting message displayed during NixOS stage 1 boot.
Type: string
Default:
"<<< ${config.system.nixos.distroName} Stage 1 >>>"
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.supportedFilesystems
Names of supported filesystem types, or an attribute set of file system types
and their state. The set form may be used together with lib.mkForce to
explicitly disable support for specific filesystems, e.g. to disable ZFS
with an unsupported kernel.
Type: (attribute set of boolean) or (list of string) convertible to it
Default:
{ }
Example:
{
btrfs = true;
zfs = lib.mkForce false;
}
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.initrd.systemd.enable
Whether to enable systemd in initrd. The unit options such as
boot.initrd.systemd.services are the same as their
stage 2 counterparts such as systemd.services,
except that restartTriggers and reloadTriggers are not
supported.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.package
The systemd package to use.
Type: package
Default:
config.systemd.package
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.packages
Packages providing systemd units and hooks.
Type: list of package
Default:
[ ]
Example:
[ pkgs.systemd-cryptsetup-generator ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.additionalUpstreamUnits
Additional units shipped with systemd that shall be enabled.
Type: list of string
Default:
[ ]
Example:
[
"debug-shell.service"
"systemd-quotacheck.service"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.automounts
Definition of systemd automount units. This is a list instead of an attrSet, because systemd mandates the names to be derived from the ‘where’ attribute.
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.contents
Set of files that have to be linked into the initrd
Type: attribute set of (submodule)
Default:
{ }
Example:
{
"/etc/machine-id".source = /etc/machine-id;
}
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.contents.<name>.enable
Whether to enable copying of this file and symlinking it.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.contents.<name>.dlopen.features
Features to enable via dlopen ELF notes. These will be in addition to anything included via ‘usePriority’, regardless of their priority.
Type: list of (optionally newline-terminated) single-line string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.contents.<name>.dlopen.usePriority
Priority of dlopen ELF notes to include. “required” is minimal, “recommended” includes “required”, and “suggested” includes “recommended”.
See: https://systemd.io/ELF_DLOPEN_METADATA/
Type: one of “required”, “recommended”, “suggested”
Default:
"recommended"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.contents.<name>.source
Path of the source file.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.contents.<name>.target
Path of the symlink.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.contents.<name>.text
Text of the file.
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.dbus.enable
Whether to enable dbus in stage 1.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/system/dbus.nix>
|
boot.initrd.systemd.dmVerity.enable
Mount verity-protected block devices in the initrd.
Enabling this option allows to use systemd-veritysetup and
systemd-veritysetup-generator in the initrd.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/dm-verity.nix>
|
boot.initrd.systemd.emergencyAccess
Set to true for unauthenticated emergency access, and false or null for no emergency access.
Can also be set to a hashed super user password to allow authenticated access to the emergency mode.
For emergency access after initrd, use systemd.enableEmergencyMode instead.
Type: boolean or null or (string, not containing newlines or colons)
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.extraBin
Tools to add to /bin
Type: attribute set of absolute path
Default:
{ }
Example:
{
umount = "${pkgs.util-linux}/bin/umount";
}
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.fido2.enable
Whether to enable systemd FIDO2 support.
Type: boolean
Default:
config.boot.initrd.systemd.package.withFido2
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/fido2.nix>
|
boot.initrd.systemd.groups
Groups to include in initrd.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/config/users-groups.nix>
|
boot.initrd.systemd.groups.<name>.gid
ID of the group in initrd.
Type: signed integer
Default:
config.users.groups.${name}.gid
Declared by:
<nixpkgs/nixos/modules/config/users-groups.nix>
|
boot.initrd.systemd.initrdBin
Packages to include in /bin for the stage 1 emergency shell.
Type: list of package
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.managerEnvironment
Environment variables of PID 1. These variables are not passed to started units.
Type: attribute set of (null or string or absolute path or package)
Default:
''
{
PATH = "/bin:/sbin";
}
''
Example:
{
SYSTEMD_LOG_LEVEL = "debug";
}
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.mounts
Definition of systemd mount units. This is a list instead of an attrSet, because systemd mandates the names to be derived from the ‘where’ attribute.
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.network.enable
Whether to enable networkd or not.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.config
Definition of global systemd network config.
Type: submodule
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.links
Definition of systemd network links.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.netdevs
Definition of systemd network devices.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.networks
Definition of systemd networks.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.wait-online.enable
Whether to enable the systemd-networkd-wait-online service.
systemd-networkd-wait-online can timeout and fail if there are no network interfaces available for it to manage. When systemd-networkd is enabled but a different service is responsible for managing the system’s internet connection (for example, NetworkManager or connman are used to manage WiFi connections), this service is unnecessary and can be disabled.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.wait-online.anyInterface
Whether to consider the network online when any interface is online, as opposed to all of them. This is useful on portable machines with a wired and a wireless interface, for example.
This is on by default if networking.useDHCP is enabled.
Type: boolean
Default:
"config.networking.useDHCP"
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.wait-online.extraArgs
Extra command-line arguments to pass to systemd-networkd-wait-online.
These also affect per-interface systemd-network-wait-online@ services.
See systemd-networkd-wait-online.service(8) for all available options.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.wait-online.ignoredInterfaces
Network interfaces to be ignored when deciding if the system is online.
Type: list of string
Default:
[ ]
Example:
[
"wg0"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.network.wait-online.timeout
Time to wait for the network to come online, in seconds. Set to 0 to disable.
Type: unsigned integer, meaning >=0
Default:
120
Example:
0
Declared by:
<nixpkgs/nixos/modules/system/boot/networkd.nix>
|
boot.initrd.systemd.paths
Definition of systemd path units.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.repart.enable
Grow and add partitions to a partition table at boot time in the initrd. systemd-repart only works with GPT partition tables.
To run systemd-repart after the initrd, see
options.systemd.repart.enable.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/repart.nix>
|
boot.initrd.systemd.repart.device
The device to operate on.
If device == null, systemd-repart will operate on the device
backing the root partition. So in order to dynamically create the
root partition in the initrd you need to set a device.
Type: null or string
Default:
null
Example:
"/dev/vda"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/repart.nix>
|
boot.initrd.systemd.repart.discard
Controls whether to issue the BLKDISCARD I/O control command on the space taken up by any added partitions or on the space in between them. Usually, it’s a good idea to issue this request since it tells the underlying hardware that the covered blocks shall be considered empty, improving performance.
See systemd-repart(8) for details.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/repart.nix>
|
boot.initrd.systemd.repart.empty
Controls how to operate on empty devices that contain no partition table yet. See systemd-repart(8) for details.
Type: one of “refuse”, “allow”, “require”, “force”, “create”
Default:
"refuse"
Example:
"require"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/repart.nix>
|
boot.initrd.systemd.repart.extraArgs
Extra command-line arguments to pass to systemd-repart.
See systemd-repart(8) for all available options.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/repart.nix>
|
boot.initrd.systemd.root
Controls how systemd will interpret the root FS in initrd. See
kernel-command-line(7). NixOS currently does not
allow specifying the root file system itself this
way. Instead, the fstab value is used in order to interpret
the root file system specified with the fileSystems option.
If root shall be omitted, set this option to null.
Type: null or one of “fstab”, “gpt-auto”
Default:
"fstab"
Example:
"gpt-auto"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.services
Definition of systemd service units.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.settings.Manager
Options for the global systemd service manager used in initrd. See systemd-system.conf(5) man page for available options.
Type: open submodule of attribute set of (systemd option)
Default:
{
DefaultEnvironment = "PATH=/bin:/sbin";
}
Example:
{
KExecWatchdogSec = "5min";
RebootWatchdogSec = "10min";
RuntimeWatchdogSec = "30s";
WatchdogDevice = "/dev/watchdog";
}
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.slices
Definition of slice configurations.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.sockets
Definition of systemd socket units.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.storePaths
Store paths to copy into the initrd as well.
Type: list of ((submodule) or ((optionally newline-terminated) single-line string or package) convertible to it)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.storePaths.*.enable
Whether to enable copying of this file and symlinking it.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.storePaths.*.dlopen.features
Features to enable via dlopen ELF notes. These will be in addition to anything included via ‘usePriority’, regardless of their priority.
Type: list of (optionally newline-terminated) single-line string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.storePaths.*.dlopen.usePriority
Priority of dlopen ELF notes to include. “required” is minimal, “recommended” includes “required”, and “suggested” includes “recommended”.
See: https://systemd.io/ELF_DLOPEN_METADATA/
Type: one of “required”, “recommended”, “suggested”
Default:
"recommended"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.storePaths.*.source
Path of the source file.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.storePaths.*.target
Path of the symlink.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.suppressedStorePaths
Store paths specified in the storePaths option that should not be copied.
Type: list of (optionally newline-terminated) single-line string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.suppressedUnits
A list of units to skip when generating system systemd configuration directory. This has
priority over upstream units, boot.initrd.systemd.units, and
boot.initrd.systemd.additionalUpstreamUnits. The main purpose of this is to
prevent a upstream systemd unit from being added to the initrd with any modifications made to it
by other NixOS modules.
Type: list of string
Default:
[ ]
Example:
[
"systemd-backlight@.service"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.targets
Definition of systemd target units.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.timers
Definition of systemd timer units.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.tmpfiles.settings
Similar to systemd.tmpfiles.settings but the rules are
only applied by systemd-tmpfiles before initrd-switch-root.target.
See bootup(7).
Type: attribute set of attribute set of attribute set of (submodule)
Default:
{ }
Example:
{
"10-mypackage" = {
"/var/lib/my-service/statefolder" = {
d = {
group = "root";
mode = "0755";
user = "root";
};
};
};
}
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tmpfiles.nix>
|
boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.age
Delete a file when it reaches a certain age.
If a file or directory is older than the current time minus the age field, it is deleted.
If set to "-" no automatic clean-up is done.
Type: string
Default:
"-"
Example:
"10d"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tmpfiles.nix>
|
boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.argument
An argument whose meaning depends on the type of operation.
Please see the upstream documentation for the meaning of this parameter in different situations: tmpfiles.d(5)
Type: string
Default:
""
Example:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tmpfiles.nix>
|
boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.group
The group of the file.
This may either be a numeric ID or a user/group name.
If omitted or when set to "-", the user and group of the user who
invokes systemd-tmpfiles is used.
Type: string
Default:
"-"
Example:
"root"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tmpfiles.nix>
|
boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.mode
The file access mode to use when creating this file or directory.
Type: string
Default:
"-"
Example:
"0755"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tmpfiles.nix>
|
boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.type
The type of operation to perform on the file.
The type consists of a single letter and optionally one or more modifier characters.
Please see the upstream documentation for the available types and more details: tmpfiles.d(5)
Type: string
Default:
"‹tmpfiles-type›"
Example:
"d"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tmpfiles.nix>
|
boot.initrd.systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.user
The user of the file.
This may either be a numeric ID or a user/group name.
If omitted or when set to "-", the user and group of the user who
invokes systemd-tmpfiles is used.
Type: string
Default:
"-"
Example:
"root"
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tmpfiles.nix>
|
boot.initrd.systemd.tpm2.enable
Whether to enable systemd initrd TPM2 support.
Type: boolean
Default:
"boot.initrd.systemd.package.withTpm2Units"
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tpm2.nix>
|
boot.initrd.systemd.tpm2.pcrphases.enable
Whether to enable systemd initrd boot phase measurements.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/tpm2.nix>
|
boot.initrd.systemd.units
Definition of systemd units.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/systemd/initrd.nix>
|
boot.initrd.systemd.users
Users to include in initrd.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/config/users-groups.nix>
|
boot.initrd.systemd.users.<name>.group
Group the user belongs to in initrd.
Type: (optionally newline-terminated) single-line string
Default:
config.users.users.${name}.group
Declared by:
<nixpkgs/nixos/modules/config/users-groups.nix>
|
boot.initrd.systemd.users.<name>.shell
The path to the user’s shell in initrd.
Type: absolute path, not containing newlines or colons
Default:
${pkgs.shadow}/bin/nologin
Declared by:
<nixpkgs/nixos/modules/config/users-groups.nix>
|
boot.initrd.systemd.users.<name>.uid
ID of the user in initrd.
Type: signed integer
Default:
config.users.users.${name}.uid
Declared by:
<nixpkgs/nixos/modules/config/users-groups.nix>
|
boot.initrd.unl0kr.enable
Whether to enable the unl0kr on-screen keyboard in initrd to unlock LUKS.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/unl0kr.nix>
|
boot.initrd.unl0kr.package
The buffybox package to use.
Type: package
Default:
pkgs.buffybox
Declared by:
<nixpkgs/nixos/modules/system/boot/unl0kr.nix>
|
boot.initrd.unl0kr.allowVendorDrivers
Whether to load additional drivers for certain vendors (I.E: Wacom, Intel, etc.)
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/unl0kr.nix>
|
boot.initrd.unl0kr.settings
Configuration for unl0kr.
See unl0kr.conf(5) for supported values.
Alternatively, visit https://gitlab.postmarketos.org/postmarketOS/buffybox/-/blob/3.2.0/unl0kr/unl0kr.conf
Type: open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Example:
{
general.animations = true;
general.backend = "drm";
theme = {
default = "pmos-dark";
alternate = "pmos-light";
};
}
Declared by:
<nixpkgs/nixos/modules/system/boot/unl0kr.nix>
|
boot.initrd.verbose
Verbosity of the initrd. Please note that disabling verbosity removes only the mandatory messages generated by the NixOS scripts. For a completely silent boot, you might also want to set the two following configuration options:
boot.consoleLogLevel = 0;
boot.kernelParams = [ "quiet" "udev.log_level=3" ];
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.isContainer
Whether this NixOS machine is a lightweight container running in another NixOS system.
Type: boolean
Default:
"config.boot.isNspawnContainer"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
boot.isNspawnContainer
Whether the machine is running in an nspawn container. This
option is added because boot.isContainer is heavily used
for non-nspawn environments as well, hence nspawn-specific settings
are guarded by this option.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
boot.iscsi-initiator.discoverPortal
iSCSI portal to boot from.
Type: null or string
Default:
null
Example:
"192.168.1.1:3260"
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.iscsi-initiator.extraConfig
Extra lines to append to /etc/iscsid.conf
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.iscsi-initiator.extraConfigFile
Append an additional file’s contents to /etc/iscsid.conf. Use a non-store path
and store passwords in this file. Note: the file specified here must be available
in the initrd, see: boot.initrd.secrets.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.iscsi-initiator.extraIscsiCommands
Extra iscsi commands to run in the initrd.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.iscsi-initiator.logLevel
Higher numbers elicits more logs.
Type: signed integer
Default:
1
Example:
8
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.iscsi-initiator.loginAll
Do not log into a specific target on the portal, but to all that we discover. This overrides setting target.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.iscsi-initiator.name
Name of the iSCSI initiator to boot from. Note, booting from iscsi requires networkd based networking.
Type: null or string
Default:
null
Example:
"iqn.2020-08.org.linux-iscsi.initiatorhost:example"
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.iscsi-initiator.target
Name of the iSCSI target to boot from.
Type: null or string
Default:
null
Example:
"iqn.2020-08.org.linux-iscsi.targethost:example"
Declared by:
<nixpkgs/nixos/modules/services/networking/iscsi/root-initiator.nix>
|
boot.kernel.enable
Whether to enable the Linux kernel. This is useful for systemd-like containers which do not require a kernel.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.kernel.randstructSeed
Provides a custom seed for the RANDSTRUCT security
option of the Linux kernel. Note that RANDSTRUCT is
only enabled in NixOS hardened kernels. Using a custom seed requires
building the kernel and dependent packages locally, since this
customization happens at build time.
Type: string
Default:
""
Example:
"my secret seed"
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.kernel.sysctl
Runtime parameters of the Linux kernel, as set by
sysctl(8). Note that sysctl
parameters names must be enclosed in quotes
(e.g. "vm.swappiness" instead of
vm.swappiness). The value of each
parameter may be a string, integer, boolean, or null
(signifying the option will not appear at all).
Type: open submodule of attribute set of (sysctl option value)
Default:
{ }
Example:
{ "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; }
Declared by:
<nixpkgs/nixos/modules/config/sysctl.nix>
|
boot.kernel.sysctl."net.core.rmem_max"
The maximum receive socket buffer size in bytes. In case of conflicting values, the highest will be used.
Type: null or (unsigned integer, meaning >=0)
Default:
null
Declared by:
<nixpkgs/nixos/modules/config/sysctl.nix>
|
boot.kernel.sysctl."net.core.wmem_max"
The maximum send socket buffer size in bytes. In case of conflicting values, the highest will be used.
Type: null or (unsigned integer, meaning >=0)
Default:
null
Declared by:
<nixpkgs/nixos/modules/config/sysctl.nix>
|
boot.kernel.sysfs
sysfs attributes to be set as soon as they become available.
Attribute names represent path components in the sysfs filesystem and
cannot be . or .. nor contain any slash character (/).
Names may contain shell‐style glob patterns (*, ? and […])
matching a single path component, these should however be used with
caution, as they may produce unexpected results if attribute paths
overlap.
Values will be converted to strings, with list elements concatenated
with commata and booleans converted to numeric values (0 or 1).
null values are ignored, allowing removal of values defined in other
modules, as are empty attribute sets.
List values defined in different modules will not be concatenated.
This option may only be used for attributes which can be set idempotently, as the configured values might be written more than once.
Type: open submodule of nested attribute set of null or sysfs attribute values
Default:
{ }
Example:
{
# enable transparent hugepages with deferred defragmentaion
kernel.mm.transparent_hugepage = {
enabled = "always";
defrag = "defer";
shmem_enabled = "within_size";
};
devices.system.cpu = {
# configure powesave frequency governor for all CPUs
# the [0-9]* glob pattern ensures that other paths
# like cpufreq or cpuidle are not matched
"cpu[0-9]*" = {
scaling_governor = "powersave";
energy_performance_preference = 8;
};
# disable frequency boost
intel_pstate.no_turbo = true;
};
}
Declared by:
<nixpkgs/nixos/modules/config/sysfs.nix>
|
boot.kernelModules
The set of kernel modules to be loaded in the second stage of
the boot process. Note that modules that are needed to
mount the root file system should be added to
boot.initrd.availableKernelModules or
boot.initrd.kernelModules.
This can either be a list of modules, or an attrset. In an
attrset, names that are set to true represent modules that will
be included. Note that setting these names to false does not
prevent the module from being loaded. For that, use
boot.blacklistedKernelModules.
Type: (attribute set of boolean) or (list of string) convertible to it
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.kernelPackages
This option allows you to override the Linux kernel used by
NixOS. Since things like external kernel module packages are
tied to the kernel you’re using, it also overrides those.
This option is a function that takes Nixpkgs as an argument
(as a convenience), and returns an attribute set containing at
the very least an attribute kernel.
Additional attributes may be needed depending on your
configuration. For instance, if you use the NVIDIA X driver,
then it also needs to contain an attribute
nvidia_x11.
Please note that we strictly support kernel versions that are maintained by the Linux developers only. More information on the availability of kernel versions is documented in the Linux section of the manual.
Type: raw value
Default:
pkgs.linuxPackages
Example:
pkgs.linuxKernel.packages.linux_5_10
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.kernelParams
Parameters added to the kernel command line.
Type: list of string, with spaces inside double quotes
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.kernelPatches
A list of additional patches to apply to the kernel.
Every item should be an attribute set with the following attributes:
{
name = "foo"; # descriptive name, required
patch = ./foo.patch; # path or derivation that contains the patch source
# (required, but can be null if only config changes
# are needed)
structuredExtraConfig = { # attrset of extra configuration parameters without the CONFIG_ prefix
FOO = lib.kernel.yes; # (optional)
}; # values should generally be lib.kernel.yes,
# lib.kernel.no or lib.kernel.module
features = { # attrset of extra "features" the kernel is considered to have
foo = true; # (may be checked by other NixOS modules, optional)
};
extraConfig = "FOO y"; # extra configuration options in string form without the CONFIG_ prefix
# (optional, multiple lines allowed to specify multiple options)
# (deprecated, use structuredExtraConfig instead)
}
There’s a small set of existing kernel patches in Nixpkgs, available as pkgs.kernelPatches,
that follow this format and can be used directly.
Type: list of (attribute set)
Default:
[ ]
Example:
[
{
name = "foo";
patch = ./foo.patch;
structuredExtraConfig.FOO = lib.kernel.yes;
features.foo = true;
}
{
name = "foo-ml-mbox";
patch = (fetchurl {
url = "https://lore.kernel.org/lkml/19700205182810.58382-1-email@domain/t.mbox.gz";
hash = "sha256-...";
});
}
]
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.kexec.enable
Whether to enable kexec.
Type: boolean
Default:
lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.kexec-tools
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/kexec.nix>
|
boot.loader.efi.canTouchEfiVariables
Whether the installation process is allowed to modify EFI boot variables.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/efi.nix>
|
boot.loader.efi.efiSysMountPoint
Where the EFI System Partition is mounted.
Type: string
Default:
"/boot"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/efi.nix>
|
boot.loader.external.enable
Whether to enable using an external tool to install your bootloader.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/external/external.nix>
|
boot.loader.external.installHook
The full path to a program of your choosing which performs the bootloader installation process.
The program will be called with an argument pointing to the output of the system’s toplevel.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/external/external.nix>
|
boot.loader.generationsDir.enable
Whether to create symlinks to the system generations under
/boot. When enabled,
/boot/default/kernel,
/boot/default/initrd, etc., are updated to
point to the current generation’s kernel image, initial RAM
disk, and other bootstrap files.
This optional is not necessary with boot loaders such as GNU GRUB for which the menu is updated to point to the latest bootstrap files. However, it is needed for U-Boot on platforms where the boot command line is stored in flash memory rather than in a menu file.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix>
|
boot.loader.generationsDir.copyKernels
Whether to copy the necessary boot files into /boot, so /nix/store is not needed by the boot loader.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix>
|
boot.loader.generic-extlinux-compatible.enable
Whether to generate an extlinux-compatible configuration file
under /boot/extlinux.conf. For instance,
U-Boot’s generic distro boot support uses this file format.
See U-boot’s documentation for more information.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible>
|
boot.loader.generic-extlinux-compatible.configurationLimit
Maximum number of configurations in the boot menu.
Type: signed integer
Default:
20
Example:
10
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible>
|
boot.loader.generic-extlinux-compatible.mirroredBoots
Mirror the boot configuration to multiple paths.
Type: list of (submodule)
Default:
[
{
path = "/boot";
}
]
Example:
[
{
path = "/boot1";
}
{
path = "/boot2";
}
]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible>
|
boot.loader.generic-extlinux-compatible.mirroredBoots.*.path
The path to the boot directory where the extlinux-compatible configuration files will be written.
Type: string
Example:
"/boot1"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible>
|
boot.loader.generic-extlinux-compatible.populateCmd
Contains the builder command used to populate an image,
honoring all options except the -c <path-to-default-configuration>
argument.
Useful to have for sdImage.populateRootCommands
Type: string (read only)
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible>
|
boot.loader.generic-extlinux-compatible.useGenerationDeviceTree
Whether to generate Device Tree-related directives in the extlinux configuration.
When enabled, the bootloader will attempt to load the device tree binaries from the generation’s kernel.
Note that this affects all generations, regardless of the setting value used in their configurations.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible>
|
boot.loader.grub.enable
Whether to enable the GNU GRUB boot loader.
Type: boolean
Default:
!config.boot.isContainer
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.enableCryptodisk
Enable support for encrypted partitions. GRUB should automatically unlock the correct encrypted partition and look for filesystems.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.backgroundColor
Background color to be used for GRUB to fill the areas the image isn’t filling.
Type: null or string
Default:
null
Example:
"#7EBAE4"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.configurationLimit
Maximum of configurations in boot menu. GRUB has problems when there are too many entries.
Type: signed integer
Default:
100
Example:
120
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.configurationName
GRUB entry name instead of default.
Type: string
Default:
""
Example:
"Stable 2.6.21"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.copyKernels
Whether the GRUB menu builder should copy kernels and initial ramdisks to /boot. This is done automatically if /boot is on a different partition than /.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.default
Index of the default menu item to be booted. Can also be set to “saved”, which will make GRUB select the menu item that was used at the last boot.
Type: signed integer or string
Default:
"0"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.device
The device on which the GRUB boot loader will be installed.
The special value nodev means that a GRUB
boot menu will be generated, but GRUB itself will not
actually be installed. To install GRUB on multiple devices,
use boot.loader.grub.devices.
Type: string
Default:
""
Example:
"/dev/disk/by-id/wwn-0x500001234567890a"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.devices
The devices on which the boot loader, GRUB, will be
installed. Can be used instead of device to
install GRUB onto multiple devices.
Type: list of string
Default:
[ ]
Example:
[
"/dev/disk/by-id/wwn-0x500001234567890a"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.efiInstallAsRemovable
Whether to invoke grub-install with
--removable.
Unless you turn this on, GRUB will install itself somewhere in
boot.loader.efi.efiSysMountPoint (exactly where
depends on other config variables). If you’ve set
boot.loader.efi.canTouchEfiVariables AND you
are currently booted in UEFI mode, then GRUB will use
efibootmgr to modify the boot order in the
EFI variables of your firmware to include this location. If you are
not booted in UEFI mode at the time GRUB is being installed, the
NVRAM will not be modified, and your system will not find GRUB at
boot time. However, GRUB will still return success so you may miss
the warning that gets printed (“efibootmgr: EFI variables are not supported on this system.”).
If you turn this feature on, GRUB will install itself in a
special location within efiSysMountPoint (namely
EFI/boot/boot$arch.efi) which the firmwares
are hardcoded to try first, regardless of NVRAM EFI variables.
To summarize, turn this on if:
You are installing NixOS and want it to boot in UEFI mode, but you are currently booted in legacy mode
You want to make a drive that will boot regardless of the NVRAM state of the computer (like a USB “removable” drive)
You simply dislike the idea of depending on NVRAM state to make your drive bootable
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.efiSupport
Whether GRUB should be built with EFI support.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.entryOptions
Options applied to the primary NixOS menu entry.
Type: null or string
Default:
"--class nixos --unrestricted"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraConfig
Additional GRUB commands inserted in the configuration file just before the menu entries.
Type: strings concatenated with “\n”
Default:
""
Example:
''
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal_input --append serial
terminal_output --append serial
''
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraEntries
Any additional entries you want added to the GRUB boot menu.
Type: strings concatenated with “\n”
Default:
""
Example:
''
# GRUB 2 example
menuentry "Windows 7" {
chainloader (hd0,4)+1
}
# GRUB 2 with UEFI example, chainloading another distro
menuentry "Fedora" {
set root=(hd1,1)
chainloader /efi/fedora/grubx64.efi
}
''
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraEntriesBeforeNixOS
Whether extraEntries are included before the default option.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraFiles
A set of files to be copied to /boot.
Each attribute name denotes the destination file name in
/boot, while the corresponding
attribute value specifies the source file.
Type: attribute set of absolute path
Default:
{ }
Example:
{ "memtest.bin" = pkgs.memtest86plus.efi; }
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraGrubInstallArgs
Additional arguments passed to grub-install.
A use case for this is to build specific GRUB2 modules
directly into the GRUB2 kernel image, so that they are available
and activated even in the grub rescue shell.
They are also necessary when the BIOS/UEFI is bugged and cannot
correctly read large disks (e.g. above 2 TB), so GRUB2’s own
nativedisk and related modules can be used
to use its own disk drivers. The example shows one such case.
This is also useful for booting from USB.
See the
GRUB source code
for which disk modules are available.
The list elements are passed directly as argv
arguments to the grub-install program, in order.
Type: list of string
Default:
[ ]
Example:
[
"--modules=nativedisk ahci pata part_gpt part_msdos diskfilter mdraid1x lvm ext2"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraInstallCommands
Additional shell commands inserted in the bootloader installer script after generating menu entries.
Type: strings concatenated with “\n”
Default:
""
Example:
''
# the example below generates detached signatures that GRUB can verify
# https://www.gnu.org/software/grub/manual/grub/grub.html#Using-digital-signatures
''${pkgs.findutils}/bin/find /boot -not -path "/boot/efi/*" -type f -name '*.sig' -delete
old_gpg_home=$GNUPGHOME
export GNUPGHOME="$(mktemp -d)"
''${pkgs.gnupg}/bin/gpg --import ''${priv_key} > /dev/null 2>&1
''${pkgs.findutils}/bin/find /boot -not -path "/boot/efi/*" -type f -exec ''${pkgs.gnupg}/bin/gpg --detach-sign "{}" \; > /dev/null 2>&1
rm -rf $GNUPGHOME
export GNUPGHOME=$old_gpg_home
''
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraPerEntryConfig
Additional GRUB commands inserted in the configuration file at the start of each NixOS menu entry.
Type: strings concatenated with “\n”
Default:
""
Example:
"root (hd0)"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.extraPrepareConfig
Additional bash commands to be run at the script that prepares the GRUB menu entries.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.font
Path to a TrueType, OpenType, or pf2 font to be used by Grub.
Type: null or absolute path
Default:
"${pkgs.grub2}/share/grub/unicode.pf2"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.fontSize
Font size for the grub menu. Ignored unless font
is set to a ttf or otf font.
Type: null or signed integer
Default:
null
Example:
16
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.forceInstall
Whether to try and forcibly install GRUB even if problems are detected. It is not recommended to enable this unless you know what you are doing.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.forcei686
Whether to force the use of a ia32 boot loader on x64 systems. Required to install and run NixOS on 64bit x86 systems with 32bit (U)EFI.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.fsIdentifier
Determines how GRUB will identify devices when generating the configuration file. A value of uuid / label signifies that grub will always resolve the uuid or label of the device before using it in the configuration. A value of provided means that GRUB will use the device name as show in df or mount. Note, zfs zpools / datasets are ignored and will always be mounted using their labels.
Type: one of “uuid”, “label”, “provided”
Default:
"uuid"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.gfxmodeBios
The gfxmode to pass to GRUB when loading a graphical boot interface under BIOS.
Type: string
Default:
"1024x768"
Example:
"auto"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.gfxmodeEfi
The gfxmode to pass to GRUB when loading a graphical boot interface under EFI.
Type: string
Default:
"auto"
Example:
"1024x768"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.gfxpayloadBios
The gfxpayload to pass to GRUB when loading a graphical boot interface under BIOS.
Type: string
Default:
"text"
Example:
"keep"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.gfxpayloadEfi
The gfxpayload to pass to GRUB when loading a graphical boot interface under EFI.
Type: string
Default:
"keep"
Example:
"text"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.ipxe
Set of iPXE scripts available for booting from the GRUB boot menu.
Type: attribute set of (absolute path or string)
Default:
{ }
Example:
{ demo = ''
#!ipxe
dhcp
chain http://boot.ipxe.org/demo/boot.php
'';
}
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/ipxe.nix>
|
boot.loader.grub.memtest86.enable
Make Memtest86+, a memory testing program, available from the GRUB boot menu.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/memtest.nix>
|
boot.loader.grub.memtest86.params
Parameters added to the Memtest86+ command line. As of memtest86+ 5.01 the following list of (apparently undocumented) parameters are accepted:
console=..., set up a serial console.
Examples:
console=ttyS0,
console=ttyS0,9600 or
console=ttyS0,115200n8.
btrace, enable boot trace.
maxcpus=N, limit number of CPUs.
onepass, run one pass and exit if there
are no errors.
tstlist=..., list of tests to run.
Example: 0,1,2.
cpumask=..., set a CPU mask, to select CPUs
to use for testing.
This list of command line options was obtained by reading the Memtest86+ source code.
Type: list of string
Default:
[ ]
Example:
[
"console=ttyS0,115200"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/memtest.nix>
|
boot.loader.grub.mirroredBoots
Mirror the boot configuration to multiple partitions and install grub to the respective devices corresponding to those partitions.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
devices = [
"/dev/disk/by-id/wwn-0x500001234567890a"
];
path = "/boot1";
}
{
devices = [
"/dev/disk/by-id/wwn-0x500009876543210a"
];
path = "/boot2";
}
]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.mirroredBoots.*.devices
The path to the devices which will have the GRUB MBR written. Note these are typically device paths and not paths to partitions.
Type: list of string
Default:
[ ]
Example:
[
"/dev/disk/by-id/wwn-0x500001234567890a"
"/dev/disk/by-id/wwn-0x500009876543210a"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.mirroredBoots.*.efiBootloaderId
The id of the bootloader to store in efi nvram.
The default is to name it NixOS and append the path or efiSysMountPoint.
This is only used if boot.loader.efi.canTouchEfiVariables is true.
Type: null or string
Default:
null
Example:
"NixOS-fsid"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.mirroredBoots.*.efiSysMountPoint
The path to the efi system mount point. Usually this is the same partition as the above path and can be left as null.
Type: null or string
Default:
null
Example:
"/boot1/efi"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.mirroredBoots.*.path
The path to the boot directory where GRUB will be written. Generally this boot path should double as an EFI path.
Type: string
Example:
"/boot1"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.splashImage
Background image used for GRUB.
Set to null to run GRUB in text mode.
File must be one of .png, .tga, .jpg, or .jpeg. JPEG images must not be progressive. The image will be scaled if necessary to fit the screen.
Type: null or absolute path
Default:
null
Example:
./my-background.png
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.splashMode
Whether to stretch the image or show the image in the top-left corner unstretched.
Type: one of “normal”, “stretch”
Default:
"stretch"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.storePath
Path to the Nix store when looking for kernels at boot. Only makes sense when copyKernels is false.
Type: string
Default:
"/nix/store"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.subEntryOptions
Options applied to the secondary NixOS submenu entry.
Type: null or string
Default:
"--class nixos"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.theme
Path to the grub theme to be used.
Type: null or absolute path
Default:
null
Example:
"${pkgs.kdePackages.breeze-grub}/grub/themes/breeze"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.timeoutStyle
menu shows the menu.
countdown uses a text-mode countdown.
hidden hides GRUB entirely.
When using a theme, the default value (menu) is appropriate for the graphical countdown.
When attempting to do flicker-free boot, hidden should be used.
See the GRUB documentation section about timeout_style.
If this option is set to ‘countdown’ or ‘hidden’ […] and ESC or F4 are pressed, or SHIFT is held down during that time, it will display the menu and wait for input.
From: Simple configuration handling page, under GRUB_TIMEOUT_STYLE.
Type: one of “menu”, “countdown”, “hidden”
Default:
"menu"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.useOSProber
If set to true, append entries for other OSs detected by os-prober.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.users
User accounts for GRUB. When specified, the GRUB command line and all boot options except the default are password-protected. All passwords and hashes provided will be stored in /boot/grub/grub.cfg, and will be visible to any local user who can read this file. Additionally, any passwords and hashes provided directly in a Nix configuration (as opposed to external files) will be copied into the Nix store, and will be visible to all local users.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
root = {
hashedPasswordFile = "/path/to/file";
};
}
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.users.<name>.hashedPassword
Specifies the password hash for the account, generated with grub-mkpasswd-pbkdf2. This hash will be copied to the Nix store, and will be visible to all local users.
Type: null or string
Default:
null
Example:
"grub.pbkdf2.sha512.10000.674DFFDEF76E13EA...2CC972B102CF4355"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.users.<name>.hashedPasswordFile
Specifies the path to a file containing the password hash for the account, generated with grub-mkpasswd-pbkdf2. This hash will be stored in /boot/grub/grub.cfg, and will be visible to any local user who can read this file.
Type: null or string
Default:
null
Example:
"/path/to/file"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.users.<name>.password
Specifies the clear text password for the account. This password will be copied to the Nix store, and will be visible to all local users.
Type: null or string
Default:
null
Example:
"Pa$$w0rd!"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.users.<name>.passwordFile
Specifies the path to a file containing the clear text password for the account. This password will be stored in /boot/grub/grub.cfg, and will be visible to any local user who can read this file.
Type: null or string
Default:
null
Example:
"/path/to/file"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.grub.zfsSupport
Whether GRUB should be built against libzfs.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix>
|
boot.loader.initScript.enable
Some systems require a /sbin/init script which is started. Or having it makes starting NixOS easier. This applies to some kind of hosting services and user mode linux.
Additionally this script will create /boot/init-other-configurations-contents.txt containing contents of remaining configurations. You can copy paste them into /sbin/init manually running a rescue system or such.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/init-script/init-script.nix>
|
boot.loader.limine.enable
Whether to enable the Limine Bootloader.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.enableEditor
Whether to allow editing the boot entries before booting them.
It is recommended to set this to false, as it allows gaining root
access by passing init=/bin/sh as a kernel parameter.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.package
The limine package to use.
Type: package
Default:
pkgs.limine
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.additionalFiles
A set of files to be copied to /boot. Each attribute name denotes the
destination file name in /boot, while the corresponding attribute value
specifies the source file.
Type: attribute set of absolute path
Default:
{ }
Example:
{ "efi/memtest86/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi"; }
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.biosDevice
Device to install the BIOS version of limine on.
Type: string
Default:
"nodev"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.biosSupport
Whether or not to install limine for BIOS.
Type: boolean
Default:
!config.boot.loader.limine.efiSupport && pkgs.stdenv.hostPlatform.isx86
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.efiInstallAsRemovable
Whether or not to install the limine EFI files as removable.
See boot.loader.grub.efiInstallAsRemovable
Type: boolean
Default:
!config.boot.loader.efi.canTouchEfiVariables
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.efiSupport
Whether or not to install the limine EFI files.
Type: boolean
Default:
pkgs.stdenv.hostPlatform.isEfi
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.enrollConfig
Whether or not to enroll the config. Only works on EFI!
Type: boolean
Default:
boot.loader.limine.panicOnChecksumMismatch
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.extraConfig
A string which is prepended to limine.conf. The config format can be found here.
Type: strings concatenated with “\n”
Default:
""
Example:
serial: yes
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.extraEntries
A string which is appended to the end of limine.conf. The config format can be found here.
Type: strings concatenated with “\n”
Default:
""
Example:
/memtest86
protocol: chainload
path: boot():///efi/memtest86/memtest86.efi
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.force
Force installation even if the safety checks fail, use absolutely only if necessary!
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.maxGenerations
Maximum number of latest generations in the boot menu.
Useful to prevent boot partition of running out of disk space.
null means no limit i.e. all generations that were not
garbage collected yet.
Type: null or signed integer
Default:
null
Example:
50
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.panicOnChecksumMismatch
Whether or not checksum validation failure should be a fatal error at boot time.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.partitionIndex
The 1-based index of the dedicated partition for limine’s second stage.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.resolution
The framebuffer resolution to set when booting Linux entries. This controls the GOP mode that Limine sets before handing off to the kernel, which affects early boot graphics (e.g., simpledrm, efifb).
Format: <width>x<height> or <width>x<height>x<bpp>.
If bpp is omitted, defaults to 32.
Note: Refresh rate is not supported because the UEFI GOP protocol only defines framebuffer dimensions and pixel format, not display timing. Refresh rate is determined later by the GPU driver based on EDID.
This is distinct from boot.loader.limine.style.interface.resolution
which only affects the Limine bootloader’s own menu interface.
Type: null or string
Default:
null
Example:
"1920x1080x32"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.secureBoot.enable
Whether to use sign the limine binary with sbctl.
This requires you to already have generated the keys and enrolled them with sbctl.
To create keys use sbctl create-keys.
To enroll them first reset secure boot to “Setup Mode”. This is device specific. Then enroll them using sbctl enroll-keys -m -f.
You can now rebuild your system with this option enabled.
Afterwards turn setup mode off and enable secure boot.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.secureBoot.autoEnrollKeys.enable
Enroll automatically generated keys
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.secureBoot.autoEnrollKeys.extraArgs
Extra arguments passed to sbctl
Type: list of string
Default:
[
"--microsoft"
"--firmware-builtin"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.secureBoot.autoGenerateKeys
Generate keys automatically when none exists during bootloader installation
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.secureBoot.sbctl
The sbctl package to use.
Type: package
Default:
pkgs.sbctl
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.backdrop
Color to fill the rest of the screen with when wallpaper_style is centered in RRGGBB format.
Type: null or string
Default:
null
Example:
"7EBAE4"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.background
Text background color (TTRRGGBB). TT is transparency.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.brightBackground
Text background bright color (RRGGBB).
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.brightForeground
Text foreground bright color (RRGGBB).
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.brightPalette
A ; seperated array of 8 colors in the format RRGGBB: dark gray, bright red, bright green, yellow, bright blue, bright magenta, bright cyan, and white.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.font.scale
The scale of the font in the format <width>x<height>.
Type: null or string
Default:
null
Example:
2x2
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.font.spacing
The horizontal spacing between characters in pixels.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.foreground
Text foreground color (RRGGBB).
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.margin
The amount of margin around the terminal.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.marginGradient
The thickness in pixels for the margin around the terminal.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.graphicalTerminal.palette
A ; seperated array of 8 colors in the format RRGGBB: black, red, green, brown, blue, magenta, cyan, and gray.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.interface.branding
The title at the top of the screen.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.interface.brandingColor
Color of the title at the top of the screen in RRGGBB format (Limine defaults to #00AAAA (cyan)).
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.interface.helpColor
Color of the help text displayed beside keybinds in RRGGBB format (Limine defaults to #00AA00 (dark green)).
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.interface.helpColorBright
Color of the bright help text used for the auto-boot countdown digit in RRGGBB format (Limine defaults to #55FF55 (bright green)).
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.interface.helpHidden
Whether or not to hide the keybinds at the top of the screen.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.interface.resolution
The resolution of the interface.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.wallpaperStyle
How the wallpaper should be fit to the screen.
Type: one of “centered”, “stretched”, “tiled”
Default:
"stretched"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.style.wallpapers
A list of wallpapers. If more than one is specified, a random one will be selected at boot.
Type: list of absolute path
Default:
[ ]
Example:
[ pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath ]
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.limine.validateChecksums
Whether to validate file checksums before booting.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/limine/limine.nix>
|
boot.loader.refind.enable
Whether to enable the rEFInd boot loader.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/refind/refind.nix>
|
boot.loader.refind.package
The refind package to use.
Type: package
Default:
pkgs.refind
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/refind/refind.nix>
|
boot.loader.refind.additionalFiles
A set of files to be copied to /boot. Each attribute name denotes the
destination file name in /boot, while the corresponding attribute value
specifies the source file.
Type: attribute set of absolute path
Default:
{ }
Example:
{ "efi/memtest86/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi"; }
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/refind/refind.nix>
|
boot.loader.refind.efiInstallAsRemovable
Whether or not to install the rEFInd EFI files as removable.
See boot.loader.grub.efiInstallAsRemovable
Type: boolean
Default:
!config.boot.loader.efi.canTouchEfiVariables
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/refind/refind.nix>
|
boot.loader.refind.extraConfig
A string which is prepended to refind.conf.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/refind/refind.nix>
|
boot.loader.refind.maxGenerations
Maximum number of latest generations in the boot menu.
Useful to prevent boot partition of running out of disk space.
null means no limit i.e. all generations that were not
garbage collected yet.
Type: null or signed integer
Default:
null
Example:
50
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/refind/refind.nix>
|
boot.loader.systemd-boot.enable
Whether to enable the systemd-boot (formerly gummiboot) EFI boot manager. For more information about systemd-boot: https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.configurationLimit
Maximum number of latest generations in the boot menu. Useful to prevent boot partition running out of disk space.
null means no limit i.e. all generations
that have not been garbage collected yet.
Type: null or signed integer
Default:
null
Example:
120
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.consoleMode
The resolution of the console. The following values are valid:
"0": Standard UEFI 80x25 mode
"1": 80x50 mode, not supported by all devices
"2": The first non-standard mode provided by the device firmware, if any
"5": Applicable for SteamDeck where this mode represent horizontal mode
"auto": Pick a suitable mode automatically using heuristics
"max": Pick the highest-numbered available mode
"keep": Keep the mode selected by firmware (the default)
Type: one of “0”, “1”, “2”, “5”, “auto”, “max”, “keep”
Default:
"keep"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.editor
Whether to allow editing the kernel command-line before boot. It is recommended to set this to false, as it allows gaining root access by passing init=/bin/sh as a kernel parameter. However, it is enabled by default for backwards compatibility.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.edk2-uefi-shell.enable
Make the EDK2 UEFI Shell available from the systemd-boot menu. It can be used to manually boot other operating systems or for debugging.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.edk2-uefi-shell.sortKey
systemd-boot orders the menu entries by their sort keys,
so if you want something to appear after all the NixOS entries,
it should start with o or onwards.
See also boot.loader.systemd-boot.sortKey…
Type: string
Default:
"o_edk2-uefi-shell"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.extraEntries
Any additional entries you want added to the systemd-boot menu.
These entries will be copied to $BOOT/loader/entries.
Each attribute name denotes the destination file name,
and the corresponding attribute value is the contents of the entry.
To control the ordering of the entry in the boot menu, use the sort-key
field, see
https://uapi-group.org/specifications/specs/boot_loader_specification/#sorting
and boot.loader.systemd-boot.sortKey.
Type: attribute set of strings concatenated with “\n”
Default:
{ }
Example:
{ "memtest86.conf" = ''
title Memtest86+
efi /efi/memtest86/memtest.efi
sort-key z_memtest
''; }
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.extraFiles
A set of files to be copied to $BOOT.
Each attribute name denotes the destination file name in
$BOOT, while the corresponding
attribute value specifies the source file.
Type: attribute set of absolute path
Default:
{ }
Example:
{ "efi/memtest86/memtest.efi" = pkgs.memtest86plus.efi; }
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.extraInstallCommands
Additional shell commands inserted in the bootloader installer
script after generating menu entries. It can be used to expand
on extra boot entries that cannot incorporate certain pieces of
information (such as the resulting init= kernel parameter).
Type: strings concatenated with “\n”
Default:
""
Example:
''
default_cfg=$(cat /boot/loader/loader.conf | grep default | awk '{print $2}')
init_value=$(cat /boot/loader/entries/$default_cfg | grep init= | awk '{print $2}')
sed -i "s|@INIT@|$init_value|g" /boot/custom/config_with_placeholder.conf
''
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.graceful
Invoke bootctl install with the --graceful option,
which ignores errors when EFI variables cannot be written or when the EFI System Partition
cannot be found. Currently only applies to random seed operations.
Only enable this option if systemd-boot otherwise fails to install, as the
scope or implication of the --graceful option may change in the future.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.installDeviceTree
Install the devicetree blob specified by config.hardware.deviceTree.name
to the ESP and instruct systemd-boot to pass this DTB to linux.
Type: unspecified value
Default:
"with config.hardware.deviceTree; enable && name != null"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.memtest86.enable
Make Memtest86+ available from the systemd-boot menu. Memtest86+ is a program for testing memory.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.memtest86.sortKey
systemd-boot orders the menu entries by their sort keys,
so if you want something to appear after all the NixOS entries,
it should start with o or onwards.
See also boot.loader.systemd-boot.sortKey.
Type: string
Default:
"o_memtest86"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.netbootxyz.enable
Make netboot.xyz available from the
systemd-boot menu. netboot.xyz
is a menu system that allows you to boot OS installers and
utilities over the network.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.netbootxyz.sortKey
systemd-boot orders the menu entries by their sort keys,
so if you want something to appear after all the NixOS entries,
it should start with o or onwards.
See also boot.loader.systemd-boot.sortKey.
Type: string
Default:
"o_netbootxyz"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.rebootForBitlocker
Enable EXPERIMENTAL BitLocker support.
Try to detect BitLocker encrypted drives along with an active TPM. If both are found and Windows Boot Manager is selected in the boot menu, set the “BootNext” EFI variable and restart the system. The firmware will then start Windows Boot Manager directly, leaving the TPM PCRs in expected states so that Windows can unseal the encryption key.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.sortKey
The sort key used for the NixOS bootloader entries. This key determines sorting relative to non-NixOS entries. See also https://uapi-group.org/specifications/specs/boot_loader_specification/#sorting
This option can also be used to control the sorting of NixOS specialisations.
By default, specialisations inherit the sort key of their parent generation and will have the same value for both the sort-key and the version (i.e. the generation number), systemd-boot will therefore sort them based on their file name, meaning that in your boot menu you will have each main generation directly followed by its specialisations sorted alphabetically by their names.
If you want a different ordering for a specialisation, you can override its sort-key which will cause the specialisation to be uncoupled from its parent generation. It will then be sorted by its new sort-key just like any other boot entry.
The sort-key is stored in the generation’s bootspec, which means that generations keep their sort-keys even if the original definition of the generation was removed from the NixOS configuration. It also means that updating the sort-key will only affect new generations, while old ones will keep the sort-key that they were originally built with.
Type: string
Default:
"nixos"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.windows
Make Windows bootable from systemd-boot. This option is not necessary when Windows and NixOS use the same EFI System Partition (ESP). In that case, Windows will automatically be detected by systemd-boot.
However, if Windows is installed on a separate drive or ESP, you can use this option to add a menu entry for each installation manually.
The attribute name is used for the title of the menu entry and internal file names.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
"10".efiDeviceHandle = "HD0c3";
"11-ame" = {
title = "Windows 11 Ameliorated Edition";
efiDeviceHandle = "HD0b1";
};
"11-home" = {
title = "Windows 11 Home";
efiDeviceHandle = "FS1";
sortKey = "z_windows";
};
}
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.windows.<name>.efiDeviceHandle
The device handle of the EFI System Partition (ESP) where the Windows bootloader is located. This is the device handle that the EDK2 UEFI Shell uses to load the bootloader.
To find this handle, follow these steps:
Set boot.loader.systemd-boot.edk2-uefi-shell.enable to true
Run nixos-rebuild boot
Reboot and select “EDK2 UEFI Shell” from the systemd-boot menu
Run map -c to list all consistent device handles
For each device handle (for example, HD0c1), run ls HD0c1:\EFI
If the output contains the directory Microsoft, you might have found the correct device handle
Run HD0c1:\EFI\Microsoft\Boot\Bootmgfw.efi to check if Windows boots correctly
If it does, this device handle is the one you need (in this example, HD0c1)
This option is required, there is no useful default.
Type: string
Example:
"HD1b3"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.windows.<name>.sortKey
systemd-boot orders the menu entries by their sort keys,
so if you want something to appear after all the NixOS entries,
it should start with o or onwards.
See also boot.loader.systemd-boot.sortKey…
Type: string
Default:
"attribute name of this entry, prefixed with \"o_windows_\""
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.windows.<name>.title
The title of the boot menu entry.
Type: string
Default:
"attribute name of this entry, prefixed with \"Windows \""
Example:
"Michaelsoft Binbows"
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.systemd-boot.xbootldrMountPoint
Where the XBOOTLDR partition is mounted.
If set, this partition will be used as $BOOT to store boot loader entries and extra files
instead of the EFI partition. As per the bootloader specification, it is recommended that
the EFI and XBOOTLDR partitions be mounted at /efi and /boot, respectively.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix>
|
boot.loader.timeout
Timeout (in seconds) until loader boots the default menu item. Use null if the loader menu should be displayed indefinitely.
Type: null or signed integer
Default:
5
Declared by:
<nixpkgs/nixos/modules/system/boot/loader/loader.nix>
|
boot.modprobeConfig.enable
Whether to enable modprobe config. This is useful for systems like containers which do not require a kernel.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/modprobe.nix>
|
boot.modprobeConfig.useUbuntuModuleBlacklist
Whether to enable Ubuntu distro’s module blacklist.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/modprobe.nix>
|
boot.nixStoreMountOpts
Defines the mount options used on a bind mount for the /nix/store.
This affects the whole system except the nix store daemon, which will undo the bind mount.
ro enforces immutability of the Nix store.
The store daemon should already not put device mappers or suid binaries in the store,
meaning nosuid and nodev enforce what should already be the case.
Type: list of non-empty string
Default:
[
"ro"
"nodev"
"nosuid"
]
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-2.nix>
|
boot.plymouth.enable
Whether to enable Plymouth boot splash screen.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth.nix>
|
boot.plymouth.package
The plymouth package to use.
Type: package
Default:
pkgs.plymouth.override {
systemd = config.boot.initrd.systemd.package;
}
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth.nix>
|
boot.plymouth.extraConfig
Literal string to append to configFile
and the config file generated by the plymouth module.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth.nix>
|
boot.plymouth.font
Font file made available for displaying text on the splash screen.
Type: absolute path
Default:
"${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf"
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth.nix>
|
boot.plymouth.logo
Logo which is displayed on the splash screen. Currently supports PNG file format only.
Type: absolute path
Default:
"${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png"
Example:
pkgs.fetchurl {
url = "https://nixos.org/logo/nixos-hires.png";
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
}
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth.nix>
|
boot.plymouth.theme
Splash screen theme.
Type: string
Default:
"bgrt"
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth.nix>
|
boot.plymouth.themePackages
Extra theme packages for plymouth.
Type: list of package
Default:
A NixOS branded variant of the breeze theme when
config.boot.plymouth.theme == "breeze", otherwise
[ ].
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth.nix>
|
boot.plymouth.tpm2-totp.enable
Whether to display a TOTP during boot using tpm2-totp and Plymouth.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth-tpm2-totp.nix>
|
boot.plymouth.tpm2-totp.package
The tpm2-totp package to use.
Type: package
Default:
pkgs.tpm2-totp-with-plymouth
Declared by:
<nixpkgs/nixos/modules/system/boot/plymouth-tpm2-totp.nix>
|
boot.postBootCommands
Shell commands to be executed just before systemd is started.
Type: strings concatenated with “\n”
Default:
""
Example:
"rm -f /var/log/messages"
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-2.nix>
|
boot.resumeDevice
Device for manual resume attempt during boot. This should be used primarily
if you want to resume from file. If left empty, the swap partitions are used.
Specify here the device where the file resides.
You should also use boot.kernelParams to specify
«resume_offset».
Type: string
Default:
""
Example:
"/dev/sda3"
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
boot.runSize
Size limit for the /run tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.
Type: string
Default:
"25%"
Example:
"256m"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.specialFileSystems.<name>.enable
Whether to enable the filesystem mount.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.specialFileSystems.<name>.depends
List of paths that should be mounted before this one. This filesystem’s
device and mountPoint are always
checked and do not need to be included explicitly. If a path is added
to this list, any other filesystem whose mount point is a parent of
the path will be mounted before this filesystem. The paths do not need
to actually be the mountPoint of some other filesystem.
This is useful for mounts which require keys and/or configuration files residing on another filesystem.
Type: list of string (with check: non-empty without trailing slash)
Default:
[ ]
Example:
[
"/persist"
]
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.specialFileSystems.<name>.device
The device as passed to mount.
This can be any of:
a filename of a block special device such as /dev/sdc3
a tag such as UUID=fdd68895-c307-4549-8c9c-90e44c71f5b7
(for bind mounts only) the source path
something else depending on the fsType. For example, nfs device may look like knuth.cwi.nl:/dir
This is called device in mount(8) and fs_spec in fstab(5).
Type: null or string (with check: non-empty)
Default:
null
Example:
"/dev/sda"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.specialFileSystems.<name>.fsType
Type of the file system.
This is the fstype passed to -t in the mount(8) command, and is called fs_vfstype in fstab(5).
Type: string (with check: non-empty)
Example:
"ext3"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.specialFileSystems.<name>.mountPoint
Location where the file system will be mounted.
This is called mountpoint in mount(8) and fs_file in fstab(5)
Type: string (with check: non-empty without trailing slash)
Default:
"‹name›"
Example:
"/mnt/usb"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.specialFileSystems.<name>.options
Options used to mount the file system.
This is called options in mount(8) and fs_mntops in fstab(5)
Some options that can be used for all mounts are documented in mount(8) under FILESYSTEM-INDEPENDENT MOUNT OPTIONS.
Options that systemd understands are documented in systemd.mount(5) under FSTAB.
Each filesystem supports additional options, see the docs for that filesystem.
Type: non-empty (list of string (with check: non-empty))
Default:
[
"defaults"
]
Example:
[
"data=journal"
]
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.specialFileSystems.<name>.stratis.poolUuid
UUID of the stratis pool that the fs is located in
This is only relevant if you are using stratis.
Type: null or string
Default:
null
Example:
"04c68063-90a5-4235-b9dd-6180098a20d9"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.stage2Greeting
The greeting message displayed during NixOS stage 2 boot.
Type: string
Default:
"<<< ${config.system.nixos.distroName} Stage 2 >>>"
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-2.nix>
|
boot.supportedFilesystems
Names of supported filesystem types, or an attribute set of file system types
and their state. The set form may be used together with lib.mkForce to
explicitly disable support for specific filesystems, e.g. to disable ZFS
with an unsupported kernel.
Type: (attribute set of boolean) or (list of string) convertible to it
Default:
{ }
Example:
{
btrfs = true;
zfs = lib.mkForce false;
}
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
boot.swraid.enable
Whether to enable support for Linux MD RAID arrays.
When this is enabled, mdadm will be added to the system path, and MD RAID arrays will be detected and activated automatically, both in stage-1 (initramfs) and in stage-2 (the final NixOS system).
This should be enabled if you want to be able to access and/or boot from MD RAID arrays. nixos-generate-config should detect it correctly in the standard installation procedure.
Type: boolean
Default:
"`true` if stateVersion is older than 23.11"
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/swraid.nix>
|
boot.swraid.mdadmConf
Contents of /etc/mdadm.conf.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/tasks/swraid.nix>
|
boot.systemdExecutable
The program to execute to start systemd.
Type: string
Default:
"/run/current-system/systemd/lib/systemd/systemd"
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-2.nix>
|
boot.tmp.cleanOnBoot
Whether to delete all files in /tmp during boot.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/tmp.nix>
|
boot.tmp.tmpfsHugeMemoryPages
never - Do not allocate huge memory pages. This is the default.
always - Attempt to allocate huge memory page every time a new page is needed.
within_size - Only allocate huge memory pages if it will be fully within i_size. Also respect madvise(2) hints. Recommended.
advise - Only allocate huge memory pages if requested with madvise(2).
Type: one of “never”, “always”, “within_size”, “advise”
Default:
"never"
Example:
"within_size"
Declared by:
<nixpkgs/nixos/modules/system/boot/tmp.nix>
|
boot.tmp.tmpfsSize
Size of tmpfs in percentage. Percentage is defined by systemd.
Type: string or (positive integer, meaning >0)
Default:
"50%"
Declared by:
<nixpkgs/nixos/modules/system/boot/tmp.nix>
|
boot.tmp.useTmpfs
Whether to mount a tmpfs on /tmp during boot.
Large Nix builds can fail if the mounted tmpfs is not large enough. In such a case either increase the tmpfsSize or disable this option.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/tmp.nix>
|
boot.tmp.useZram
Whether to mount a zram device on /tmp during boot.
Large Nix builds can fail if the mounted zram device is not large enough. In such a case either increase the zramSettings.zram-size or disable this option.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/zram-as-tmp.nix>
|
boot.tmp.zramSettings.compression-algorithm
The compression algorithm to use for the zram device.
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
Type: string
Default:
"zstd"
Example:
"lzo-rle"
Declared by:
<nixpkgs/nixos/modules/system/boot/zram-as-tmp.nix>
|
boot.tmp.zramSettings.fs-type
The file system to put on the device.
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
Type: string
Default:
"ext4"
Example:
"ext2"
Declared by:
<nixpkgs/nixos/modules/system/boot/zram-as-tmp.nix>
|
boot.tmp.zramSettings.options
By default, file systems and swap areas are trimmed on-the-go by setting “discard”. Setting this to the empty string clears the option.
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
Type: string
Default:
"X-mount.mode=1777,discard"
Declared by:
<nixpkgs/nixos/modules/system/boot/zram-as-tmp.nix>
|
boot.tmp.zramSettings.zram-size
The size of the zram device, as a function of MemTotal, both in MB. For example, if the machine has 1 GiB, and zram-size=ram/4, then the zram device will have 256 MiB. Fractions in the range 0.1–0.5 are recommended
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
Type: string
Default:
"ram * 0.5"
Example:
"min(ram / 2, 4096)"
Declared by:
<nixpkgs/nixos/modules/system/boot/zram-as-tmp.nix>
|
boot.uki.configFile
The configuration file passed to ukify(1) to create the UKI.
By default this configuration file is created from boot.uki.settings.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/boot/uki.nix>
|
boot.uki.name
Name of the UKI
Type: string
Declared by:
<nixpkgs/nixos/modules/system/boot/uki.nix>
|
boot.uki.settings
The configuration settings for ukify. These control what the UKI contains and how it is built.
Type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/system/boot/uki.nix>
|
boot.uki.tries
Number of boot attempts before this UKI is considered bad.
If no tries are specified (the default) automatic boot assessment remains inactive.
See documentation on Automatic Boot Assessment and boot counting for more information.
Type: null or (unsigned integer, meaning >=0)
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/boot/uki.nix>
|
boot.uki.version
Version of the image or generation the UKI belongs to
Type: null or string
Default:
config.system.image.version
Declared by:
<nixpkgs/nixos/modules/system/boot/uki.nix>
|
boot.uvesafb.enable
Whether to enable uvesafb.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/uvesafb.nix>
|
boot.uvesafb.gfx-mode
Screen resolution in modedb format. See uvesafb and modedb documentation for more details. The default value is a sensible default but may be not ideal for all setups.
Type: string
Default:
"1024x768-32"
Declared by:
<nixpkgs/nixos/modules/system/boot/uvesafb.nix>
|
boot.uvesafb.v86d.package
Which v86d package to use with uvesafb
Type: package
Default:
''
config.boot.kernelPackages.v86d.overrideAttrs (old: {
hardeningDisable = [ "all" ];
})''
Declared by:
<nixpkgs/nixos/modules/system/boot/uvesafb.nix>
|
boot.vesa
(Deprecated) This option, if set, activates the VESA 800x600 video
mode on boot and disables kernel modesetting. It is equivalent to
specifying [ "vga=0x317" "nomodeset" ] in the
boot.kernelParams option. This option is
deprecated as of 2020: Xorg now works better with modesetting, and
you might want a different VESA vga setting, anyway.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/kernel.nix>
|
boot.zfs.enabled
True if ZFS filesystem support is enabled
Type: boolean (read only)
Default:
true if ZFS filesystem support is enabled
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.package
Configured ZFS userland tools package.
Type: package
Default:
pkgs.zfs
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.devNodes
Name of directory from which to import ZFS device, this is passed to zpool import
as the value of the -d option.
For guidance on choosing this value, see the ZFS documentation.
Type: absolute path
Default:
"/dev/disk/by-id"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.extraPools
Name or GUID of extra ZFS pools that you wish to import during boot.
Usually this is not necessary. Instead, you should set the mountpoint property
of ZFS filesystems to legacy and add the ZFS filesystems to
NixOS’s fileSystems option, which makes NixOS automatically
import the associated pool.
However, in some cases (e.g. if you have many filesystems) it may be preferable to exclusively use ZFS commands to manage filesystems. If so, since NixOS/systemd will not be managing those filesystems, you will need to specify the ZFS pool here so that NixOS automatically imports it on every boot.
Type: list of string
Default:
[ ]
Example:
[
"tank"
"data"
]
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.forceImportAll
Forcibly import all ZFS pool(s).
It is highly recommended to keep this option disabled as it bypasses ZFS safeguard that protect your pools.
See boot.zfs.forceImportRoot for details.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.forceImportRoot
Forcibly import the ZFS root pool(s) during early boot.
It is highly recommended to keep this option disabled as it bypasses ZFS safeguard that protect your pools.
If NixOS fails to boot because it cannot import the root pool, you should boot
with the zfs_force=1 option as a kernel parameter (e.g. by manually
editing the kernel params via your bootloader).
You should only need to do this after unclean shutdowns.
Type: boolean
Default:
lib.versionOlder config.system.stateVersion "26.11"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.passwordTimeout
Timeout in seconds to wait for password entry for decrypt at boot.
Defaults to 0, which waits forever.
Type: signed integer
Default:
0
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.pools
Configuration for individual pools to override global defaults.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.pools.<name>.devNodes
Name of directory from which to import ZFS device, this is passed to zpool import
as the value of the -d option.
For guidance on choosing this value, see the ZFS documentation.
Type: absolute path
Default:
"config.boot.zfs.devNodes"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.removeLinuxDRM
Patch the kernel to change symbols needed by ZFS from EXPORT_SYMBOL_GPL to EXPORT_SYMBOL.
Currently has no effect, but may again in future if a kernel update breaks ZFS due to symbols being newly changed to GPL.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.requestEncryptionCredentials
If true on import encryption keys or passwords for all encrypted datasets are requested. To only decrypt selected datasets supply a list of dataset names instead. For root pools the encryption key can be supplied via both an interactive prompt (keylocation=prompt) and from a file (keylocation=file://).
Type: boolean or list of string
Default:
true
Example:
[
"tank"
"data"
]
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.unsafeAllowHibernation
Allow hibernation (suspend to disk) support. This is generally considered UNSAFE, is not well supported by openzfs, and could lead to corruption and data loss.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zfs.useKeyringForCredentials
Whether to enable Uses the kernel keyring for encryption credentials with keyname=zfs-<poolname>.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/zfs.nix>
|
boot.zswap.enable
Whether to enable Zswap (Compressed Cache for Swap Pages).
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/zswap.nix>
|
boot.zswap.acceptThresholdPercent
Threshold percentage at which zswap starts accepting pages again after the pool becomes full (1-100).
This parameter provides hysteresis to prevent pool oscillation. When the pool usage drops below this threshold, zswap starts accepting new pages. Default is 90% as recommended by kernel documentation.
Type: integer between 1 and 100 (both inclusive)
Default:
90
Declared by:
<nixpkgs/nixos/modules/system/boot/zswap.nix>
|
boot.zswap.compressor
Compression algorithm to use for zswap.
Available options:
‘zstd’: Best compression ratio, excellent for Nix builds (default)
‘lz4’: Fastest compression, lowest latency
‘lz4hc’: High-compression variant of lz4, slower but better ratio
‘lzo’: Good balance of speed and compression (kernel default)
‘deflate’: Higher compression, slower processing
‘842’: Hardware-accelerated compression on supported systems
Note: The chosen algorithm must be supported by your kernel configuration.
Type: one of “zstd”, “lz4”, “lzo”, “lz4hc”, “deflate”, “842”
Default:
"zstd"
Declared by:
<nixpkgs/nixos/modules/system/boot/zswap.nix>
|
boot.zswap.maxPoolPercent
The maximum percentage of system memory that Zswap can occupy (1-100).
Higher values provide more compression cache but increase memory pressure. Default is 25% (higher than kernel default of 20%) for better Nix build performance.
Recommended ranges:
Desktop systems: 15-25%
Low-memory systems: 30-50%
Server systems: 10-20%
Type: integer between 1 and 100 (both inclusive)
Default:
25
Declared by:
<nixpkgs/nixos/modules/system/boot/zswap.nix>
|
boot.zswap.shrinkerEnabled
Enable the zswap shrinker to reclaim memory when under pressure.
When enabled, the shrinker will automatically reclaim compressed pages from the zswap pool when the system is under memory pressure, helping to prevent out-of-memory situations.
It is recommended to keep this enabled for most workloads, especially on systems with limited memory.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/boot/zswap.nix>
|
boot.zswap.zpool
Kernel zpool allocator. ‘zsmalloc’ is strongly recommended for kernels >= 6.3 as it offers the best density. For older kernels, ‘zbud’ is the fallback.
Note: ‘z3fold’ was removed from Linux kernel 6.8 and later.
Type: one of “zsmalloc”, “zbud”
Default:
if kernel >= 6.3 then "zsmalloc" else "zbud"
Declared by:
<nixpkgs/nixos/modules/system/boot/zswap.nix>
|
console.enable
Whether to enable virtual console.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/config/console.nix>
|
console.packages
List of additional packages that provide console fonts, keymaps and other resources for virtual consoles use.
Type: list of package
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/console.nix>
|
console.colors
The 16 colors palette used by the virtual consoles. Leave empty to use the default colors. Colors must be in hexadecimal format and listed in order from color 0 to color 15.
Type: list of string matching the pattern [[:xdigit:]]{6}
Default:
[ ]
Example:
[
"002b36"
"dc322f"
"859900"
"b58900"
"268bd2"
"d33682"
"2aa198"
"eee8d5"
"002b36"
"cb4b16"
"586e75"
"657b83"
"839496"
"6c71c4"
"93a1a1"
"fdf6e3"
]
Declared by:
<nixpkgs/nixos/modules/config/console.nix>
|
console.earlySetup
Enable setting virtual console options as early as possible (in initrd).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/console.nix>
|
console.font
The font used for the virtual consoles.
Can be null, a font name, or a path to a PSF font file.
Use null to let the kernel choose a built-in font.
The default is 8x16, and, as of Linux 5.3, Terminus 32 bold for display
resolutions of 2560x1080 and higher.
These fonts cover the IBM437 character set.
Type: null or string or absolute path
Default:
null
Example:
"LatArCyrHeb-16"
Declared by:
<nixpkgs/nixos/modules/config/console.nix>
|
console.keyMap
The keyboard mapping table for the virtual consoles.
Type: string or absolute path
Default:
"us"
Example:
"fr"
Declared by:
<nixpkgs/nixos/modules/config/console.nix>
|
console.useXkbConfig
If set, configure the virtual console keymap from the xserver keyboard settings.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/console.nix>
|
containers
A set of NixOS system configurations to be run as lightweight
containers. Each container appears as a service
container-«name»
on the host system, allowing it to be started and stopped via
systemctl.
Type: attribute set of (submodule)
Default:
{ }
Example:
{ webserver =
{ path = "/nix/var/nix/profiles/webserver";
};
database =
{ config =
{ config, pkgs, ... }:
{ services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql_14;
system.stateVersion = "26.05";
};
};
}
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.enableTun
Allows the container to create and setup tunnel interfaces
by granting the NET_ADMIN capability and
enabling access to /dev/net/tun.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.additionalCapabilities
Grant additional capabilities to the container. See the capabilities(7) and systemd-nspawn(1) man pages for more information.
Type: list of string
Default:
[ ]
Example:
[
"CAP_NET_ADMIN"
"CAP_MKNOD"
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.allowedDevices
A list of device nodes to which the containers has access to.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
modifier = "rwm";
node = "/dev/net/tun";
}
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.allowedDevices.*.modifier
Device node access modifier. Takes a combination
r (read), w (write), and
m (mknod). See the
systemd.resource-control(5) man page for more
information.
Type: string
Example:
"rw"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.allowedDevices.*.node
Path to device node
Type: string
Example:
"/dev/net/tun"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.autoStart
Whether the container is automatically started at boot-time.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.bindMounts
An extra list of directories that is bound to the container.
Type: attribute set of (submodule)
Default:
{ }
Example:
{ "/home" = { hostPath = "/home/alice";
isReadOnly = false; };
}
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.bindMounts.<name>.hostPath
Location of the host path to be mounted.
Type: null or string
Default:
null
Example:
"/home/alice"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.bindMounts.<name>.isReadOnly
Determine whether the mounted path will be accessed in read-only mode.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.bindMounts.<name>.mountPoint
Mount point on the container file system.
Type: string
Example:
"/mnt/usb"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.config
A specification of the desired configuration of this container, as a NixOS module.
Type: Toplevel NixOS config
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.ephemeral
Runs container in ephemeral mode with the empty root filesystem at boot. This way container will be bootstrapped from scratch on each boot and will be cleaned up on shutdown leaving no traces behind. Useful for completely stateless, reproducible containers.
Note that this option might require to do some adjustments to the container configuration,
e.g. you might want to set
systemd.network.networks.$interface.dhcpV4Config.ClientIdentifier to “mac”
if you use macvlans option.
This way dhcp client identifier will be stable between the container restarts.
Note that the container journal will not be linked to the host if this option is enabled.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraFlags
Extra flags passed to the systemd-nspawn command. See systemd-nspawn(1) for details.
Type: list of string
Default:
[ ]
Example:
[
"--drop-capability=CAP_SYS_CHROOT"
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths
Extra veth-pairs to be created for the container.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.forwardPorts
List of forwarded ports from host to container. Each forwarded port is specified by protocol, hostPort and containerPort. By default, protocol is tcp and hostPort and containerPort are assumed to be the same if containerPort is not explicitly given.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
containerPort = 80;
hostPort = 8080;
protocol = "tcp";
}
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.forwardPorts.*.containerPort
Target port of container
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.forwardPorts.*.hostPort
Source port of the external interface on host
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.forwardPorts.*.protocol
The protocol specifier for port forwarding between host and container
Type: string
Default:
"tcp"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.hostAddress
The IPv4 address assigned to the host interface. (Not used when hostBridge is set.)
Type: null or string
Default:
null
Example:
"10.231.136.1"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.hostAddress6
The IPv6 address assigned to the host interface. (Not used when hostBridge is set.)
Type: null or string
Default:
null
Example:
"fc00::1"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.hostBridge
Put the host-side of the veth-pair into the named bridge. Only one of hostAddress* or hostBridge can be given.
Type: null or string
Default:
null
Example:
"br0"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.localAddress
The IPv4 address assigned to the interface in the container. If a hostBridge is used, this should be given with netmask to access the whole network. Otherwise the default netmask is /32 and routing is set up from localAddress to hostAddress and back.
Type: null or string
Default:
null
Example:
"10.231.136.2"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.localAddress6
The IPv6 address assigned to the interface in the container. If a hostBridge is used, this should be given with netmask to access the whole network. Otherwise the default netmask is /128 and routing is set up from localAddress6 to hostAddress6 and back.
Type: null or string
Default:
null
Example:
"fc00::2"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.extraVeths.<name>.localMacAddress
The MAC address assigned to the interface in the container. This address is assigned early during container boot, and can thus be reliably used for setups like IPv6 SLAAC with router advertisements. If this option is not specified, the veth devices gets assigned a random, locally-administered unicast MAC address.
Type: null or string matching the pattern ([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}
Default:
null
Example:
"de:b7:73:01:10:90"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.flake
The Flake URI of the NixOS configuration to use for the container.
Replaces the option containers.<name>.path.
Type: null or string
Default:
null
Example:
"github:NixOS/nixpkgs/master"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.forwardPorts
List of forwarded ports from host to container. Each forwarded port is specified by protocol, hostPort and containerPort. By default, protocol is tcp and hostPort and containerPort are assumed to be the same if containerPort is not explicitly given.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
containerPort = 80;
hostPort = 8080;
protocol = "tcp";
}
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.forwardPorts.*.containerPort
Target port of container
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.forwardPorts.*.hostPort
Source port of the external interface on host
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.forwardPorts.*.protocol
The protocol specifier for port forwarding between host and container
Type: string
Default:
"tcp"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.hostAddress
The IPv4 address assigned to the host interface. (Not used when hostBridge is set.)
Type: null or string
Default:
null
Example:
"10.231.136.1"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.hostAddress6
The IPv6 address assigned to the host interface. (Not used when hostBridge is set.)
Type: null or string
Default:
null
Example:
"fc00::1"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.hostBridge
Put the host-side of the veth-pair into the named bridge. Only one of hostAddress* or hostBridge can be given.
Type: null or string
Default:
null
Example:
"br0"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.interfaces
The list of interfaces to be moved into the container.
Type: list of string
Default:
[ ]
Example:
[
"eth1"
"eth2"
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.localAddress
The IPv4 address assigned to the interface in the container. If a hostBridge is used, this should be given with netmask to access the whole network. Otherwise the default netmask is /32 and routing is set up from localAddress to hostAddress and back.
Type: null or string
Default:
null
Example:
"10.231.136.2"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.localAddress6
The IPv6 address assigned to the interface in the container. If a hostBridge is used, this should be given with netmask to access the whole network. Otherwise the default netmask is /128 and routing is set up from localAddress6 to hostAddress6 and back.
Type: null or string
Default:
null
Example:
"fc00::2"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.localMacAddress
The MAC address assigned to the interface in the container. This address is assigned early during container boot, and can thus be reliably used for setups like IPv6 SLAAC with router advertisements. If this option is not specified, the veth devices gets assigned a random, locally-administered unicast MAC address.
Type: null or string matching the pattern ([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}
Default:
null
Example:
"de:b7:73:01:10:90"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.macvlans
The list of host interfaces from which macvlans will be created. For each interface specified, a macvlan interface will be created and moved to the container.
Type: list of string
Default:
[ ]
Example:
[
"eth1"
"eth2"
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.networkNamespace
Takes the path to a file representing a kernel network namespace that the container shall run in. The specified path should refer to a (possibly bind-mounted) network namespace file, as exposed by the kernel below /proc/<PID>/ns/net. This makes the container enter the given network namespace. One of the typical use cases is to give a network namespace under /run/netns created by ip-netns(8). Note that this option cannot be used together with other network-related options, such as --private-network or --network-interface=.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.nixpkgs
A path to the nixpkgs that provide the modules, pkgs and lib for evaluating the container.
To only change the pkgs argument used inside the container modules,
set the nixpkgs.* options in the container config.
Setting config.nixpkgs.pkgs = pkgs speeds up the container evaluation
by reusing the system pkgs, but the nixpkgs.config option in the
container config is ignored in this case.
Type: absolute path
Default:
pkgs.path
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.path
As an alternative to specifying
config, you can specify the path to
the evaluated NixOS system configuration, typically a
symlink to a system profile.
Type: absolute path
Example:
"/nix/var/nix/profiles/per-container/webserver"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.privateNetwork
Whether to give the container its own private virtual
Ethernet interface. The interface is called
eth0, and is hooked up to the interface
ve-«container-name»
on the host. If this option is not set, then the
container shares the network interfaces of the host,
and can bind to any port on any interface.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.privateUsers
Whether to give the container its own private UIDs/GIDs space (user namespacing).
Disabled by default (no).
If set to a number (usually above host’s UID/GID range: 65536), user namespacing is enabled and the container UID/GIDs will start at that number.
If set to identity, mostly equivalent to 0, this will only provide
process capability isolation (no UID/GID isolation, as they are the same as host).
If set to pick, user namespacing is enabled and the UID/GID range is automatically chosen,
so that no overlapping UID/GID ranges are assigned to multiple containers.
This is the recommanded option as it enhances container security massively and operates fully automatically in most cases.
See https://www.freedesktop.org/software/systemd/man/latest/systemd-nspawn.html#--private-users= for details.
Type: 32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or one of “no”, “identity”, “pick”
Default:
"no"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.restartIfChanged
Whether the container should be restarted during a NixOS configuration switch if its definition has changed.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.specialArgs
A set of special arguments to be passed to NixOS modules.
This will be merged into the specialArgs used to evaluate
the NixOS configurations.
Type: attribute set of unspecified value
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.timeoutStartSec
Time for the container to start. In case of a timeout, the container processes get killed. See systemd.time(7) for more information about the format.
Type: string
Default:
"1min"
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
containers.<name>.tmpfs
Mounts a set of tmpfs file systems into the container. Multiple paths can be specified. Valid items must conform to the --tmpfs argument of systemd-nspawn. See systemd-nspawn(1) for details.
Type: list of string
Default:
[ ]
Example:
[
"/var"
]
Declared by:
<nixpkgs/nixos/modules/virtualisation/nixos-containers.nix>
|
documentation.enable
Whether to install documentation of packages from
environment.systemPackages into the generated system path.
See “Multiple-output packages” chapter in the nixpkgs manual for more info.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.dev.enable
Whether to install documentation targeted at developers.
This includes man pages targeted at developers if documentation.man.enable is
set (this also includes “devman” outputs).
This includes info pages targeted at developers if documentation.info.enable
is set (this also includes “devinfo” outputs).
This includes other pages targeted at developers if documentation.doc.enable
is set (this also includes “devdoc” outputs).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.doc.enable
Whether to install documentation distributed in packages’ /share/doc.
Usually plain text and/or HTML.
This also includes “doc” outputs.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.info.enable
Whether to install info pages and the info command. This also includes “info” outputs.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.man.enable
Whether to install manual pages.
This also includes man outputs.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.man.cache.enable
Whether to generate the manual page index caches.
This allows searching for a page or
keyword using utilities like apropos(1)
and the -k option of
man(1).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.man.cache.generateAtRuntime
Whether to generate the manual page index caches at runtime using a systemd service.
This is currently only supported by the man-db module.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.man.man-db.enable
Whether to enable man-db as the default man page viewer.
Type: boolean
Default:
config.documentation.man.enable
Example:
false
Declared by:
<nixpkgs/nixos/modules/misc/man-db.nix>
|
documentation.man.man-db.package
The man-db derivation to use. Useful to override
configuration options used for the package.
Type: package
Default:
pkgs.man-db
Declared by:
<nixpkgs/nixos/modules/misc/man-db.nix>
|
documentation.man.man-db.manualPages
The manual pages to generate caches for if documentation.man.cache.enable
is enabled. Must be a path to a directory with man pages under
/share/man; see the source for an example.
Advanced users can make this a content-addressed derivation to save a few rebuilds.
Type: absolute path
Default:
all man pages in config.environment.systemPackages
Declared by:
<nixpkgs/nixos/modules/misc/man-db.nix>
|
documentation.man.mandoc.enable
Whether to enable mandoc as the default man page viewer.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.package
The mandoc derivation to use. Useful to override
configuration options used for the package.
Type: package
Default:
pkgs.mandoc
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.cachePath
Change the paths where mandoc makewhatis(8)generates the
manual page index caches. documentation.man.cache.enable
should be enabled to allow cache generation. This list should only
include the paths to manpages installed in the system configuration,
i. e. /run/current-system/sw/share/man. makewhatis(8)
creates a database in each directory using the files
mansection/[arch/]title.section and catsection/[arch/]title.0
in it. If a directory contains no manual pages, no database is
created in that directory.
This option only needs to be set manually if extra paths should be
indexed or documentation.man.manPath contains paths that
can’t be indexed.
Type: list of string
Default:
config.documentation.man.mandoc.manPath
Example:
[ "share/man" "share/man/fr" ]
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.extraConfig
Extra configuration to write to man.conf(5).
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.manPath
Change the paths included in the MANPATH environment variable, i. e. the directories where man(1) looks for section-specific directories of man pages. You only need to change this setting if you want extra man pages (e. g. in non-english languages). All values must be strings that are a valid path from the target prefix (without including it). The first value given takes priority. Note that this will not add manpath directives to man.conf(5).
Type: list of string
Default:
[
"share/man"
]
Example:
[ "share/man" "share/man/fr" ]
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings
Configuration for man.conf(5)
Type: submodule
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.manpath
Override the default search path for man(1),
apropos(1), and makewhatis(8). It can be
used multiple times to specify multiple paths, with the order
determining the manual page search order.
This is not recommended in favor of
documentation.man.mandoc.manPath, but if it’s needed to
specify the manpath in this way, set
documentation.man.mandoc.manPath to an empty list ([]).
Type: list of string
Default:
[ ]
Example:
[ "/run/current-system/sw/share/man" ]
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.fragment
Whether to omit the <!DOCTYPE> declaration and the <html>, <head>, and <body> elements and only emit the subtree below the <body> element in HTML output of mandoc(1). The style argument will be ignored. This is useful when embedding manual content within existing documents.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.includes
A string of relative path used as a template for the output path of
linked header files (usually via the In macro) in HTML output.
Instances of %I are replaced with the include filename. The
default is not to present a hyperlink.
Type: null or string
Default:
null
Example:
../src/%I.html
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.indent
Number of blank characters at the left margin for normal text,
default of 5 for mdoc(7) and 7 for
man(7). Increasing this is not recommended; it may
result in degraded formatting, for example overfull lines or ugly
line breaks. When output is to a pager on a terminal that is less
than 66 columns wide, the default is reduced to three columns.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.man
A template for linked manuals (usually via the Xr macro) in HTML output. Instances of ‘%N’ and ‘%S’ are replaced with the linked manual’s name and section, respectively. If no section is included, section 1 is assumed. The default is not to present a hyperlink. If two formats are given and a file %N.%S exists in the current directory, the first format is used; otherwise, the second format is used.
Type: null or string
Default:
null
Example:
../html%S/%N.%S.html
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.paper
This option is for generating PostScript and PDF output. The paper
size name may be one of a3, a4, a5, legal, or letter.
You may also manually specify dimensions as NNxNN, width by
height in millimetres. If an unknown value is encountered, letter
is used. Output pages default to letter sized and are rendered in
the Times font family, 11-point. Margins are calculated as 1/9 the
page length and width. Line-height is 1.4m.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.style
Path to the file used for an external style-sheet. This must be a valid absolute or relative URI.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.toc
Whether to enable printing a table of contents near the beginning of the HTML output of mandoc(1) if an input file contains at least two non-standard sections .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.man.mandoc.settings.output.width
The ASCII and UTF-8 output width, default is 78. When output is a
pager on a terminal that is less than 79 columns wide, the
default is reduced to one less than the terminal width. In any case,
lines that are output in literal mode are never wrapped and may
exceed the output width.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/misc/mandoc.nix>
|
documentation.nixos.enable
Whether to install NixOS’s own documentation.
This includes man pages like
configuration.nix(5) if documentation.man.enable is
set.
This includes the HTML manual and the nixos-help command if
documentation.doc.enable is set.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.nixos.checkRedirects
Check redirects for manualHTML.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.nixos.extraModuleSources
Which extra NixOS module paths the generated NixOS’s documentation should strip from options.
Type: list of (absolute path or string)
Default:
[ ]
Example:
# e.g. with options from modules in ${pkgs.customModules}/nix:
[ pkgs.customModules ]
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.nixos.extraModules
Modules for which to show options even when not imported.
Type: list of raw value
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.nixos.includeAllModules
Whether the generated NixOS’s documentation should include documentation for all
the options from all the NixOS modules included in the current
configuration.nix. Disabling this will make the manual
generator to ignore options defined outside of baseModules.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.nixos.options.splitBuild
Whether to split the option docs build into a cacheable and an uncacheable part. Splitting the build can substantially decrease the amount of time needed to build the manual, but some user modules may be incompatible with this splitting.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
documentation.nixos.options.warningsAreErrors
Treat warning emitted during the option documentation build (eg for missing option descriptions) as errors.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/misc/documentation.nix>
|
ec2.zfs.datasets
Datasets to create under the tank and boot zpools.
NOTE: This option is used only at image creation time, and does not attempt to declaratively create or manage datasets on an existing system.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/virtualisation/amazon-options.nix>
|
ec2.zfs.datasets.<name>.mount
Where to mount this dataset.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/virtualisation/amazon-options.nix>
|
ec2.zfs.datasets.<name>.properties
Properties to set on this dataset.
Type: attribute set of string
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/virtualisation/amazon-options.nix>
|
environment.enableAllTerminfo
Whether to install all terminfo outputs
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/terminfo.nix>
|
environment.enableDebugInfo
Some NixOS packages provide debug symbols. However, these are
not included in the system closure by default to save disk
space. Enabling this option causes the debug symbols to appear
in /run/current-system/sw/lib/debug/.build-id,
where tools such as gdb can find them.
If you need debug symbols for a package that doesn’t
provide them by default, you can enable them as follows:
nixpkgs.config.packageOverrides = pkgs: {
hello = pkgs.hello.overrideAttrs (oldAttrs: {
separateDebugInfo = true;
});
};
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/debug-info.nix>
|
environment.budgie.excludePackages
Which packages Budgie should exclude from the default environment.
Type: list of package
Default:
[ ]
Example:
[ pkgs.mate-terminal ]
Declared by:
<nixpkgs/nixos/modules/services/desktop-managers/budgie.nix>
|
environment.checkConfigurationOptions
Alias of _module.check.
Type: boolean
Declared by:
<nixpkgs/nixos/modules/rename.nix>
|
environment.cinnamon.excludePackages
Which packages cinnamon should exclude from the default environment
Type: list of package
Default:
[ ]
Example:
[ pkgs.blueman ]
Declared by:
<nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix>
|
environment.corePackages
Set of core packages for a normal interactive system.
Only change this if you know what you’re doing!
Like with systemPackages, packages are installed to
/run/current-system/sw. They are
automatically available to all users, and are
automatically updated every time you rebuild the system
configuration.
Type: list of package
Default:
these packages, with their meta.priority numerically increased
(thus lowering their installation priority):
[ 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 ]
Example:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/system-path.nix>
|
environment.cosmic.excludePackages
List of packages to exclude from the COSMIC environment.
Type: list of package
Default:
[ ]
Example:
[ pkgs.cosmic-player ]
Declared by:
<nixpkgs/nixos/modules/services/desktop-managers/cosmic.nix>
|
environment.debuginfodServers
List of urls of debuginfod servers for tools like gdb and valgrind to use.
Unrelated to environment.enableDebugInfo.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/debug-info.nix>
|
environment.defaultPackages
Set of default packages that aren’t strictly necessary for a running system, entries can be removed for a more minimal NixOS installation.
Like with systemPackages, packages are installed to
/run/current-system/sw. They are
automatically available to all users, and are
automatically updated every time you rebuild the system
configuration.
Type: list of package
Default:
these packages, with their meta.priority numerically increased
(thus lowering their installation priority):
[ pkgs.perl pkgs.rsync pkgs.strace ]
Example:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/system-path.nix>
|
environment.enlightenment.excludePackages
Which packages Enlightenment should exclude from the default environment
Type: list of package
Default:
[ ]
Example:
[ pkgs.enlightenment.ephoto ]
Declared by:
<nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix>
|
environment.etc
Set of files that have to be linked in /etc.
Type: attribute set of (submodule)
Default:
{ }
Example:
{ example-configuration-file =
{ source = "/nix/store/.../etc/dir/file.conf.example";
mode = "0440";
};
"default/useradd".text = "GROUP=100 ...";
}
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.enable
Whether this /etc file should be generated. This option allows specific /etc files to be disabled.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.gid
GID of created file. Only takes effect when the file is copied (that is, the mode is not ‘symlink’).
Type: signed integer
Default:
0
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.group
Group name of file owner.
Only takes effect when the file is copied (that is, the
mode is not symlink).
When services.userborn.enable, this option has no effect.
You have to assign a gid instead. Otherwise this option
takes precedence over gid.
Type: string
Default:
"+0"
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.mode
If set to something else than symlink,
the file is copied instead of symlinked, with the given
file mode.
Type: string
Default:
"symlink"
Example:
"0600"
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.source
Path of the source file.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.target
Name of symlink (relative to
/etc). Defaults to the attribute
name.
Type: string
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.text
Text of the file.
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.uid
UID of created file. Only takes effect when the file is copied (that is, the mode is not ‘symlink’).
Type: signed integer
Default:
0
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.etc.<name>.user
User name of file owner.
Only takes effect when the file is copied (that is, the
mode is not symlink).
When services.userborn.enable, this option has no effect.
You have to assign a uid instead. Otherwise this option
takes precedence over uid.
Type: string
Default:
"+0"
Declared by:
<nixpkgs/nixos/modules/system/etc/etc.nix>
|
environment.extraInit
Shell script code called during global environment initialisation after all variables and profileVariables have been set. This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.extraOutputsToInstall
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 /run/current-system/sw.
For example, this can be used to install the dev and info outputs for all packages in the system environment, if they are available.
To use specific outputs instead of configuring them globally, select the corresponding attribute on the package derivation, e.g. libxml2.dev or coreutils.info.
Type: list of string
Default:
[ ]
Example:
[
"dev"
"info"
]
Declared by:
<nixpkgs/nixos/modules/config/system-path.nix>
|
environment.extraSetup
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.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/config/system-path.nix>
|
environment.freetds
Configure freetds database entries. Each attribute denotes a section within freetds.conf, and the value (a string) is the config content for that section. When at least one entry is configured the global environment variables FREETDSCONF, FREETDS and SYBASE will be configured to allow the programs that use freetds to find the library and config.
Type: attribute set of string
Default:
{ }
Example:
{ MYDATABASE = ''
host = 10.0.2.100
port = 1433
tds version = 7.2
'';
}
Declared by:
<nixpkgs/nixos/modules/programs/freetds.nix>
|
environment.gnome.excludePackages
Which packages gnome should exclude from the default environment
Type: list of package
Default:
[ ]
Example:
[ pkgs.showtime ]
Declared by:
<nixpkgs/nixos/modules/services/desktop-managers/gnome.nix>
|
environment.homeBinInPath
Include ~/bin/ in $PATH.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.interactiveShellInit
Shell script code called during interactive shell initialisation. This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.ldso
The executable to link into the normal FHS location of the ELF loader.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/config/ldso.nix>
|
environment.ldso32
The executable to link into the normal FHS location of the 32-bit ELF loader.
This currently only works on x86_64 architectures.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/config/ldso.nix>
|
environment.localBinInPath
Add ~/.local/bin/ to $PATH
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.loginShellInit
Shell script code called during login shell initialisation. This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.lxqt.excludePackages
Which LXQt packages to exclude from the default environment
Type: list of package
Default:
[ ]
Example:
with pkgs; [ lxqt.qterminal ]
Declared by:
<nixpkgs/nixos/modules/services/x11/desktop-managers/lxqt.nix>
|
environment.mate.excludePackages
Which MATE packages to exclude from the default environment
Type: list of package
Default:
[ ]
Example:
[ pkgs.mate-terminal pkgs.pluma ]
Declared by:
<nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix>
|
environment.memoryAllocator.provider
The system-wide memory allocator.
Briefly, the system-wide memory allocator providers are:
libc: the standard allocator provided by libc
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.
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.
jemalloc: A general purpose allocator that emphasizes fragmentation avoidance and scalable concurrency support.
mimalloc: A compact and fast general purpose allocator, which may optionally be built with mitigations against various heap vulnerabilities.
scudo: A user-mode allocator based on LLVM Sanitizer’s CombinedAllocator, which aims at providing additional mitigations against heap based vulnerabilities, while maintaining good performance.
Selecting an alternative allocator (i.e., anything other than
libc) may result in instability, data loss,
and/or service failure.
Type: one of “libc”, “graphene-hardened”, “graphene-hardened-light”, “jemalloc”, “mimalloc”, “scudo”
Default:
"libc"
Declared by:
<nixpkgs/nixos/modules/config/malloc.nix>
|
environment.pantheon.excludePackages
Which packages pantheon should exclude from the default environment
Type: list of package
Default:
[ ]
Example:
[ pkgs.pantheon.elementary-camera ]
Declared by:
<nixpkgs/nixos/modules/services/desktop-managers/pantheon.nix>
|
environment.pathsToLink
List of directories to be symlinked in /run/current-system/sw.
Type: list of string
Default:
[ ]
Example:
[
"/"
]
Declared by:
<nixpkgs/nixos/modules/config/system-path.nix>
|
environment.plasma6.excludePackages
List of default packages to exclude from the configuration
Type: list of package
Default:
[ ]
Example:
[ pkgs.kdePackages.elisa ]
Declared by:
<nixpkgs/nixos/modules/services/desktop-managers/plasma6.nix>
|
environment.profileRelativeEnvVars
Attribute set of environment variable. Each attribute maps to a list
of relative paths. Each relative path is appended to the each profile
of environment.profiles to form the content of the
corresponding environment variable.
Type: attribute set of list of string
Default:
{ }
Example:
{
MANPATH = [
"/man"
"/share/man"
];
PATH = [
"/bin"
];
}
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.profileRelativeSessionVariables
Attribute set of environment variable used in the global environment. These variables will be set by PAM early in the login process.
Variable substitution is available as described in pam_env.conf(5).
Each attribute maps to a list of relative paths. Each relative
path is appended to the each profile of
environment.profiles to form the content of
the corresponding environment variable.
Also, these variables are merged into
environment.profileRelativeEnvVars and it is
therefore not possible to use PAM style variables such as
@{HOME}.
Type: attribute set of list of string
Default:
{ }
Example:
{
MANPATH = [
"/man"
"/share/man"
];
PATH = [
"/bin"
];
}
Declared by:
<nixpkgs/nixos/modules/config/system-environment.nix>
|
environment.profiles
A list of profiles used to setup the global environment.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.sessionVariables
A set of environment variables used in the global environment. These variables will be set by PAM early in the login process.
The value of each session variable can be either a string or a list of strings. The latter is concatenated, interspersed with colon characters.
Setting a variable to null does nothing. You can override a
variable set by another module to null to unset it.
Note, due to limitations in the PAM format values may not
contain the " character.
Also, these variables are merged into
environment.variables and it is
therefore not possible to use PAM style variables such as
@{HOME}.
Type: attribute set of (null or (list of (signed integer or string or absolute path)) or signed integer or string or absolute path)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/config/system-environment.nix>
|
environment.shellAliases
An attribute set that maps aliases (the top level attribute names in
this option) to command strings or directly to build outputs. The
aliases are added to all users’ shells.
Aliases mapped to null are ignored.
Type: attribute set of (null or string or absolute path)
Default:
{ }
Example:
{
l = null;
ll = "ls -l";
}
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.shellInit
Shell script code called during shell initialisation. This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.shells
A list of permissible login shells for user accounts.
No need to mention /bin/sh
here, it is placed into this list implicitly.
Type: list of (package or absolute path)
Default:
[ ]
Example:
[ pkgs.bashInteractive pkgs.zsh ]
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.stub-ld.enable
Install a stub ELF loader to print an informative error message in the event that a user attempts to run an ELF binary not compiled for NixOS.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/config/stub-ld.nix>
|
environment.systemPackages
The set of packages that appear in
/run/current-system/sw. These packages are
automatically available to all users, and are
automatically updated every time you rebuild the system
configuration. (The latter is the main difference with
installing them in the default profile,
/nix/var/nix/profiles/default.
Type: list of package
Default:
[ ]
Example:
[ pkgs.firefox pkgs.thunderbird ]
Declared by:
<nixpkgs/nixos/modules/config/system-path.nix>
|
environment.unixODBCDrivers
Specifies Unix ODBC drivers to be registered in
/etc/odbcinst.ini. You may also want to
add pkgs.unixodbc to the system path to get
a command line client to connect to ODBC databases.
Type: list of package
Default:
[ ]
Example:
with pkgs.unixodbcDrivers; [ sqlite psql ]
Declared by:
<nixpkgs/nixos/modules/config/unix-odbc-drivers.nix>
|
environment.variables
A set of environment variables used in the global environment. These variables will be set on shell initialisation (e.g. in /etc/profile).
The value of each variable can be either a string or a list of strings. The latter is concatenated, interspersed with colon characters.
Setting a variable to null does nothing. You can override a
variable set by another module to null to unset it.
Type: attribute set of (null or (list of (signed integer or string or absolute path)) or signed integer or string or absolute path)
Default:
{ }
Example:
{
EDITOR = "nvim";
VISUAL = "nvim";
}
Declared by:
<nixpkgs/nixos/modules/config/shells-environment.nix>
|
environment.wordlist.enable
Whether to enable environment variables for lists of words.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/misc/wordlist.nix>
|
environment.wordlist.lists
A set with the key names being the environment variable you’d like to set and the values being a list of paths to text documents containing lists of words. The various files will be merged, sorted, duplicates removed, and extraneous spacing removed.
If you have a handful of words that you want to add to an already
existing wordlist, you may find builtins.toFile useful for this
task.
Type: attribute set of non-empty (list of absolute path)
Default:
{
WORDLIST = [ "${pkgs.scowl}/share/dict/words.txt" ];
}
Example:
{
WORDLIST = [ "${pkgs.scowl}/share/dict/words.txt" ];
AUGMENTED_WORDLIST = [
"${pkgs.scowl}/share/dict/words.txt"
"${pkgs.scowl}/share/dict/words.variants.txt"
(builtins.toFile "extra-words" ''
desynchonization
oobleck'')
];
}
Declared by:
<nixpkgs/nixos/modules/misc/wordlist.nix>
|
environment.wvdial.dialerDefaults
Contents of the “Dialer Defaults” section of <filename>/etc/wvdial.conf</filename>.
Type: string
Default:
""
Example:
"Init1 = AT+CGDCONT=1,\"IP\",\"internet.t-mobile\""
Declared by:
<nixpkgs/nixos/modules/services/networking/wvdial.nix>
|
environment.wvdial.pppDefaults
Default ppp settings for wvdial.
Type: string
Default:
''
noipdefault
usepeerdns
defaultroute
persist
noauth
''
Declared by:
<nixpkgs/nixos/modules/services/networking/wvdial.nix>
|
environment.xfce.excludePackages
Which packages XFCE should exclude from the default environment
Type: list of package
Default:
[ ]
Example:
[ pkgs.xfce4-volumed-pulse ]
Declared by:
<nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix>
|
fileSystems
The file systems to be mounted. It must include an entry for
the root directory (mountPoint = "/"). Each
entry in the list is an attribute set with the following fields:
mountPoint, device,
fsType (a file system type recognised by
mount), and options
(the mount options passed to mount using the
-o flag; defaults to [ "defaults" ]).
Instead of specifying device, you can also
specify a volume label (label) for file
systems that support it, such as ext2/ext3 (see mke2fs -L).
Type: attribute set of (submodule)
Default:
{ }
Example:
{
"/".device = "/dev/hda1";
"/data" = {
device = "/dev/hda2";
fsType = "ext3";
options = [ "data=journal" ];
};
"/bigdisk".label = "bigdisk";
}
Declared by:
fileSystems.<name>.enable
Whether to enable the filesystem mount.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.autoFormat
If the device does not currently contain a filesystem (as
determined by blkid), then automatically
format it with the filesystem type specified in
fsType. Use with caution.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.autoResize
If set, the filesystem is grown to its maximum size before being mounted. (This is typically the size of the containing partition.) This is currently only supported for ext2/3/4 filesystems that are mounted during early boot.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.depends
List of paths that should be mounted before this one. This filesystem’s
device and mountPoint are always
checked and do not need to be included explicitly. If a path is added
to this list, any other filesystem whose mount point is a parent of
the path will be mounted before this filesystem. The paths do not need
to actually be the mountPoint of some other filesystem.
This is useful for mounts which require keys and/or configuration files residing on another filesystem.
Type: list of string (with check: non-empty without trailing slash)
Default:
[ ]
Example:
[
"/persist"
]
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.device
The device as passed to mount.
This can be any of:
a filename of a block special device such as /dev/sdc3
a tag such as UUID=fdd68895-c307-4549-8c9c-90e44c71f5b7
(for bind mounts only) the source path
something else depending on the fsType. For example, nfs device may look like knuth.cwi.nl:/dir
This is called device in mount(8) and fs_spec in fstab(5).
Type: null or string (with check: non-empty)
Default:
null
Example:
"/dev/sda"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.encrypted.enable
The block device is backed by an encrypted one, adds this device as a initrd luks entry.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/encrypted-devices.nix>
|
fileSystems.<name>.encrypted.blkDev
Location of the backing encrypted device.
Type: null or string
Default:
null
Example:
"/dev/sda1"
Declared by:
<nixpkgs/nixos/modules/tasks/encrypted-devices.nix>
|
fileSystems.<name>.encrypted.keyFile
Path to a keyfile used to unlock the backing encrypted
device. When systemd stage 1 is not enabled, at the time
this keyfile is accessed, the neededForBoot filesystems
(see utils.fsNeededForBoot) will have been mounted under
/mnt-root, so the keyfile path should usually start with
“/mnt-root/”. When systemd stage 1 is enabled,
fsNeededForBoot file systems will be mounted as needed
under /sysroot, and the keyfile will not be accessed until
its requisite mounts are done.
Type: null or string
Default:
null
Example:
"/mnt-root/root/.swapkey"
Declared by:
<nixpkgs/nixos/modules/tasks/encrypted-devices.nix>
|
fileSystems.<name>.encrypted.label
Label of the unlocked encrypted device. Set fileSystems.<name?>.device to /dev/mapper/<label> to mount the unlocked device.
Type: null or string
Default:
null
Example:
"rootfs"
Declared by:
<nixpkgs/nixos/modules/tasks/encrypted-devices.nix>
|
fileSystems.<name>.fsType
Type of the file system.
This is the fstype passed to -t in the mount(8) command, and is called fs_vfstype in fstab(5).
Type: string (with check: non-empty)
Example:
"ext3"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.label
Label of the device. This simply sets device to
/dev/disk/by-label/${label}. Note that devices will not
have a label unless they contain a filesystem which
supports labels, such as ext4 or fat32.
Type: null or string (with check: non-empty)
Default:
null
Example:
"root-partition"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.mountPoint
Location where the file system will be mounted.
This is called mountpoint in mount(8) and fs_file in fstab(5)
Type: string (with check: non-empty without trailing slash)
Default:
"‹name›"
Example:
"/mnt/usb"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.neededForBoot
If set, this file system will be mounted in the initial ramdisk.
Note that the file system will always be mounted in the initial
ramdisk if its mount point is one of the following:
/, /nix, /nix/store, /var, /var/log, /var/lib, /var/lib/nixos, /etc, /usr.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/system/boot/stage-1.nix>
|
fileSystems.<name>.noCheck
Disable running fsck on this filesystem.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.options
Options used to mount the file system.
This is called options in mount(8) and fs_mntops in fstab(5)
Some options that can be used for all mounts are documented in mount(8) under FILESYSTEM-INDEPENDENT MOUNT OPTIONS.
Options that systemd understands are documented in systemd.mount(5) under FSTAB.
Each filesystem supports additional options, see the docs for that filesystem.
Type: non-empty (list of string (with check: non-empty))
Default:
[
"defaults"
]
Example:
[
"data=journal"
]
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fileSystems.<name>.overlay.lowerdir
The list of path(s) to the lowerdir(s).
To create a writable overlay, you MUST provide an upperdir and a
workdir.
You can create a read-only overlay when you provide multiple (at
least 2!) lowerdirs and neither an upperdir nor a workdir.
Type: null or (non-empty (list of (string or path in the Nix store)))
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/overlayfs.nix>
|
fileSystems.<name>.overlay.upperdir
The path to the upperdir.
If this is null, a read-only overlay is created using the lowerdir.
If the filesystem is neededForBoot, this will be prefixed with /sysroot,
unless useStage1BaseDirectories is set to true.
If you set this to some value you MUST also set workdir.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/overlayfs.nix>
|
fileSystems.<name>.overlay.useStage1BaseDirectories
If enabled, lowerdir, upperdir and workdir will be prefixed with /sysroot.
Disabling this can be useful to create an overlay over directories which aren’t on the real root.
Disabling this does not work with the scripted (i.e. non-systemd) initrd.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/overlayfs.nix>
|
fileSystems.<name>.overlay.workdir
The path to the workdir.
If the filesystem is neededForBoot, this will be prefixed with /sysroot,
unless useStage1BaseDirectories is set to true.
This MUST be set if you set upperdir.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems/overlayfs.nix>
|
fileSystems.<name>.stratis.poolUuid
UUID of the stratis pool that the fs is located in
This is only relevant if you are using stratis.
Type: null or string
Default:
null
Example:
"04c68063-90a5-4235-b9dd-6180098a20d9"
Declared by:
<nixpkgs/nixos/modules/tasks/filesystems.nix>
|
fonts.enableDefaultPackages
Enable a basic set of fonts providing several styles and families and reasonable coverage of Unicode.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/fonts/packages.nix>
|
fonts.enableGhostscriptFonts
Whether to add the fonts provided by Ghostscript (such as various URW fonts and the “Base-14” Postscript fonts) to the list of system fonts, making them available to X11 applications.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/fonts/ghostscript.nix>
|
fonts.packages
List of primary font packages.
Type: list of absolute path
Default:
[ ]
Example:
[ pkgs.dejavu_fonts ]
Declared by:
<nixpkgs/nixos/modules/config/fonts/packages.nix>
|
fonts.fontDir.enable
Whether to create a directory with links to all fonts in
/run/current-system/sw/share/X11/fonts.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontdir.nix>
|
fonts.fontDir.decompressFonts
Whether to decompress fonts in
/run/current-system/sw/share/X11/fonts.
Type: boolean
Default:
config.programs.xwayland.enable
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontdir.nix>
|
fonts.fontconfig.enable
If enabled, a Fontconfig configuration file will be built pointing to a set of default fonts. If you don’t care about running X11 applications or any other program that uses Fontconfig, you can turn this option off and prevent a dependency on all those fonts.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.allowBitmaps
Allow bitmap fonts. Set to false to ban all
bitmap fonts.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.allowType1
Allow Type-1 fonts. Default is false because of
poor rendering.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.antialias
Enable font antialiasing. At high resolution (> 200 DPI), antialiasing has no visible effect; users of such displays may want to disable this option.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.cache32Bit
Generate system fonts cache for 32-bit applications.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.defaultFonts.emoji
System-wide default emoji font(s). Multiple fonts may be listed in case a font does not support all emoji.
Note that fontconfig matches color emoji fonts preferentially, so if you want to use a black and white font while having a color font installed (eg. Noto Color Emoji installed alongside Noto Emoji), fontconfig will still choose the color font even when it is later in the list.
Type: list of string
Default:
[
"Noto Color Emoji"
]
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.defaultFonts.monospace
System-wide default monospace font(s). Multiple fonts may be listed in case multiple languages must be supported.
Type: list of string
Default:
[
"DejaVu Sans Mono"
]
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.defaultFonts.sansSerif
System-wide default sans serif font(s). Multiple fonts may be listed in case multiple languages must be supported.
Type: list of string
Default:
[
"DejaVu Sans"
]
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.defaultFonts.serif
System-wide default serif font(s). Multiple fonts may be listed in case multiple languages must be supported.
Type: list of string
Default:
[
"DejaVu Serif"
]
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.hinting.enable
Enable font hinting. Hinting aligns glyphs to pixel boundaries to improve rendering sharpness at low resolution. At high resolution (> 200 dpi) hinting will do nothing (at best); users of such displays may want to disable this option.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.hinting.autohint
Enable the autohinter in place of the default interpreter. The results are usually lower quality than correctly-hinted fonts, but better than unhinted fonts.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.hinting.style
Hintstyle is the amount of font reshaping done to line up to the grid.
slight will make the font more fuzzy to line up to the grid but will be better in retaining font shape, while full will be a crisp font that aligns well to the pixel grid but will lose a greater amount of font shape.
Type: one of “none”, “slight”, “medium”, “full”
Default:
"slight"
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.includeUserConf
Include the user configuration from
~/.config/fontconfig/fonts.conf or
~/.config/fontconfig/conf.d.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.localConf
System-wide customization file contents, has higher priority than
defaultFonts settings.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.subpixel.lcdfilter
FreeType LCD filter. At high resolution (> 200 DPI), LCD filtering
has no visible effect; users of such displays may want to select
none.
Type: one of “none”, “default”, “light”, “legacy”
Default:
"default"
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.subpixel.rgba
Subpixel order. The overwhelming majority of displays are
rgb in their normal orientation. Select
vrgb for mounting such a display 90 degrees
clockwise from its normal orientation or vbgr
for mounting 90 degrees counter-clockwise. Select
bgr in the unlikely event of mounting 180
degrees from the normal orientation. Reverse these directions in
the improbable event that the display’s native subpixel order is
bgr.
Type: one of “rgb”, “bgr”, “vrgb”, “vbgr”, “none”
Default:
"none"
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
fonts.fontconfig.useEmbeddedBitmaps
Use embedded bitmaps in fonts like Calibri.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/fonts/fontconfig.nix>
|
gtk.iconCache.enable
Whether to build icon theme caches for GTK applications.
Type: boolean
Default:
config.services.xserver.enable
Declared by:
<nixpkgs/nixos/modules/config/gtk/gtk-icon-cache.nix>
|
hardware.enableAllFirmware
Whether to enable all firmware, including unfree packages that must be explictly allowed.
Alternatively, use the hardware.enableRedistributableFirmware option.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/all-firmware.nix>
|
hardware.enableAllHardware
Whether to enable Enable support for most hardware.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/all-hardware.nix>
|
hardware.enableRedistributableFirmware
Whether to enable firmware with a license allowing redistribution.
Type: boolean
Default:
config.hardware.enableAllFirmware
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/all-firmware.nix>
|
hardware.acpilight.enable
Enable acpilight. This will allow brightness control via xbacklight from users in the video group
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/acpilight.nix>
|
hardware.alsa.enable
Whether to set up the user space part of the Advanced Linux Sound Architecture (ALSA)
Enable this option only if you want to use ALSA as your main sound system, not if you’re using a sound server (e.g. PulseAudio or Pipewire).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.enableBluetooth
Whether to enable Bluetooth audio support via BlueALSA.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.enableOSSEmulation
Whether to enable the OSS emulation.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.enablePersistence
Whether to enable ALSA sound card state saving on shutdown. This is generally not necessary if you’re using an external sound server.
Type: boolean
Default:
config.hardware.alsa.enable
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.enableRecorder
Whether to set up a loopback device that continuously records and allows to play back audio from the computer.
The loopback device is named pcm.recorder, audio can be saved
by capturing from this device as with any microphone.
By default the output is duplicated to the recorder assuming stereo
audio, for a more complex layout you have to override the pcm.splitter
device using hardware.alsa.config.
See the generated /etc/asound.conf for its definition.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.cardAliases
Assign custom names and reorder the sound cards.
You can find the card ids by looking at /proc/asound/cards.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
soundchip = { driver = "snd_intel_hda"; id = 0; };
videocard = { driver = "snd_intel_hda"; id = 1; };
usb = { driver = "snd_usb_audio"; id = 2; };
}
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.cardAliases.<name>.driver
Name of the kernel module that provides the card.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.cardAliases.<name>.id
The ID of the sound card
Type: signed integer
Default:
"default"
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.config
The content of the system-wide ALSA configuration (/etc/asound.conf).
Documentation of the configuration language and examples can be found in the unofficial ALSA wiki: https://alsa.opensrc.org/Asoundrc
Type: strings concatenated with “\n”
Default:
""
Example:
# Send audio to a remote host via SSH
pcm.remote {
@args [ HOSTNAME ]
@args.HOSTNAME { type string }
type file
format raw
slave.pcm pcm.null
file {
@func concat
strings [
"| ${lib.getExec pkgs.openssh} -C "
$HOSTNAME
" aplay -f %f -c %c -r %r -"
]
}
}
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.controls
Virtual volume controls (softvols) to add to a sound card. These can be used to control the volume of specific applications or a digital output device (HDMI video card).
Type: attribute set of (submodule)
Default:
{ }
Example:
{
firefox = { device = "front"; maxVolume = -25.0; };
mpv = { device = "front"; maxVolume = -25.0; };
# and run programs with `env ALSA_AUDIO_OUT=<name>`
}
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.controls.<name>.card
Name of the PCM card to control (slave).
Type: string
Default:
"default"
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.controls.<name>.device
Name of the PCM device to control (slave).
Type: string
Default:
"default"
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.controls.<name>.maxVolume
The maximum volume in dB.
Type: floating point number
Default:
0.0
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.controls.<name>.name
Name of the control, as it appears in alsamixer.
If null it will be the same as the softvol device name.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.defaultDevice.capture
The default capture device (i.e. microphone). Leave empty to let ALSA pick the default automatically.
The device can be changed at runtime by setting the ALSA_AUDIO_IN environment variables (but only before starting a program).
Type: string
Default:
""
Example:
"dsnoop:CARD=0,DEV=2"
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.defaultDevice.playback
The default playback device. Leave empty to let ALSA pick the default automatically.
The device can be changed at runtime by setting the ALSA_AUDIO_OUT environment variables (but only before starting a program).
Type: string
Default:
""
Example:
"dmix:CARD=1,DEV=0"
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.deviceAliases
Assign custom names to sound cards.
Type: attribute set of string
Default:
{ }
Example:
{
hdmi1 = "hw:CARD=videocard,DEV=5";
hdmi2 = "hw:CARD=videocard,DEV=6";
}
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.alsa.plugins
List of ALSA plugins to be added to the search path.
Type: list of package
Default:
[ ]
Example:
[ pkgs.bluez-alsa ]
Declared by:
<nixpkgs/nixos/modules/services/audio/alsa.nix>
|
hardware.amdgpu.initrd.enable
Whether to enable loading amdgpu kernelModule in stage 1.
Can fix lower resolution in boot screen during initramfs phase
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/amdgpu.nix>
|
hardware.amdgpu.legacySupport.enable
Whether to enable using amdgpu kernel driver instead of radeon for Southern Islands
(Radeon HD 7000) series and Sea Islands (Radeon HD 8000)
series cards. Note: this removes support for analog video outputs,
which is only available in the radeon driver
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/amdgpu.nix>
|
hardware.amdgpu.opencl.enable
Whether to enable OpenCL support using ROCM runtime library.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/amdgpu.nix>
|
hardware.amdgpu.overdrive.enable
Whether to enable amdgpu overdrive mode for overclocking.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/amdgpu.nix>
|
hardware.amdgpu.overdrive.ppfeaturemask
Sets the amdgpu.ppfeaturemask kernel option. It can be used to enable the overdrive bit.
Default is 0xfffd7fff as it is less likely to cause flicker issues. Setting it to
0xffffffff enables all features, but also can be unstable. See
the kernel documentation
for more information.
Type: string
Default:
"0xfffd7fff"
Example:
"0xffffffff"
Declared by:
<nixpkgs/nixos/modules/services/hardware/amdgpu.nix>
|
hardware.amdgpu.zluda.enable
Whether to enable CUDA support using ZLUDA runtime library.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/amdgpu.nix>
|
hardware.amdgpu.zluda.package
The zluda package to use.
Type: package
Default:
pkgs.zluda
Declared by:
<nixpkgs/nixos/modules/services/hardware/amdgpu.nix>
|
hardware.apple.touchBar.enable
Whether to enable support for the Touch Bar on some Apple laptops using tiny-dfr.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/apple-touchbar.nix>
|
hardware.apple.touchBar.package
The tiny-dfr package to use.
Type: package
Default:
pkgs.tiny-dfr
Declared by:
<nixpkgs/nixos/modules/hardware/apple-touchbar.nix>
|
hardware.apple.touchBar.settings
Configuration for tiny-dfr. See example configuration for available options.
Type: TOML value
Default:
{ }
Example:
{
MediaLayerDefault = true;
ShowButtonOutlines = false;
EnablePixelShift = true;
}
Declared by:
<nixpkgs/nixos/modules/hardware/apple-touchbar.nix>
|
hardware.bladeRF.enable
Enables udev rules for BladeRF devices. By default grants access to users in the “bladerf” group. You may want to install the libbladeRF package.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/bladeRF.nix>
|
hardware.block.defaultScheduler
Default block I/O scheduler.
Unless null, the value is assigned through a udev rule matching all
block devices.
Type: null or udev rule value
Default:
null
Example:
"kyber"
Declared by:
<nixpkgs/nixos/modules/hardware/iosched.nix>
|
hardware.block.defaultSchedulerExclude
Device name pattern to exclude from default scheduler assignment
through config.hardware.block.defaultScheduler and
config.hardware.block.defaultSchedulerRotational.
By default this excludes loop devices which generally do not benefit from extra I/O scheduling in addition to the scheduling already performed for their backing devices.
This setting does not affect config.hardware.block.scheduler.
Type: null or udev rule value
Default:
"loop[0-9]*"
Declared by:
<nixpkgs/nixos/modules/hardware/iosched.nix>
|
hardware.block.defaultSchedulerRotational
Default block I/O scheduler for rotational drives (e.g. hard disks).
Unless null, the value is assigned through a udev rule matching all
rotational block devices.
This option takes precedence over
config.hardware.block.defaultScheduler.
Type: null or udev rule value
Default:
null
Example:
"bfq"
Declared by:
<nixpkgs/nixos/modules/hardware/iosched.nix>
|
hardware.block.scheduler
Assign block I/O scheduler by device name pattern.
Names are matched using the udev(7) pattern syntax:
*Matches zero or more characters.
?Matches any single character.
[]Matches any single character specified in the brackets. Ranges are
supported via the - character.
|Separates alternative patterns.
Please note that overlapping patterns may produce unexpected results.
More complex configurations requiring these should instead be specified
directly through custom udev rules, for example via
config.services.udev.extraRules,
to ensure correct ordering.
Available schedulers depend on the kernel configuration but modern Linux systems typically support:
noneNo‐operation scheduler with no re‐ordering of requests. Suitable for devices with fast random I/O such as NVMe SSDs.
mq-deadlineSimple latency‐oriented general‐purpose scheduler.
kyberSimple latency‐oriented scheduler for fast multi‐queue devices like NVMe SSDs.
bfqComplex fairness‐oriented scheduler. Higher processing overhead, but good interactive response, especially with slower devices.
Schedulers assigned through this option take precedence over
config.hardware.block.defaultScheduler and
config.hardware.block.defaultSchedulerRotational but may be
overridden by other udev rules.
Type: attribute set of udev rule value
Default:
{ }
Example:
{
"mmcblk[0-9]*" = "bfq";
"nvme[0-9]*" = "kyber";
}
Declared by:
<nixpkgs/nixos/modules/hardware/iosched.nix>
|
hardware.bluetooth.enable
Whether to enable support for Bluetooth.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.bluetooth.package
The bluez package to use.
Type: package
Default:
pkgs.bluez
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.bluetooth.disabledPlugins
Built-in plugins to disable
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.bluetooth.hsphfpd.enable
Whether to enable support for hsphfpd[-prototype] implementation.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.bluetooth.input
Set configuration for the input service (/etc/bluetooth/input.conf). See https://github.com/bluez/bluez/blob/master/profiles/input/input.conf for full list of options.
Type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Example:
{
General = {
ClassicBondedOnly = true;
IdleTimeout = 30;
};
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.bluetooth.network
Set configuration for the network service (/etc/bluetooth/network.conf). See https://github.com/bluez/bluez/blob/master/profiles/network/network.conf for full list of options.
Type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Example:
{
General = {
DisableSecurity = true;
};
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.bluetooth.powerOnBoot
Whether to power up the default Bluetooth controller on boot.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.bluetooth.settings
Set configuration for system-wide bluetooth (/etc/bluetooth/main.conf). See https://github.com/bluez/bluez/blob/master/src/main.conf for full list of options.
Type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Example:
{
General = {
ControllerMode = "bredr";
};
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
|
hardware.brillo.enable
Whether to enable brillo in userspace. This will allow brightness control from users in the video group .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/brillo.nix>
|
hardware.bumblebee.enable
Enable the bumblebee daemon to manage Optimus hybrid video cards. This should power off secondary GPU until its use is requested by running an application with optirun.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/video/bumblebee.nix>
|
hardware.bumblebee.connectDisplay
Set to true if you intend to connect your discrete card to a monitor. This option will set up your Nvidia card for EDID discovery and to turn on the monitor signal.
Only nvidia driver is supported so far.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/video/bumblebee.nix>
|
hardware.bumblebee.driver
Set driver used by bumblebeed. Supported are nouveau and nvidia.
Type: one of “nvidia”, “nouveau”
Default:
"nvidia"
Declared by:
<nixpkgs/nixos/modules/hardware/video/bumblebee.nix>
|
hardware.bumblebee.group
Group for bumblebee socket
Type: string
Default:
"wheel"
Example:
"video"
Declared by:
<nixpkgs/nixos/modules/hardware/video/bumblebee.nix>
|
hardware.bumblebee.pmMethod
Set preferred power management method for unused card.
Type: one of “auto”, “bbswitch”, “switcheroo”, “none”
Default:
"auto"
Declared by:
<nixpkgs/nixos/modules/hardware/video/bumblebee.nix>
|
hardware.ckb-next.enable
Whether to enable the Corsair keyboard/mouse driver.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/ckb-next.nix>
|
hardware.ckb-next.package
The ckb-next package to use.
Type: package
Default:
pkgs.ckb-next
Declared by:
<nixpkgs/nixos/modules/hardware/ckb-next.nix>
|
hardware.ckb-next.gid
Limit access to the ckb daemon to a particular group.
Type: null or signed integer
Default:
null
Example:
100
Declared by:
<nixpkgs/nixos/modules/hardware/ckb-next.nix>
|
hardware.coral.pcie.enable
Whether to enable Coral PCIe support.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/coral.nix>
|
hardware.coral.usb.enable
Whether to enable Coral USB support.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/coral.nix>
|
hardware.cpu.amd.microcodePackage
The microcode-amd package to use.
Type: package
Default:
pkgs.microcode-amd
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-microcode.nix>
|
hardware.cpu.amd.ryzen-smu.enable
Whether to enable ryzen_smu, a linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors.
WARNING: 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 .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-ryzen-smu.nix>
|
hardware.cpu.amd.sev.enable
Whether to enable access to the AMD SEV device.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.sev.group
Group to assign to the SEV device.
Type: string
Default:
"sev"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.sev.mode
Mode to set for the SEV device.
Type: string
Default:
"0660"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.sev.user
Owner to assign to the SEV device.
Type: string
Default:
"root"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.sevGuest.enable
Whether to enable access to the AMD SEV guest device.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.sevGuest.group
Group to assign to the SEV guest device.
Type: string
Default:
"sev-guest"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.sevGuest.mode
Mode to set for the SEV guest device.
Type: string
Default:
"0660"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.sevGuest.user
Owner to assign to the SEV guest device.
Type: string
Default:
"root"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-sev.nix>
|
hardware.cpu.amd.updateMicrocode
Update the CPU microcode for AMD processors.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/amd-microcode.nix>
|
hardware.cpu.intel.microcodePackage
The microcode-intel package to use.
Type: package
Default:
pkgs.microcode-intel
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-microcode.nix>
|
hardware.cpu.intel.npu.enable
Whether to enable Intel NPU support.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-npu.nix>
|
hardware.cpu.intel.sgx.enableDcapCompat
Whether to enable backward compatibility for SGX software build for the out-of-tree Intel SGX DCAP driver.
Creates symbolic links for the SGX devices /dev/sgx_enclave
and /dev/sgx_provision to make them available as
/dev/sgx/enclave and /dev/sgx/provision,
respectively.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix>
|
hardware.cpu.intel.sgx.provision.enable
Whether to enable access to the Intel SGX provisioning device.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix>
|
hardware.cpu.intel.sgx.provision.group
Group to assign to the SGX provisioning device.
Type: string
Default:
"sgx_prv"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix>
|
hardware.cpu.intel.sgx.provision.mode
Mode to set for the SGX provisioning device.
Type: string
Default:
"0660"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix>
|
hardware.cpu.intel.sgx.provision.user
Owner to assign to the SGX provisioning device.
Type: string
Default:
"root"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix>
|
hardware.cpu.intel.updateMicrocode
Update the CPU microcode for Intel processors.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/intel-microcode.nix>
|
hardware.cpu.x86.msr.enable
Whether to enable the msr (Model-Specific Registers) kernel module and configure udev rules for its devices (usually /dev/cpu/*/msr).
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/x86-msr.nix>
|
hardware.cpu.x86.msr.group
Group to set for devices of the msr kernel subsystem.
Type: string
Default:
"msr"
Example:
"users"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/x86-msr.nix>
|
hardware.cpu.x86.msr.mode
Mode to set for devices of the msr kernel subsystem.
Type: string
Default:
"0640"
Example:
"0660"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/x86-msr.nix>
|
hardware.cpu.x86.msr.owner
Owner to set for devices of the msr kernel subsystem.
Type: string
Default:
"root"
Example:
"alice"
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/x86-msr.nix>
|
hardware.cpu.x86.msr.settings
Parameters for the msr kernel module.
Type: open submodule of attribute set of (boolean or signed integer or string)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/x86-msr.nix>
|
hardware.cpu.x86.msr.settings.allow-writes
Whether to allow writes to MSRs ("on") or not ("off").
Type: null or one of “on”, “off”
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/cpu/x86-msr.nix>
|
hardware.decklink.enable
Whether to enable hardware support for the Blackmagic Design Decklink audio/video interfaces.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/decklink.nix>
|
hardware.deviceTree.enable
Build device tree files. These are used to describe the non-discoverable hardware of a system.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.dtbSource
Path to dtb directory that overlays and other processing will be applied to. Uses device trees bundled with the Linux kernel by default.
Type: absolute path
Default:
${cfg.kernelPackage}/dtbs
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.dtboBuildExtraIncludePaths
Additional include paths that will be passed to the preprocessor when creating the final .dts to compile into .dtbo
Type: list of absolute path
Default:
[ ]
Example:
[
./my_custom_include_dir_1
./custom_include_dir_2
]
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.dtboBuildExtraPreprocessorFlags
Additional flags to pass to the preprocessor during dtbo compilations
Type: list of string
Default:
[ ]
Example:
[ "-DMY_DTB_DEFINE" ]
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.filter
Only include .dtb files matching glob expression.
Type: null or string
Default:
null
Example:
"*rpi*.dtb"
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.kernelPackage
Kernel package where device tree include directory is from. Also used as default source of dtb package to apply overlays to
Type: absolute path
Default:
config.boot.kernelPackages.kernel
Example:
pkgs.linux_latest
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.name
The name of an explicit dtb to be loaded, relative to the dtb base. Useful in extlinux scenarios if the bootloader doesn’t pick the right .dtb file from FDTDIR.
Type: null or string
Default:
null
Example:
"some-dtb.dtb"
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.overlays
List of overlays to apply to base device-tree (.dtb) files.
Type: list of ((submodule) or absolute path convertible to it)
Default:
[ ]
Example:
[
{ name = "pps"; dtsFile = ./dts/pps.dts; }
{ name = "spi";
dtsText = "...";
}
{ name = "precompiled"; dtboFile = ./dtbos/example.dtbo; }
]
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.overlays.*.dtboFile
Path to .dtbo compiled overlay file.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.overlays.*.dtsFile
Path to .dts overlay file, overlay is applied to each .dtb file matching “compatible” of the overlay.
Type: null or absolute path
Default:
null
Example:
./dts/overlays.dts
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.overlays.*.dtsText
Literal DTS contents, overlay is applied to each .dtb file matching “compatible” of the overlay.
Type: null or string
Default:
null
Example:
''
/dts-v1/;
/plugin/;
/ {
compatible = "raspberrypi";
};
&{/soc} {
pps {
compatible = "pps-gpio";
status = "okay";
};
};
''
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.overlays.*.filter
Only apply to .dtb files matching glob expression.
Type: null or string
Default:
null
Example:
"*rpi*.dtb"
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.deviceTree.overlays.*.name
Name of this overlay
Type: string
Declared by:
<nixpkgs/nixos/modules/hardware/device-tree.nix>
|
hardware.digitalbitbox.enable
Enables udev rules for Digital Bitbox devices.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/digitalbitbox.nix>
|
hardware.digitalbitbox.package
The digitalbitbox package to use. This can be used to install a package with udev rules that differ from the defaults.
Type: package
Default:
pkgs.digitalbitbox
Declared by:
<nixpkgs/nixos/modules/hardware/digitalbitbox.nix>
|
hardware.display.edid.enable
Enables handling of EDID files
Type: boolean
Default:
config.hardware.display.edid.packages != null
Declared by:
<nixpkgs/nixos/modules/services/hardware/display.nix>
|
hardware.display.edid.packages
List of packages containing EDID binary files at $out/lib/firmware/edid.
Such files will be available for use in drm.edid_firmware kernel
parameter as edid/<filename>.
You can craft one directly here or use sibling options linuxhw and modelines.
Type: list of package
Default:
[ ]
Example:
[
(pkgs.runCommand "edid-custom" {} ''
mkdir -p "$out/lib/firmware/edid"
base64 -d > "$out/lib/firmware/edid/custom1.bin" <<'EOF'
<insert your base64 encoded EDID file here `base64 < /sys/class/drm/card0-.../edid`>
EOF
'')
]
Declared by:
<nixpkgs/nixos/modules/services/hardware/display.nix>
|
hardware.display.edid.linuxhw
Exposes EDID files from users-sourced database at https://github.com/linuxhw/EDID
Attribute names will be mapped to EDID filenames <NAME>.bin.
Attribute values are lists of awk regexp patterns that (together) must match
exactly one line in either of:
There is no universal way of locating your device config, but here are some practical tips:
locate your device:
find your model number (second column)
locate manufacturer (first column) and go through the list manually
narrow down results using other columns until there is only one left:
Name column
production date (Made column)
resolution Res
screen diagonal (Inch column)
as a last resort use ID from the last column
Type: attribute set of list of string
Default:
{ }
Example:
{
PG278Q_2014 = [ "PG278Q" "2014" ];
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/display.nix>
|
hardware.display.edid.modelines
Attribute set of XFree86 Modelines automatically converted
and exposed as edid/<name>.bin files in initrd.
See for more information:
Type: attribute set of string
Default:
{ }
Example:
{
"PG278Q_60" = " 241.50 2560 2608 2640 2720 1440 1443 1448 1481 -hsync +vsync";
"PG278Q_120" = " 497.75 2560 2608 2640 2720 1440 1443 1448 1525 +hsync -vsync";
"U2711_60" = " 241.50 2560 2600 2632 2720 1440 1443 1448 1481 -hsync +vsync";
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/display.nix>
|
hardware.display.outputs
Hardware/kernel-level configuration of specific outputs.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
edid.modelines."PG278Q_60" = "241.50 2560 2608 2640 2720 1440 1443 1448 1481 -hsync +vsync";
outputs."DP-1".edid = "PG278Q_60.bin";
outputs."DP-1".mode = "e";
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/display.nix>
|
hardware.display.outputs.<name>.edid
An EDID filename to be used for configured display, as in edid/<filename>.
See for more information:
hardware.display.edid.packages
https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/hardware/display.nix>
|
hardware.display.outputs.<name>.mode
A video kernel parameter (framebuffer mode) configuration for the specific output:
<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
See for more information:
Type: null or string
Default:
null
Example:
"e"
Declared by:
<nixpkgs/nixos/modules/services/hardware/display.nix>
|
hardware.facetimehd.enable
Whether to enable the facetimehd kernel module.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/webcam/facetimehd.nix>
|
hardware.facetimehd.withCalibration
Whether to include sensor calibration files for facetimehd. This makes colors look much better but is experimental, see https://github.com/patjak/facetimehd/wiki/Extracting-the-sensor-calibration-files for details.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/webcam/facetimehd.nix>
|
hardware.facter.enable
Whether to enable automatic hardware configuration using a report generated by nixos-facter.
See https://nix-community.github.io/nixos-facter/ for more information.
Type: boolean
Default:
config.hardware.facter.report != { }
Declared by:
<nixpkgs/nixos/modules/hardware/facter>
|
hardware.facter.debug.nix-diff
A shell application which will produce a nix-diff of the system closure with and without facter enabled.
Type: package
Declared by:
<nixpkgs/nixos/modules/hardware/facter/debug.nix>
|
hardware.facter.debug.nvd
A shell application which will produce an nvd diff of the system closure with and without facter enabled.
Type: package
Declared by:
<nixpkgs/nixos/modules/hardware/facter/debug.nix>
|
hardware.facter.detected.bluetooth.enable
Whether to enable Enable the Facter bluetooth module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/bluetooth.nix>
|
hardware.facter.detected.boot.disk.kernelModules
List of kernel modules that are needed to access the disk.
Type: list of string
Default:
"hardware dependent"
Declared by:
<nixpkgs/nixos/modules/hardware/facter/disk.nix>
|
hardware.facter.detected.boot.graphics.kernelModules
List of kernel modules to load at boot for the graphics card.
Type: list of string
Default:
"hardware dependent"
Declared by:
<nixpkgs/nixos/modules/hardware/facter/graphics>
|
hardware.facter.detected.boot.initrd.networking.kernelModules
List of kernel modules to include in the initrd to support networking.
Type: list of string
Default:
"hardware dependent"
Declared by:
<nixpkgs/nixos/modules/hardware/facter/networking/initrd.nix>
|
hardware.facter.detected.boot.keyboard.kernelModules
List of kernel modules to include in the initrd to support the keyboard.
Type: list of string
Default:
"hardware dependent"
Example:
[
"usbhid"
]
Declared by:
<nixpkgs/nixos/modules/hardware/facter/keyboard.nix>
|
hardware.facter.detected.camera.ipu6.enable
Whether to enable webcams using ipu6 from Intel.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/camera/ipu6.nix>
|
hardware.facter.detected.dhcp.enable
Whether to enable Facter dhcp module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/networking>
|
hardware.facter.detected.dhcp.interfaces
List of network interface names to configure with DHCP. Defaults to auto-detected physical interfaces.
Type: list of string
Default:
automatically detected from facter report
Example:
[
"eth0"
"wlan0"
]
Declared by:
<nixpkgs/nixos/modules/hardware/facter/networking>
|
hardware.facter.detected.fingerprint.enable
Whether to enable Fingerprint devices.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/fingerprint>
|
hardware.facter.detected.graphics.enable
Whether to enable Enable the Graphics module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/graphics>
|
hardware.facter.detected.graphics.amd.enable
Whether to enable Enable the AMD Graphics module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/graphics/amd.nix>
|
hardware.facter.detected.networking.intel._2200BG.enable
Whether to enable the Facter Intel 2200BG module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/networking/intel.nix>
|
hardware.facter.detected.networking.intel._3945ABG.enable
Whether to enable the Facter Intel 3945ABG module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/networking/intel.nix>
|
hardware.facter.detected.uefi.supported
Whether to enable the facter uefi module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/boot.nix>
|
hardware.facter.detected.virtualisation.hyperv.enable
Whether to enable Enable the Facter Virtualisation Hyper-V module.
Type: boolean
Default:
"environment dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/virtualisation.nix>
|
hardware.facter.detected.virtualisation.none.enable
Whether to enable Enable the Facter Virtualisation None module.
Type: boolean
Default:
"environment dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/virtualisation.nix>
|
hardware.facter.detected.virtualisation.oracle.enable
Whether to enable Enable the Facter Virtualisation Oracle module.
Type: boolean
Default:
"environment dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/virtualisation.nix>
|
hardware.facter.detected.virtualisation.parallels.enable
Whether to enable Enable the Facter Virtualisation Parallels module.
Type: boolean
Default:
"environment dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/virtualisation.nix>
|
hardware.facter.detected.virtualisation.qemu.enable
Whether to enable Enable the Facter Virtualisation Qemu module.
Type: boolean
Default:
"environment dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/virtualisation.nix>
|
hardware.facter.detected.virtualisation.virtio_scsi.enable
Whether to enable Enable the Facter Virtualisation Virtio SCSI module.
Type: boolean
Default:
"hardware dependent"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/facter/virtualisation.nix>
|
hardware.facter.report
Hardware report data generated by nixos-facter.
See https://nix-community.github.io/nixos-facter/ for more information.
Type: attribute set of anything
Default:
"A JSON import from config.hardware.facter.reportPath (if not null), {} otherwise."
Declared by:
<nixpkgs/nixos/modules/hardware/facter>
|
hardware.facter.reportPath
Path to a hardware report generated by nixos-facter.
To generate a report, run the following as root:
nix-shell -p nixos-facter --run nixos-facter > facter.json
See https://nix-community.github.io/nixos-facter/ for more information.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/facter>
|
hardware.fancontrol.enable
Whether to enable software fan control (requires fancontrol.config).
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/fancontrol.nix>
|
hardware.fancontrol.config
Required fancontrol configuration file content. See pwmconfig(8) from the lm_sensors package.
Type: strings concatenated with “\n”
Example:
''
# Configuration file generated by pwmconfig
INTERVAL=10
DEVPATH=hwmon3=devices/virtual/thermal/thermal_zone2 hwmon4=devices/platform/f71882fg.656
DEVNAME=hwmon3=soc_dts1 hwmon4=f71869a
FCTEMPS=hwmon4/device/pwm1=hwmon3/temp1_input
FCFANS=hwmon4/device/pwm1=hwmon4/device/fan1_input
MINTEMP=hwmon4/device/pwm1=35
MAXTEMP=hwmon4/device/pwm1=65
MINSTART=hwmon4/device/pwm1=150
MINSTOP=hwmon4/device/pwm1=0
''
Declared by:
<nixpkgs/nixos/modules/services/hardware/fancontrol.nix>
|
hardware.firmware
List of packages containing firmware files. Such files will be loaded automatically if the kernel asks for them (i.e., when it has detected specific hardware that requires firmware to function). If multiple packages contain firmware files with the same name, the first package in the list takes precedence. Note that you must rebuild your system if you add files to any of these directories.
Type: list of package
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/udev.nix>
|
hardware.firmwareCompression
Whether to compress firmware files. Defaults depend on the kernel version. For kernels older than 5.3, firmware files are not compressed. For kernels 5.3 and newer, firmware files are compressed with xz. For kernels 5.19 and newer, firmware files are compressed with zstd.
Type: one of “xz”, “zstd”, “none”
Default:
"auto"
Declared by:
<nixpkgs/nixos/modules/services/hardware/udev.nix>
|
hardware.flipperzero.enable
Whether to enable udev rules and software for Flipper Zero devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/flipperzero.nix>
|
hardware.flirc.enable
Whether to enable software to configure a Flirc USB device.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/flirc.nix>
|
hardware.fw-fanctrl.enable
Whether to enable the fw-fanctrl systemd service and install the needed packages.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.package
The fw-fanctrl package to use.
Type: package
Default:
pkgs.fw-fanctrl
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config
Additional config entries for the fw-fanctrl service (documentation: https://github.com/TamtamHero/fw-fanctrl/blob/main/doc/configuration.md)
Type: open submodule of attribute set of (JSON value)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.defaultStrategy
Default strategy to use
Type: string
Default:
"lazy"
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.strategies
Additional strategies which can be used by fw-fanctrl
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.strategies.<name>.fanSpeedUpdateFrequency
How often the fan speed should be updated in seconds
Type: unsigned integer, meaning >=0
Default:
5
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.strategies.<name>.movingAverageInterval
Interval (seconds) of the last temperatures to use to calculate the average temperature
Type: unsigned integer, meaning >=0
Default:
25
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.strategies.<name>.speedCurve
How should the speed curve look like
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.strategies.<name>.speedCurve.*.speed
Percent how fast the fan should run at
Type: integer between 0 and 100 (both inclusive)
Default:
0
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.strategies.<name>.speedCurve.*.temp
Temperature in °C at which the fan speed should be changed
Type: signed integer
Default:
0
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.config.strategyOnDischarging
Default strategy on discharging
Type: string
Default:
""
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.disableBatteryTempCheck
Disable checking battery temperature sensor
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.fw-fanctrl.ectoolPackage
The fw-ectool package to use.
Type: package
Default:
pkgs.fw-ectool
Declared by:
<nixpkgs/nixos/modules/hardware/fw-fanctrl.nix>
|
hardware.glasgow.enable
Enables Glasgow udev rules and ensures ‘plugdev’ group exists. This is a prerequisite to using Glasgow without being root.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/glasgow.nix>
|
hardware.gpgSmartcards.enable
Whether to enable udev rules for gnupg smart cards.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/gpgsmartcards.nix>
|
hardware.graphics.enable
Whether to enable hardware accelerated graphics drivers.
This is required to allow most graphical applications and environments to use hardware rendering, video encode/decode acceleration, etc.
This option should be enabled by default by the corresponding modules, so you do not usually have to set it yourself.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/graphics.nix>
|
hardware.graphics.enable32Bit
On 64-bit systems, whether to also install 32-bit drivers for 32-bit applications (such as Wine).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/graphics.nix>
|
hardware.graphics.package
The package that provides the default driver set.
Type: package
Declared by:
<nixpkgs/nixos/modules/hardware/graphics.nix>
|
hardware.graphics.package32
The package that provides the 32-bit driver set. Used when enable32Bit is enabled.
Type: package
Declared by:
<nixpkgs/nixos/modules/hardware/graphics.nix>
|
hardware.graphics.extraPackages
Additional packages to add to the default graphics driver lookup path. This can be used to add OpenCL drivers, VA-API/VDPAU drivers, etc.
intel-media-driver supports hardware Broadwell (2014) or newer. Older hardware should use the mostly unmaintained intel-vaapi-driver driver.
Type: list of package
Default:
[ ]
Example:
with pkgs; [ intel-media-driver intel-ocl intel-vaapi-driver ]
Declared by:
<nixpkgs/nixos/modules/hardware/graphics.nix>
|
hardware.graphics.extraPackages32
Additional packages to add to 32-bit graphics driver lookup path on 64-bit systems.
Used when enable32Bit is set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers, etc.
intel-media-driver supports hardware Broadwell (2014) or newer. Older hardware should use the mostly unmaintained intel-vaapi-driver driver.
Type: list of package
Default:
[ ]
Example:
with pkgs.pkgsi686Linux; [ intel-media-driver intel-vaapi-driver ]
Declared by:
<nixpkgs/nixos/modules/hardware/graphics.nix>
|
hardware.hackrf.enable
Enables hackrf udev rules and ensures ‘plugdev’ group exists. This is a prerequisite to using HackRF devices without being root, since HackRF USB descriptors will be owned by plugdev through udev. Ensure your user is a member of the ‘plugdev’ group after enabling.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/hackrf.nix>
|
hardware.hid-fanatecff.enable
Whether to enable hid-fanatecff, a Linux kernel driver that aims to add support for Fanatec devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/hid-fanatecff.nix>
|
hardware.i2c.enable
Whether to enable i2c devices support. By default access is granted to users in the “i2c” group (will be created if non-existent) and any user with a seat, meaning logged on the computer locally .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/i2c.nix>
|
hardware.i2c.group
Grant access to i2c devices (/dev/i2c-*) to users in this group.
Type: string
Default:
"i2c"
Declared by:
<nixpkgs/nixos/modules/hardware/i2c.nix>
|
hardware.infiniband.enable
Whether to enable Infiniband support.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/infiniband.nix>
|
hardware.infiniband.guids
A list of infiniband port guids on the system. This is discoverable using ibstat -p
Type: list of string
Default:
[ ]
Example:
[
"0xe8ebd30000eee2e1"
]
Declared by:
<nixpkgs/nixos/modules/hardware/infiniband.nix>
|
hardware.inputmodule.enable
Whether to enable Support for Framework input modules.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/inputmodule.nix>
|
hardware.intel-gpu-tools.enable
Whether to enable a setcap wrapper for intel-gpu-tools.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/intel-gpu-tools.nix>
|
hardware.ipu6.enable
Whether to enable support for Intel IPU6/MIPI cameras.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/webcam/ipu6.nix>
|
hardware.ipu6.platform
Choose the version for your hardware platform.
Use ipu6 for Tiger Lake, ipu6ep for Alder Lake or Raptor Lake,
and ipu6epmtl for Meteor Lake.
Type: one of “ipu6”, “ipu6ep”, “ipu6epmtl”
Declared by:
<nixpkgs/nixos/modules/hardware/video/webcam/ipu6.nix>
|
hardware.ipu6.videoDeviceNumber
v4l2loopback device number for the relay output (/dev/videoN).
Must be fixed so application camera permission grants, which are keyed to the PipeWire node name (derived from the sysfs device path), survive reboots. Choose a number above the IPU6 raw node range (typically 3-34) and any other v4l2loopback devices on the system.
Type: signed integer
Default:
50
Declared by:
<nixpkgs/nixos/modules/hardware/video/webcam/ipu6.nix>
|
hardware.keyboard.qmk.enable
Whether to enable non-root access to the firmware of QMK keyboards.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/keyboard/qmk.nix>
|
hardware.keyboard.qmk.keychronSupport
Whether to enable udev rules for keychron QMK based keyboards.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/keyboard/qmk.nix>
|
hardware.keyboard.teck.enable
Whether to enable non-root access to the firmware of TECK keyboards.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/keyboard/teck.nix>
|
hardware.keyboard.uhk.enable
Whether to enable non-root access to the firmware of UHK keyboards. You need it when you want to flash a new firmware on the keyboard. Access to the keyboard is granted to users in the “input” group. You may want to install the uhk-agent package .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/keyboard/uhk.nix>
|
hardware.keyboard.zsa.enable
Whether to enable udev rules for keyboards from ZSA like the ErgoDox EZ, Planck EZ and Moonlander Mark I. You need it when you want to flash a new configuration on the keyboard or use their live training in the browser. You may want to install the wally-cli package .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/keyboard/zsa.nix>
|
hardware.kryoflux.enable
Enables kryoflux udev rules, ensures ‘floppy’ group exists. This is a prerequisite to using devices supported by kryoflux without being root, since kryoflux device descriptors will be owned by floppy through udev.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/kryoflux.nix>
|
hardware.kryoflux.package
The kryoflux package to use.
Type: package
Default:
pkgs.kryoflux
Declared by:
<nixpkgs/nixos/modules/hardware/kryoflux.nix>
|
hardware.ksm.enable
Whether to enable Linux kernel Same-Page Merging.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/ksm.nix>
|
hardware.ksm.sleep
How many milliseconds ksmd should sleep between scans.
Setting it to null uses the kernel’s default time.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/ksm.nix>
|
hardware.ledger.enable
Whether to enable udev rules for Ledger devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/ledger.nix>
|
hardware.libftdi.enable
Whether to enable udev rules for devices supported by libftdi.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/libftdi.nix>
|
hardware.libftdi.package
The libftdi1 package to use.
Type: package
Default:
pkgs.libftdi1
Declared by:
<nixpkgs/nixos/modules/hardware/libftdi.nix>
|
hardware.libjaylink.enable
Whether to enable udev rules for devices supported by libjaylink.
Add users to the jlink group in order to grant
them access
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/libjaylink.nix>
|
hardware.libjaylink.package
The libjaylink package to use.
Type: package
Default:
pkgs.libjaylink
Declared by:
<nixpkgs/nixos/modules/hardware/libjaylink.nix>
|
hardware.logitech.lcd.enable
Whether to enable support for Logitech LCD Devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/logitech.nix>
|
hardware.logitech.lcd.devices
List of USB device ids supported by g15daemon.
You most likely do not need to change this.
Type: list of string
Default:
[
"0a07"
"c222"
"c225"
"c227"
"c251"
]
Declared by:
<nixpkgs/nixos/modules/hardware/logitech.nix>
|
hardware.logitech.lcd.startWhenNeeded
Only run the service when an actual supported device is plugged.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/hardware/logitech.nix>
|
hardware.logitech.wireless.enable
Whether to enable support for Logitech Wireless Devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/logitech.nix>
|
hardware.logitech.wireless.enableGraphical
Enable graphical support applications.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/logitech.nix>
|
hardware.mcelog.enable
Enable the Machine Check Exception logger.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/mcelog.nix>
|
hardware.mwProCapture.enable
Whether to enable the Magewell Pro Capture family kernel module.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix>
|
hardware.new-lg4ff.enable
Enables improved Linux module drivers for Logitech driving wheels. This will replace the existing in-kernel hid-logitech modules. Works most notably on the Logitech G25, G27, G29 and Driving Force (GT).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/new-lg4ff.nix>
|
hardware.nfc-nci.enable
Whether to enable PN5xx kernel module with udev rules, libnfc-nci userland, and optional ifdnfc-nci PC/SC driver.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/nfc-nci.nix>
|
hardware.nfc-nci.enableIFD
Register ifdnfc-nci as a serial reader with pcscd.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/hardware/nfc-nci.nix>
|
hardware.nfc-nci.settings
Configuration to be written to the libncf-nci configuration files. To understand the configuration format, refer to https://github.com/NXPNFCLinux/linux_libnfc-nci/tree/master/conf.
Type: attribute set
Default:
{
init = {
NXPLOG_EXTNS_LOGLEVEL = "0x01";
NXPLOG_FWDNLD_LOGLEVEL = "0x00";
NXPLOG_GLOBAL_LOGLEVEL = "0x01";
NXPLOG_NCIHAL_LOGLEVEL = "0x01";
NXPLOG_NCIR_LOGLEVEL = "0x01";
NXPLOG_NCIX_LOGLEVEL = "0x01";
NXPLOG_TML_LOGLEVEL = "0x01";
NXP_ACT_PROP_EXTN = "{2F, 02, 00}";
NXP_CORE_STANDBY = "{2F, 00, 01, 01}";
NXP_I2C_FRAGMENTATION_ENABLED = "0x01";
NXP_NFC_DEV_NODE = "\"/dev/pn544\"";
NXP_NFC_PROFILE_EXTN = ''
{20, 02, 05, 01,
A0, 44, 01, 00
}
'';
};
nci = {
APPL_TRACE_LEVEL = "0x01";
HOST_LISTEN_TECH_MASK = "0x07";
P2P_LISTEN_TECH_MASK = "0xC5";
POLLING_TECH_MASK = "0xEF";
PROTOCOL_TRACE_LEVEL = "0x01";
};
pn54x = {
MIFARE_READER_ENABLE = "0x01";
NXP_CORE_CONF = ''
{20, 02, 2B, 0D,
28, 01, 00,
21, 01, 00,
30, 01, 08,
31, 01, 03,
33, 04, 04, 03, 02, 01,
54, 01, 06,
50, 01, 02,
5B, 01, 00,
60, 01, 0E,
80, 01, 01,
81, 01, 01,
82, 01, 0E,
18, 01, 01
}
'';
NXP_CORE_CONF_EXTN = ''
{20, 02, 30, 04,
A0, 5E, 01, 01,
A0, 40, 01, 00,
A0, 43, 01, 00,
A0, 0F, 20,
00, 03, 1D, 01, 03, 00, 02, 00,
01, 00, 01, 00, 00, 00, 00, 00,
00, 00, 00, 00, 00, 00, 00, 00,
00, 00, 00, 00, 00, 00, 00, 00
}
'';
NXP_EXT_TVDD_CFG = "0x01";
NXP_EXT_TVDD_CFG_1 = ''
{20, 02, 07, 01,
A0, 0E, 03, 16, 09, 00
}
'';
NXP_NFC_MAX_EE_SUPPORTED = "0x00";
NXP_NFC_PROPRIETARY_CFG = "{05:FF:FF:06:81:80:70:FF:FF}";
NXP_SYS_CLK_FREQ_SEL = "0x00";
NXP_SYS_CLK_SRC_SEL = "0x01";
NXP_SYS_CLOCK_TO_CFG = "0x01";
};
}
Declared by:
<nixpkgs/nixos/modules/hardware/nfc-nci.nix>
|
hardware.nitrokey.enable
Enables udev rules for Nitrokey devices.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/nitrokey.nix>
|
hardware.nvidia.enabled
True if NVIDIA support is enabled
Type: boolean (read only)
Default:
true if NVIDIA support is enabled
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.package
The NVIDIA driver package to use.
Prefer using hardware.nvidia.branch when possible.
If you set this option, it is recommended to pick a package from
config.boot.kernelPackages.nvidiaPackages so the driver build matches
your configured kernel.
For custom versions, you can use nvidiaPackages.mkDriver; see
pkgs/os-specific/linux/nvidia-x11/default.nix for examples.
Type: package
Default:
config.boot.kernelPackages.nvidiaPackages.${config.hardware.nvidia.branch}
Example:
config.boot.kernelPackages.nvidiaPackages.legacy_470
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.branch
The branch of the NVIDIA driver to use.
Note: if hardware.nvidia.package is set, it overrides this option.
Commonly interesting branches for end users:
production, new_feature, beta: NVIDIA’s official production / new feature / beta release branches.
stable: The default; the highest stable version.
latest:
Whichever is newer of production and new_feature.
bleeding_edge:
Whichever is newer of latest and beta.
legacy_580: The long-lived 580 series (LTSB), for GPUs that newer driver branches no longer support (often Maxwell through Volta; roughly GeForce GTX 9xx through 10xx, plus rare Volta cards like TITAN V).
vulkan_beta: The Vulkan developer beta driver, for users interested in testing new Vulkan features.
Type: one of the available driver branches in `pkgs/os-specific/linux/nvidia-x11/default.nix`
Default:
if config.hardware.nvidia.datacenter.enable then "dc" else "stable"
Example:
"bleeding_edge"
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.datacenter.enable
Whether to enable Data Center drivers for NVIDIA cards on a NVLink topology .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.datacenter.settings
Additional configuration options for fabricmanager.
Type: attribute set of (atom (null, bool, int, float or string))
Default:
{
LOG_LEVEL=4;
LOG_FILE_NAME="/var/log/fabricmanager.log";
LOG_APPEND_TO_LOG=1;
LOG_FILE_MAX_SIZE=1024;
LOG_USE_SYSLOG=0;
DAEMONIZE=1;
BIND_INTERFACE_IP="127.0.0.1";
STARTING_TCP_PORT=16000;
FABRIC_MODE=0;
FABRIC_MODE_RESTART=0;
STATE_FILE_NAME="/var/tmp/fabricmanager.state";
FM_CMD_BIND_INTERFACE="127.0.0.1";
FM_CMD_PORT_NUMBER=6666;
FM_STAY_RESIDENT_ON_FAILURES=0;
ACCESS_LINK_FAILURE_MODE=0;
TRUNK_LINK_FAILURE_MODE=0;
NVSWITCH_FAILURE_MODE=0;
ABORT_CUDA_JOBS_ON_FM_EXIT=1;
}
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.dynamicBoost.enable
Whether to enable dynamic Boost balances power between the CPU and the GPU for improved performance on supported laptops using the nvidia-powerd daemon. For more information, see the NVIDIA docs, on Chapter 23. Dynamic Boost on Linux .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.forceFullCompositionPipeline
Whether to enable forcefully the full composition pipeline. This sometimes fixes screen tearing issues. This has been reported to reduce the performance of some OpenGL applications and may produce issues in WebGL. It also drastically increases the time the driver needs to clock down after load .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.gsp.enable
Whether to enable the GPU System Processor (GSP) on the video card .
Type: boolean
Default:
config.hardware.nvidia.open == true || lib.versionAtLeast config.hardware.nvidia.package.version "555"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.modesetting.enable
Whether to enable kernel modesetting when using the NVIDIA proprietary driver.
Enabling this fixes screen tearing when using Optimus via PRIME (see
hardware.nvidia.prime.sync.enable. This is not enabled
by default because it is not officially supported by NVIDIA and would not
work with SLI.
Enabling this and using version 545 or newer of the proprietary NVIDIA driver causes it to provide its own framebuffer device, which can cause Wayland compositors to work when they otherwise wouldn’t. .
Type: boolean
Default:
lib.versionAtLeast cfg.package.version "535"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.moduleParams
Additional parameters to pass to the NVIDIA kernel module.
Type: attribute set of attribute set of raw value
Default:
{ }
Example:
''
{
nvidia = {
NVreg_UsePageAttributeTable = 1;
NVreg_RegistryDwords = "EnableBrightnessControl=1"
};
}
''
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.nvidiaPersistenced
Whether to enable nvidia-persistenced a update for NVIDIA GPU headless mode, i.e. It ensures all GPUs stay awake even during headless mode .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.nvidiaSettings
Whether to enable nvidia-settings, NVIDIA’s GUI configuration tool .
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.open
Whether to enable the open source NVIDIA kernel module.
Type: null or boolean
Default:
if lib.versionOlder config.hardware.nvidia.package.version "560" then false else null
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.powerManagement.enable
Whether to enable experimental power management through systemd. For more information, see the NVIDIA docs, on Chapter 21. Configuring Power Management Support .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.powerManagement.finegrained
Whether to enable experimental power management of PRIME offload. For more information, see the NVIDIA docs, on Chapter 22. PCI-Express Runtime D3 (RTD3) Power Management .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.powerManagement.kernelSuspendNotifier
Whether to enable NVIDIA driver support for kernel suspend notifiers, which allows the driver to be notified of suspend and resume events by the kernel, rather than relying on systemd services. Requires NVIDIA driver version 595 or newer, and the open source kernel modules. .
Type: boolean
Default:
config.hardware.nvidia.open == true && lib.versionAtLeast config.hardware.nvidia.package.version "595"
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.allowExternalGpu
Whether to enable configuring X to allow external NVIDIA GPUs when using Prime [Reverse] sync optimus .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.amdgpuBusId
Bus ID of the AMD APU. You can find it using lspci; for example if lspci shows the AMD APU at “0001:02:03.4”, set this option to “PCI:2@1:3:4”.
lspci might omit the PCI domain (0001 in above example) if it is zero. In which case, use “@0” instead.
Please be aware that this option takes decimal address while lspci reports hexadecimal address. So for device at domain “10000”, use “@65536”.
Type: string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?
Default:
""
Example:
"PCI:4@0:0:0"
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.intelBusId
Bus ID of the Intel GPU. You can find it using lspci; for example if lspci shows the Intel GPU at “0001:02:03.4”, set this option to “PCI:2@1:3:4”.
lspci might omit the PCI domain (0001 in above example) if it is zero. In which case, use “@0” instead.
Please be aware that this option takes decimal address while lspci reports hexadecimal address. So for device at domain “10000”, use “@65536”.
Type: string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?
Default:
""
Example:
"PCI:0@0:2:0"
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.nvidiaBusId
Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci shows the NVIDIA GPU at “0001:02:03.4”, set this option to “PCI:2@1:3:4”.
lspci might omit the PCI domain (0001 in above example) if it is zero. In which case, use “@0” instead.
Please be aware that this option takes decimal address while lspci reports hexadecimal address. So for device at domain “10000”, use “@65536”.
Type: string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?
Default:
""
Example:
"PCI:1@0:0:0"
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.offload.enable
Whether to enable render offload support using the NVIDIA proprietary driver via PRIME.
If this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to
be specified (hardware.nvidia.prime.nvidiaBusId and
hardware.nvidia.prime.intelBusId or
hardware.nvidia.prime.amdgpuBusId)
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.offload.enableOffloadCmd
Whether to enable adding a nvidia-offload convenience script to environment.systemPackages
for offloading programs to an nvidia device. To work, you must also enable
hardware.nvidia.prime.offload.enable or hardware.nvidia.prime.reverseSync.enable.
Example usage: nvidia-offload sauerbraten_client
This script can be renamed with hardware.nvidia.prime.offload.enableOffloadCmd.
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.offload.offloadCmdMainProgram
Specifies the CLI name of the hardware.nvidia.prime.offload.enableOffloadCmd
convenience script for offloading programs to an nvidia device.
Type: string
Default:
"nvidia-offload"
Example:
"prime-run"
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.reverseSync.enable
Whether to enable NVIDIA Optimus support using the NVIDIA proprietary driver via reverse PRIME. If enabled, the Intel/AMD GPU will be used for all rendering, while enabling output to displays attached only to the NVIDIA GPU without a multiplexer.
Warning: This feature is relatively new, depending on your system this might work poorly. AMD support, especially so. See: https://forums.developer.nvidia.com/t/the-all-new-outputsink-feature-aka-reverse-prime/129828
Note that this option only has any effect if the “nvidia” driver is specified
in services.xserver.videoDrivers, and it should preferably
be the only driver there.
If this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to
be specified (hardware.nvidia.prime.nvidiaBusId and
hardware.nvidia.prime.intelBusId or
hardware.nvidia.prime.amdgpuBusId).
If you enable this, you may want to also enable kernel modesetting for the
NVIDIA driver (hardware.nvidia.modesetting.enable) in order
to prevent tearing.
Note that this configuration will only be successful when a display manager
for which the services.xserver.displayManager.setupCommands
option is supported is used
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.reverseSync.setupCommands.enable
Whether to enable configure the display manager to be able to use the outputs
attached to the NVIDIA GPU.
Disable in order to configure the NVIDIA GPU outputs manually using xrandr.
Note that this configuration will only be successful when a display manager
for which the services.xserver.displayManager.setupCommands
option is supported is used
.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.prime.sync.enable
Whether to enable NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME. If enabled, the NVIDIA GPU will be always on and used for all rendering, while enabling output to displays attached only to the integrated Intel/AMD GPU without a multiplexer.
Note that this option only has any effect if the “nvidia” driver is specified
in services.xserver.videoDrivers, and it should preferably
be the only driver there.
If this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to
be specified (hardware.nvidia.prime.nvidiaBusId and
hardware.nvidia.prime.intelBusId or
hardware.nvidia.prime.amdgpuBusId).
If you enable this, you may want to also enable kernel modesetting for the
NVIDIA driver (hardware.nvidia.modesetting.enable) in order
to prevent tearing.
Note that this configuration will only be successful when a display manager
for which the services.xserver.displayManager.setupCommands
option is supported is used
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia.videoAcceleration
Whether to enable video acceleration (VA-API).
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/video/nvidia.nix>
|
hardware.nvidia-container-toolkit.enable
Enable dynamic CDI configuration for Nvidia devices by running nvidia-container-toolkit on boot.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.enable-hooks
List of hooks to enable when generating the CDI specification.
Each hook name will be passed as --enable-hook <hook-name> to nvidia-ctk.
Set to an empty list to enable no hooks.
Type: list of non-empty string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.package
The nvidia-container-toolkit package to use.
Type: package
Default:
pkgs.nvidia-container-toolkit
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.csv-files
The path to the list of CSV files to use when generating the CDI specification in CSV mode.
Type: list of absolute path
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.device-name-strategy
Specify the strategy for generating device names,
passed to nvidia-ctk cdi generate. This will affect how
you reference the device using nvidia.com/gpu= in
the container runtime.
Type: one of “index”, “uuid”, “type-index”
Default:
"index"
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.disable-hooks
List of hooks to disable when generating the CDI specification.
Each hook name will be passed as --disable-hook <hook-name> to nvidia-ctk.
Set to an empty list to disable no hooks.
Type: list of non-empty string
Default:
[
"create-symlinks"
]
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.discovery-mode
The mode to use when discovering the available entities.
Type: one of “auto”, “csv”, “nvml”, “wsl”
Default:
"auto"
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.extraArgs
Extra arguments to be passed to nvidia-ctk.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.mount-nvidia-docker-1-directories
Mount nvidia-docker-1 directories on containers: /usr/local/nvidia/lib and /usr/local/nvidia/lib64.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.mount-nvidia-executables
Mount executables nvidia-smi, nvidia-cuda-mps-control, nvidia-cuda-mps-server, nvidia-debugdump, nvidia-powerd and nvidia-ctk on containers.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.mounts
Mounts to be added to every container under the Nvidia CDI profile.
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.mounts.*.containerPath
Container path.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.mounts.*.hostPath
Host path.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.mounts.*.mountOptions
Mount options.
Type: list of string
Default:
[
"ro"
"nosuid"
"nodev"
"bind"
]
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidia-container-toolkit.suppressNvidiaDriverAssertion
Suppress the assertion for installing Nvidia driver. Useful in WSL where drivers are mounted from Windows, not provided by NixOS.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-container-toolkit>
|
hardware.nvidiaOptimus.disable
Completely disable the NVIDIA graphics card and use the integrated graphics processor instead.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/hardware/nvidia-optimus.nix>
|
hardware.onlykey.enable
Enable OnlyKey device (https://crp.to/p/) support.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/onlykey/default.nix>
|
hardware.openrazer.enable
Whether to enable OpenRazer drivers and userspace daemon .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.packages.daemon
The openrazer-daemon package to use.
Type: package
Default:
pkgs.python3Packages.openrazer-daemon
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.packages.kernel
The openrazer kernel package to use.
Type: package
Default:
config.boot.kernelPackages.openrazer
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.batteryNotifier
Settings for device battery notifications.
Type: submodule
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.batteryNotifier.enable
Mouse battery notifier.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.batteryNotifier.frequency
How often battery notifications should be shown (in seconds). A value of 0 disables notifications.
Type: signed integer
Default:
600
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.batteryNotifier.percentage
At what battery percentage the device should reach before sending notifications.
Type: signed integer
Default:
33
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.devicesOffOnScreensaver
Turn off the devices when the systems screensaver kicks in.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.keyStatistics
Collects number of keypresses per hour per key used to generate a heatmap.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.syncEffectsEnabled
Set the sync effects flag to true so any assignment of effects will work across devices.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.users
Usernames to be added to the “openrazer” group, so that they can start and interact with the OpenRazer userspace daemon.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.openrazer.verboseLogging
Whether to enable verbose logging. Logs debug messages.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/openrazer.nix>
|
hardware.opentabletdriver.enable
Enable OpenTabletDriver udev rules, user service and blacklist kernel modules known to conflict with OpenTabletDriver.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/opentabletdriver.nix>
|
hardware.opentabletdriver.package
The opentabletdriver package to use.
Type: package
Default:
pkgs.opentabletdriver
Declared by:
<nixpkgs/nixos/modules/hardware/opentabletdriver.nix>
|
hardware.opentabletdriver.blacklistedKernelModules
Blacklist of kernel modules known to conflict with OpenTabletDriver.
Type: list of string
Default:
[
"hid-uclogic"
"wacom"
]
Declared by:
<nixpkgs/nixos/modules/hardware/opentabletdriver.nix>
|
hardware.opentabletdriver.daemon.enable
Whether to start OpenTabletDriver daemon as a systemd user service.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/hardware/opentabletdriver.nix>
|
hardware.parallels.enable
This enables Parallels Tools for Linux guests.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/virtualisation/parallels-guest.nix>
|
hardware.parallels.package
The prl-tools package to use.
Type: package
Default:
pkgs.prl-tools
Declared by:
<nixpkgs/nixos/modules/virtualisation/parallels-guest.nix>
|
hardware.pcmcia.enable
Enable this option to support PCMCIA card.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/pcmcia.nix>
|
hardware.pcmcia.config
Path to the configuration file which maps the memory, IRQs and ports used by the PCMCIA hardware.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/pcmcia.nix>
|
hardware.pcmcia.firmware
List of firmware used to handle specific PCMCIA card.
Type: list of absolute path
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/hardware/pcmcia.nix>
|
hardware.printers.ensureDefaultPrinter
Ensures the named printer is the default CUPS printer / printer queue.
Type: null or printable string without spaces, # and /
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.printers.ensurePrinters
Will regularly ensure that the given CUPS printers are configured as declared here. If a printer’s options are manually changed afterwards, they will be overwritten eventually. This option will never delete any printer, even if removed from this list. You can check existing printers with lpstat -s and remove printers with lpadmin -x <printer-name>. Printers not listed here can still be manually configured.
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.printers.ensurePrinters.*.description
Optional human-readable description.
Type: null or string
Default:
null
Example:
"Brother HL-5140"
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.printers.ensurePrinters.*.deviceUri
How to reach the printer. lpinfo -v shows a list of supported device URIs and schemes.
Type: string
Example:
"ipp://printserver.local/printers/BrotherHL_Workroom"
"usb://HP/DESKJET%20940C?serial=CN16E6C364BH"
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.printers.ensurePrinters.*.location
Optional human-readable location.
Type: null or string
Default:
null
Example:
"Workroom"
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.printers.ensurePrinters.*.model
Location of the ppd driver file for the printer. lpinfo -m shows a list of supported models.
Type: string
Example:
"gutenprint.${lib.versions.majorMinor (lib.getVersion pkgs.gutenprint)}://brother-hl-5140/expert"
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.printers.ensurePrinters.*.name
Name of the printer / printer queue. May contain any printable characters except “/”, “#”, and space.
Type: printable string without spaces, # and /
Example:
"BrotherHL_Workroom"
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.printers.ensurePrinters.*.ppdOptions
Sets PPD options for the printer. lpoptions [-p printername] -l shows supported PPD options for the given printer.
Type: attribute set of string
Default:
{ }
Example:
{
Duplex = "DuplexNoTumble";
PageSize = "A4";
}
Declared by:
<nixpkgs/nixos/modules/hardware/printers.nix>
|
hardware.raid.HPSmartArray.enable
Whether to enable HP Smart Array kernel modules and CLI utility.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/raid/hpsa.nix>
|
hardware.rasdaemon.enable
Whether to enable RAS logging daemon.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rasdaemon.package
The rasdaemon package to use.
Type: package
Default:
pkgs.rasdaemon
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rasdaemon.config
rasdaemon configuration, currently only used for CE PFA for details, read rasdaemon.outPath/etc/sysconfig/rasdaemon’s comments
Type: strings concatenated with “\n”
Default:
""
Example:
''
# defaults from included config
PAGE_CE_REFRESH_CYCLE="24h"
PAGE_CE_THRESHOLD="50"
PAGE_CE_ACTION="soft"
''
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rasdaemon.extraModules
extra kernel modules to load
Type: list of string
Default:
[ ]
Example:
[
"i7core_edac"
]
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rasdaemon.labels
Additional memory module label descriptions to be placed in /etc/ras/dimm_labels.d/labels
Type: strings concatenated with “\n”
Default:
""
Example:
''
# vendor and model may be shown by 'ras-mc-ctl --mainboard'
vendor: ASRock
product: To Be Filled By O.E.M.
model: B450M Pro4
# these labels are names for the motherboard slots
# the numbers may be shown by `ras-mc-ctl --error-count`
# they are mc:csrow:channel
DDR4_A1: 0.2.0; DDR4_B1: 0.2.1;
DDR4_A2: 0.3.0; DDR4_B2: 0.3.1;
''
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rasdaemon.mainboard
Custom mainboard description, see ras-mc-ctl(8) for more details.
Type: strings concatenated with “\n”
Default:
""
Example:
''
vendor = ASRock
model = B450M Pro4
# it should default to such values from
# /sys/class/dmi/id/board_[vendor|name]
# alternatively one can supply a script
# that returns the same format as above
script = <path to script>
''
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rasdaemon.record
record events via sqlite3, required for ras-mc-ctl
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rasdaemon.testing
Whether to enable error injection infrastructure.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/rasdaemon.nix>
|
hardware.rtl-sdr.enable
Enables rtl-sdr udev rules, ensures ‘plugdev’ group exists, and blacklists DVB kernel modules. This 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.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/rtl-sdr.nix>
|
hardware.rtl-sdr.package
The rtl-sdr package to use.
Type: package
Default:
pkgs.rtl-sdr
Declared by:
<nixpkgs/nixos/modules/hardware/rtl-sdr.nix>
|
hardware.saleae-logic.enable
Whether to enable udev rules for Saleae Logic devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/saleae-logic.nix>
|
hardware.saleae-logic.package
Saleae Logic package to use.
Type: package
Default:
pkgs.saleae-logic-2
Declared by:
<nixpkgs/nixos/modules/hardware/saleae-logic.nix>
|
hardware.sane.enable
Enable support for SANE scanners.
Users in the “scanner” group will gain access to the scanner, or the “lp” group if it’s also a printer.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.backends-package
The sane-backends package to use.
Type: package
Default:
pkgs.sane-backends
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.brscan4.enable
When enabled, will automatically register the “brscan4” sane backend and bring configuration files to their expected location.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
hardware.sane.brscan4.netDevices
The list of network devices that will be registered against the brscan4 sane backend.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
office1 = {
ip = "192.168.1.2";
model = "MFC-7860DW";
};
office2 = {
model = "MFC-7860DW";
nodename = "BRW0080927AFBCE";
};
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
hardware.sane.brscan4.netDevices.<name>.ip
The ip address of the device. If undefined, you will have to provide a nodename.
Type: null or string
Default:
null
Example:
"192.168.1.2"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
hardware.sane.brscan4.netDevices.<name>.model
The model of the network device.
Type: string
Example:
"MFC-7860DW"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
hardware.sane.brscan4.netDevices.<name>.name
The friendly name you give to the network device. If undefined, the name of attribute will be used.
Type: string
Example:
"office1"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
hardware.sane.brscan4.netDevices.<name>.nodename
The node name of the device. If undefined, you will have to provide an ip.
Type: null or string
Default:
null
Example:
"BRW0080927AFBCE"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
hardware.sane.brscan5.enable
Whether to enable the Brother brscan5 sane backend.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix>
|
hardware.sane.brscan5.netDevices
The list of network devices that will be registered against the brscan5 sane backend.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
office1 = {
ip = "192.168.1.2";
model = "MFC-7860DW";
};
office2 = {
model = "MFC-7860DW";
nodename = "BRW0080927AFBCE";
};
}
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix>
|
hardware.sane.brscan5.netDevices.<name>.ip
The ip address of the device. If undefined, you will have to provide a nodename.
Type: null or string
Default:
null
Example:
"192.168.1.2"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix>
|
hardware.sane.brscan5.netDevices.<name>.model
The model of the network device.
Type: string
Example:
"ADS-1200"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix>
|
hardware.sane.brscan5.netDevices.<name>.name
The friendly name you give to the network device. If undefined, the name of attribute will be used.
Type: string
Example:
"office1"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix>
|
hardware.sane.brscan5.netDevices.<name>.nodename
The node name of the device. If undefined, you will have to provide an ip.
Type: null or string
Default:
null
Example:
"BRW0080927AFBCE"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix>
|
hardware.sane.disabledDefaultBackends
Names of backends which are enabled by default but should be disabled.
See $SANE_CONFIG_DIR/dll.conf for the list of possible names.
Type: list of string
Default:
[ ]
Example:
[
"v4l"
]
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.drivers.scanSnap.enable
Whether to enable drivers for the Fujitsu ScanSnap scanners.
The driver files are unfree and extracted from the Windows driver image.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.drivers.scanSnap.package
The epjitsu package to use. Useful if you want to extract the driver files yourself.
The process is described in the /etc/sane.d/epjitsu.conf file in
the sane-backends package.
Type: package
Default:
pkgs.sane-drivers.epjitsu
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.dsseries.enable
When enabled, will automatically register the “dsseries” SANE backend.
This supports the Brother DSmobile scanner series, including the DS-620, DS-720D, DS-820W, and DS-920DW scanners.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix>
|
hardware.sane.extraBackends
Packages providing extra SANE backends to enable.
The example contains the package for HP scanners, and the package for Apple AirScan and Microsoft WSD support (supports many vendors/devices).
Type: list of absolute path
Default:
[ ]
Example:
[ pkgs.hplipWithPlugin pkgs.sane-airscan ]
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.netConf
Network hosts that should be probed for remote scanners.
Type: strings concatenated with “\n”
Default:
""
Example:
"192.168.0.16"
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.openFirewall
Open ports needed for discovery of scanners on the local network, e.g. needed for Canon scanners (BJNP protocol).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sane.snapshot
Use a development snapshot of SANE scanner drivers.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/hardware/sane.nix>
|
hardware.sata.timeout.enable
Whether to enable SATA drive timeouts.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/sata.nix>
|
hardware.sata.timeout.deciSeconds
Set SCT Error Recovery Control timeout in deciseconds for use in RAID configurations.
Values are as follows: 0 = disable SCT ERT 70 = default in consumer drives (7 seconds)
Maximum is disk dependant but probably 60 seconds.
Type: signed integer
Example:
70
Declared by:
<nixpkgs/nixos/modules/hardware/sata.nix>
|
hardware.sata.timeout.drives
List of drives for which to configure the timeout.
Type: list of (submodule)
Declared by:
<nixpkgs/nixos/modules/hardware/sata.nix>
|
hardware.sata.timeout.drives.*.idBy
The method to identify the drive.
Type: one of “path”, “wwn”
Default:
"path"
Declared by:
<nixpkgs/nixos/modules/hardware/sata.nix>
|
hardware.sata.timeout.drives.*.name
Drive name without the full path.
Type: string
Declared by:
<nixpkgs/nixos/modules/hardware/sata.nix>
|
hardware.sensor.hddtemp.enable
Enable this option to support HDD/SSD temperature sensors.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/sensor/hddtemp.nix>
|
hardware.sensor.hddtemp.dbEntries
Additional DB entries
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/hardware/sensor/hddtemp.nix>
|
hardware.sensor.hddtemp.drives
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.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/hardware/sensor/hddtemp.nix>
|
hardware.sensor.hddtemp.extraArgs
Additional arguments passed to the daemon.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/hardware/sensor/hddtemp.nix>
|
hardware.sensor.hddtemp.unit
Celsius or Fahrenheit
Type: one of “C”, “F”
Default:
"C"
Declared by:
<nixpkgs/nixos/modules/hardware/sensor/hddtemp.nix>
|
hardware.sensor.iio.enable
Enable this option to support IIO sensors with iio-sensor-proxy.
IIO sensors are used for orientation and ambient light sensors on some mobile devices.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/sensor/iio.nix>
|
hardware.sensor.iio.package
The iio-sensor-proxy package to use.
Type: package
Default:
pkgs.iio-sensor-proxy
Declared by:
<nixpkgs/nixos/modules/hardware/sensor/iio.nix>
|
hardware.sheep_net.enable
Enables sheep_net udev rules, ensures ‘sheep_net’ group exists, and adds sheep-net to boot.kernelModules and boot.extraModulePackages
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/sheep-net.nix>
|
hardware.spacenavd.enable
Whether to enable spacenavd to support 3DConnexion devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/spacenavd.nix>
|
hardware.steam-hardware.enable
Enable udev rules for Steam hardware such as the Steam Controller, other supported controllers and the HTC Vive
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/steam-hardware.nix>
|
hardware.system76.enableAll
Whether to enable all recommended configuration for system76 systems.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/system-76.nix>
|
hardware.system76.firmware-daemon.enable
Whether to enable the system76 firmware daemon
Type: boolean
Default:
config.hardware.system76.enableAll
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/system-76.nix>
|
hardware.system76.kernel-modules.enable
Whether to make the system76 out-of-tree kernel modules available
Type: boolean
Default:
config.hardware.system76.enableAll
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/system-76.nix>
|
hardware.system76.power-daemon.enable
Whether to enable the system76 power daemon
Type: boolean
Default:
config.hardware.system76.enableAll
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/system-76.nix>
|
hardware.tenstorrent.enable
Whether to enable Tenstorrent driver & utilities.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/tenstorrent.nix>
|
hardware.trackpoint.enable
Enable sensitivity and speed configuration for trackpoints.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.device
The device name of the trackpoint. You can check with xinput. Some newer devices (example x1c6) use “TPPS/2 Elan TrackPoint”.
Type: string
Default:
"TPPS/2 IBM TrackPoint"
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.draghys
The drag hysteresis controls how hard it is to drag with z-axis pressed.
Type: signed integer
Default:
255
Example:
200
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.drift_time
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.
IBM 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.
Type: signed integer
Default:
5
Example:
100
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.emulateWheel
Enable scrolling while holding the middle mouse button.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.ext_dev
Disable or enable external pointing device.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.fakeButtons
Switch to “bare” PS/2 mouse support in case Trackpoint buttons are not recognized properly. This can happen for example on models like the L430, T450, T450s, on which the Trackpoint buttons are actually a part of the Synaptics touchpad.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.inertia
Negative inertia factor. High values cause the cursor to snap backward when the trackpoint is released.
Type: signed integer
Default:
6
Example:
10
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.jenks
Minimum curvature in degrees required to generate a double click without a release.
Type: signed integer
Default:
135
Example:
100
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.mindrag
Minimum amount of force needed to trigger dragging.
Type: signed integer
Default:
20
Example:
30
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.press_to_select
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.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.reach
Backup range for z-axis press.
Type: signed integer
Default:
10
Example:
20
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.sensitivity
Trackpoint sensitivity.
Type: signed integer
Default:
128
Example:
255
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.skipback
When the skipback bit is set, backup cursor movement during releases from drags will be suppressed. The default value for this bit is 0.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.speed
Speed of the trackpoint cursor.
Type: signed integer
Default:
97
Example:
255
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.thresh
Minimum value for z-axis force required to trigger a press or release, relative to the running average.
Type: signed integer
Default:
8
Example:
10
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.upthresh
The offset from the running average required to generate a select (click) on z-axis on release.
Type: signed integer
Default:
255
Example:
250
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.trackpoint.ztime
This attribute determines how sharp a press has to be in order to be recognized.
Type: signed integer
Default:
38
Example:
50
Declared by:
<nixpkgs/nixos/modules/tasks/trackpoint.nix>
|
hardware.tuxedo-drivers.enable
Whether to enable The tuxedo-drivers driver enables access to the following on TUXEDO notebooks:
Driver for Fn-keys
SysFS control of brightness/color/mode for most TUXEDO keyboards
Hardware I/O driver for TUXEDO Control Center
For more inforation it is best to check at the source code description: https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/tuxedo-drivers.nix>
|
hardware.tuxedo-drivers.settings.charging-priority
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:
charge_battery prioritizes battery charging (driver default)
performance prioritizes maximum CPU performance
Type: null or one of “charge_battery”, “performance”
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/tuxedo-drivers.nix>
|
hardware.tuxedo-drivers.settings.charging-profile
The maximum charge level to help reduce battery wear:
high_capacity charges to 100% (driver default)
balanced charges to 90%
stationary charges to 80% (maximum lifespan)
Note: Regardless of the configured charging profile, the operating system will always report the battery as being charged to 100%.
Type: null or one of “high_capacity”, “balanced”, “stationary”
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/tuxedo-drivers.nix>
|
hardware.tuxedo-drivers.settings.fn-lock
Enables or disables the laptop keyboard’s Function (Fn) lock at boot.
When set to true, the Fn lock is enabled, allowing the function keys (F1–F12) to control brightness, volume etc.
Type: null or boolean
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/tuxedo-drivers.nix>
|
hardware.tuxedo-rs.enable
Whether to enable Rust utilities for interacting with hardware from TUXEDO Computers.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/tuxedo-rs.nix>
|
hardware.tuxedo-rs.tailor-gui.enable
Whether to enable tailor-gui, an alternative to TUXEDO Control Center, written in Rust.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/tuxedo-rs.nix>
|
hardware.ubertooth.enable
Whether to enable Ubertooth software and its udev rules.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/ubertooth.nix>
|
hardware.ubertooth.group
Group for Ubertooth’s udev rules.
Type: string
Default:
"ubertooth"
Example:
"wheel"
Declared by:
<nixpkgs/nixos/modules/hardware/ubertooth.nix>
|
hardware.uinput.enable
Whether to enable uinput support.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/uinput.nix>
|
hardware.uni-sync.enable
Whether to enable udev rules and software for Lian Li Uni Controllers.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.uni-sync.package
The uni-sync package to use.
Type: package
Default:
pkgs.uni-sync
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.uni-sync.devices
List of controllers with their configurations.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
device_id = "VID:1111/PID:11111/SN:1111111111";
sync_rgb = true;
channels = [
{
mode = "PWM";
}
{
mode = "Manual";
speed = 100;
}
{
mode = "Manual";
speed = 54;
}
{
mode = "Manual";
speed = 0;
}
];
}
{
device_id = "VID:1010/PID:10101/SN:1010101010";
sync_rgb = false;
channels = [
{
mode = "Manual";
speed = 0;
}
];
}
]
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.uni-sync.devices.*.channels
List of channels connected to the controller.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
mode = "PWM";
}
{
mode = "Manual";
speed = 100;
}
{
mode = "Manual";
speed = 54;
}
{
mode = "Manual";
speed = 0;
}
]
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.uni-sync.devices.*.channels.*.mode
“PWM” to enable PWM sync. “Manual” to set speed.
Type: one of “Manual”, “PWM”
Default:
"Manual"
Example:
"PWM"
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.uni-sync.devices.*.channels.*.speed
Fan speed as percentage (clamped between 0 and 100).
Type: signed integer
Default:
"50"
Example:
"100"
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.uni-sync.devices.*.device_id
Unique device ID displayed at each startup.
Type: string
Example:
"VID:1111/PID:11111/SN:1111111111"
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.uni-sync.devices.*.sync_rgb
Enable ARGB header sync.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/uni-sync.nix>
|
hardware.usb-modeswitch.enable
Enable this option to support certain USB WLAN and WWAN adapters.
These network adapters initial present themselves as Flash Drives containing their drivers. This option enables automatic switching to the networking mode.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/usb-modeswitch.nix>
|
hardware.usbStorage.manageShutdown
Enable this option to gracefully spin-down external storage during shutdown.
If you suspect improper head parking after poweroff, install smartmontools and check
for the Power-Off_Retract_Count field for an increment.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/usb-storage.nix>
|
hardware.wirelessRegulatoryDatabase
Whether to enable loading the wireless regulatory database at boot.
Type: boolean
Default:
Enabled if proprietary firmware is allowed via enableRedistributableFirmware or enableAllFirmware.
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/all-firmware.nix>
|
hardware.wooting.enable
Whether to enable support for Wooting keyboards.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/wooting.nix>
|
hardware.xone.enable
Whether to enable the xone driver for Xbox One and Xbox Series X|S accessories.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/xone.nix>
|
hardware.xpad-noone.enable
Whether to enable the Xpad driver from the Linux kernel with support for Xbox One controllers removed.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/xpad-noone.nix>
|
hardware.xpadneo.enable
Whether to enable the xpadneo driver for Xbox One wireless controllers.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/xpadneo.nix>
|
hardware.xpadneo.quirks
Controller-specific quirk flags, keyed by MAC address. Flags are combined as a bitmask to address compatibility issues with specific controllers.
The value is a sum of individual flag values. For example, to apply
flags 1, 2, and 4, use 7 (1 + 2 + 4). To apply flags 2, 4, and 32,
use 38 (2 + 4 + 32).
See https://github.com/atar-axis/xpadneo/blob/master/docs/CONFIGURATION.md for available quirk flags and their values.
Type: attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
{ }
Example:
{
"11:22:33:44:55:66" = 7; # Applies flags 1 + 2 + 4
}
Declared by:
<nixpkgs/nixos/modules/hardware/xpadneo.nix>
|
hardware.xpadneo.rumbleAttenuation
Force feedback attenuation settings. Higher values reduce rumble strength.
See https://github.com/atar-axis/xpadneo/blob/master/docs/CONFIGURATION.md for more information.
Type: submodule
Default:
{ }
Example:
{
overall = 50; # 50% overall rumble
triggers = 50; # 25% trigger rumble (50% of 50%)
}
Declared by:
<nixpkgs/nixos/modules/hardware/xpadneo.nix>
|
hardware.xpadneo.rumbleAttenuation.overall
Overall force feedback attenuation as a percentage.
0 means full rumble, 100 means no rumble.
Applies to both main and trigger rumble.
Type: integer between 0 and 100 (both inclusive)
Default:
0
Declared by:
<nixpkgs/nixos/modules/hardware/xpadneo.nix>
|
hardware.xpadneo.rumbleAttenuation.triggers
Extra attenuation for trigger rumble as a percentage, applied
on top of overall. For example, overall = 50 and
triggers = 50 results in 50% main rumble and 25% trigger rumble.
Set to 100 to disable trigger rumble while keeping main rumble.
null means no extra trigger attenuation.
Type: null or integer between 0 and 100 (both inclusive)
Default:
null
Declared by:
<nixpkgs/nixos/modules/hardware/xpadneo.nix>
|
hardware.xpadneo.settings
Kernel module parameters for hid_xpadneo. These are passed directly to the module via modprobe.
See https://github.com/atar-axis/xpadneo/blob/master/docs/CONFIGURATION.md for available parameters and their values.
Type: attribute set of (signed integer or string)
Default:
{ }
Example:
{
disable_deadzones = 1;
trigger_rumble_mode = 2;
disable_shift_mode = 1;
}
Declared by:
<nixpkgs/nixos/modules/hardware/xpadneo.nix>
|
i18n.defaultCharset
The default locale character set.
Type: string
Default:
"UTF-8"
Example:
"ISO-8859-8"
Declared by:
<nixpkgs/nixos/modules/config/i18n.nix>
|
i18n.defaultLocale
The default locale. It determines the language for program messages,
the format for dates and times, sort order, and so on. Setting the
default character set is done via i18n.defaultCharset.
Type: string
Default:
"en_US.UTF-8"
Example:
"nl_NL.UTF-8"
Declared by:
<nixpkgs/nixos/modules/config/i18n.nix>
|
i18n.extraLocaleSettings
A set of additional system-wide locale settings other than LANG
which can be configured with i18n.defaultLocale. Note that
the /UTF-8 suffix used in i18n.extraLocales indicates a
character set, and it must not be added manually here. To use a
non-UTF-8 character set such as ISO-XXXX-8, the
i18n.localeCharsets can be used.
Note that if the LANGUAGE
key
is used in this option, it is ignored when computing the locales
required to be installed, because the possible values of this key are
more diverse and flexible then the others.
Type: attribute set of string
Default:
{ }
Example:
{
LC_MESSAGES = "en_US.UTF-8";
LC_TIME = "de_DE.UTF-8";
}
Declared by:
<nixpkgs/nixos/modules/config/i18n.nix>
|
i18n.extraLocales
Additional locales that the system should support, besides the ones
configured with i18n.defaultLocale and
i18n.extraLocaleSettings.
Set this to "all" to install all available locales.
Type: (list of string) or value “all” (singular enum)
Default:
[ ]
Example:
[
"nl_NL.UTF-8/UTF-8"
]
Declared by:
<nixpkgs/nixos/modules/config/i18n.nix>
|
i18n.glibcLocales
Customized pkg.glibcLocales package.
Changing this option can disable handling of i18n.defaultLocale and supportedLocale.
Type: null or absolute path
Default:
if pkgs.glibcLocales != null then
pkgs.glibcLocales.override {
allLocales = lib.elem "all" config.i18n.supportedLocales;
locales = config.i18n.supportedLocales;
}
else
null
Example:
pkgs.glibcLocales
Declared by:
<nixpkgs/nixos/modules/config/i18n.nix>
|
i18n.imperativeLocale
Whether to enable imperative locale and keyboard management via localectl.
When enabled, locale and keyboard settings can be changed at runtime
using localectl set-locale and localectl set-keymap.
When disabled (the default), these settings are managed declaratively
through i18n.defaultLocale, i18n.extraLocaleSettings,
and console.keyMap.
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/config/i18n.nix>
|
i18n.inputMethod.enable
Whether to enable an additional input method type.
Type: boolean
Default:
true if the deprecated option enabled is set, false otherwise
Example:
true
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/default.nix>
|
i18n.inputMethod.enableGtk2
Whether to enable Gtk2 support.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/default.nix>
|
i18n.inputMethod.enableGtk3
Whether to enable Gtk3 support.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/default.nix>
|
i18n.inputMethod.enabled
Deprecated - use type and enable = true instead
Type: null or one of “ibus”, “fcitx5”, “nabi”, “uim”, “hime”, “kime”
Default:
null
Example:
"fcitx5"
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/default.nix>
|
i18n.inputMethod.fcitx5.addons
Enabled Fcitx5 addons.
Type: list of package
Default:
[ ]
Example:
with pkgs; [ fcitx5-rime ]
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.fcitx5.ignoreUserConfig
Ignore the user configures. Warning: When this is enabled, the user config files are totally ignored and the user dict can’t be saved and loaded.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.fcitx5.quickPhrase
Quick phrases.
Type: attribute set of string
Default:
{ }
Example:
{
smile = "(・∀・)";
angry = "( ̄ー ̄)";
}
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.fcitx5.quickPhraseFiles
Quick phrase files.
Type: attribute set of absolute path
Default:
{ }
Example:
{
words = ./words.mb;
numbers = ./numbers.mb;
}
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.fcitx5.settings.addons
The addon configures in conf folder in ini format with global sections.
Each item is written to the corresponding file.
Type: attribute set of anything
Default:
{ }
Example:
{ pinyin.globalSection.EmojiEnabled = "True"; }
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.fcitx5.settings.globalOptions
The global options in config file in ini format.
Type: open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.fcitx5.settings.inputMethod
The input method configure in profile file in ini format.
Type: open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.fcitx5.waylandFrontend
Use the Wayland input method frontend. See Using Fcitx 5 on Wayland.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/fcitx5.nix>
|
i18n.inputMethod.ibus.engines
Enabled IBus engines. Available engines are: anthy, bamboo, cangjie, chewing, hangul, libpinyin, libthai, m17n, mozc, mozc-ut, pinyin, rime, table, table-chinese, table-others, typing-booster, typing-booster-unwrapped, uniemoji.
Type: list of ibus-engine
Default:
[ ]
Example:
with pkgs.ibus-engines; [ mozc hangul ]
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/ibus.nix>
|
i18n.inputMethod.ibus.panel
Replace the IBus panel with another panel.
Type: null or absolute path
Default:
null
Example:
"${pkgs.kdePackages.plasma-desktop}/libexec/kimpanel-ibus-panel"
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/ibus.nix>
|
i18n.inputMethod.ibus.waylandFrontend
Use the Wayland input method frontend.
This doesn’t set GTK_IM_MODULE and QT_IM_MODULE environment variables.
See Using Fcitx 5 on Wayland.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/ibus.nix>
|
i18n.inputMethod.kime.daemonModules
List of enabled daemon modules
Type: list of (one of “Xim”, “Wayland”, “Indicator”)
Default:
[
"Xim"
"Wayland"
"Indicator"
]
Example:
[
"Xim"
"Indicator"
]
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/kime.nix>
|
i18n.inputMethod.kime.extraConfig
extra kime configuration. Refer to https://github.com/Riey/kime/blob/v3.1.1/docs/CONFIGURATION.md for details on supported values.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/kime.nix>
|
i18n.inputMethod.kime.iconColor
Color of the indicator icon
Type: one of “Black”, “White”
Default:
"Black"
Example:
"White"
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/kime.nix>
|
i18n.inputMethod.type
Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.
Input methods are specially used to input Chinese, Japanese and Korean characters.
Currently the following input methods are available in NixOS:
ibus: The intelligent input bus, extra input engines can be added using i18n.inputMethod.ibus.engines.
fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using i18n.inputMethod.fcitx5.addons.
nabi: A Korean input method based on XIM. Nabi doesn’t support Qt 5.
uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.
hime: An extremely easy-to-use input method framework.
kime: Koream IME.
Type: null or one of “ibus”, “fcitx5”, “nabi”, “uim”, “hime”, “kime”
Default:
The value of the deprecated option enabled, defaulting to null
Example:
"fcitx5"
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/default.nix>
|
i18n.inputMethod.uim.toolbar
selected UIM toolbar.
Type: one of “gtk”, “gtk3”, “gtk-systray”, “gtk3-systray”, “qt5”
Default:
"gtk"
Example:
"gtk-systray"
Declared by:
<nixpkgs/nixos/modules/i18n/input-method/uim.nix>
|
i18n.localeCharsets
Per each i18n.extraLocaleSettings, choose the character set
to use for it. Essentially defaults to UTF-8 for all of them.
Note that for a locale category that uses the C locale, setting a
character set to it via this setting is ignored.
Type: attribute set of string
Default:
{ }
Example:
{
LC_MESSAGES = "ISO-8859-15";
LC_TIME = "ISO-8859-1";
}
Declared by:
<nixpkgs/nixos/modules/config/i18n.nix>
|
image.baseName
Basename of the image filename without any extension (e.g. image_1).
Type: string
Default:
nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}
Declared by:
<nixpkgs/nixos/modules/image/file-options.nix>
|
image.extension
Extension of the image filename (e.g. raw).
Type: string
Declared by:
<nixpkgs/nixos/modules/image/file-options.nix>
|
image.fileName
Filename of the image including all extensions (e.g image_1.raw or
image_1.raw.zst).
Type: string
Default:
${config.image.baseName}.${config.image.extension}
Declared by:
<nixpkgs/nixos/modules/image/file-options.nix>
|
image.filePath
Path of the image, relative to $out in system.build.image.
While it defaults to config.image.fileName, it can be different for builders where
the image is in sub directory, such as iso, sd-card or kexec images.
Type: string
Default:
config.image.fileName
Declared by:
<nixpkgs/nixos/modules/image/file-options.nix>
|
image.modules
image-specific NixOS Modules used for system.build.images.
Type: attribute set of module
Declared by:
<nixpkgs/nixos/modules/image/images.nix>
|
image.repart.package
The systemd-repart package to use.
Type: package
Default:
pkgs.buildPackages.systemd
Example:
pkgs.buildPackages.systemdMinimal.override { withCryptsetup = true; }
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.compression.enable
Whether to enable Image compression.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.compression.algorithm
Compression algorithm
Type: one of “zstd”, “xz”, “zstd-seekable”
Default:
"zstd"
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.compression.level
Compression level. The available range depends on the used algorithm.
Type: signed integer
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.imageSize
Size of the produced image in bytes with optional K, M, G, T suffix, or ‘auto’ to determine the minimal size automatically
Type: string matching the pattern ^([0-9]+[KMGTP]?|auto)$
Default:
"auto"
Example:
"512G"
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.mkfsOptions
Specify extra options for created file systems. The specified options
are converted to individual environment variables of the format
SYSTEMD_REPART_MKFS_OPTIONS_<FSTYPE>.
See upstream systemd documentation for information about the usage of these environment variables.
The example would produce the following environment variable:
SYSTEMD_REPART_MKFS_OPTIONS_VFAT="-S 512 -c"
Type: attribute set of list of string
Default:
{ }
Example:
{
vfat = [ "-S 512" "-c" ];
}
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.name
Name of the image.
If this option is unset but config.system.image.id is set, config.system.image.id is used as the default value.
Type: string
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.partitions
Specify partitions as a set of the names of the partitions with their configuration as the key.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
"10-esp" = {
contents = {
"/EFI/BOOT/BOOTX64.EFI".source =
"${pkgs.systemd}/lib/systemd/boot/efi/systemd-bootx64.efi";
};
repartConfig = {
Type = "esp";
Format = "vfat";
};
};
"20-root" = {
storePaths = [ config.system.build.toplevel ];
repartConfig = {
Type = "root";
Format = "ext4";
Minimize = "guess";
};
};
};
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.partitions.<name>.contents
The contents to end up in the filesystem image.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
"/EFI/BOOT/BOOTX64.EFI".source =
"${pkgs.systemd}/lib/systemd/boot/efi/systemd-bootx64.efi";
"/loader/entries/nixos.conf".source = systemdBootEntry;
}
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.partitions.<name>.contents.<name>.source
Path of the source file.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.partitions.<name>.nixStorePrefix
The prefix to use for store paths. Defaults to /nix/store. This is
useful when you want to build a partition that only contains store
paths and is mounted under /nix/store or if you want to create the
store paths below a parent path (e.g., /@nix/nix/store).
Type: absolute path
Default:
"/nix/store"
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.partitions.<name>.repartConfig
Specify the repart options for a partition as a structural setting. See repart.d(5) for all available options.
Type: attribute set of (string or signed integer or boolean or list of string)
Default:
{ }
Example:
{
SizeMaxBytes = "2G";
SizeMinBytes = "512M";
Type = "home";
}
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.partitions.<name>.storePaths
The store paths to include in the partition.
Type: list of absolute path
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.sectorSize
The sector size of the disk image produced by systemd-repart. This value must be a power of 2 between 512 and 4096.
Type: null or signed integer
Default:
512
Example:
4096
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.seed
A UUID to use as a seed. You can set this to random to explicitly
randomize the partition UUIDs.
See systemd-repart(8) for more information.
Type: null or string
Default:
"0867da16-f251-457d-a9e8-c31f9a3c220b"
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.split
Enables generation of split artifacts from partitions. If enabled, for each partition with SplitName= set, a separate output file containing just the contents of that partition is generated.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
image.repart.verityStore.enable
Whether to enable building images with a dm-verity protected nix store.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/image/repart-verity-store.nix>
|
image.repart.verityStore.partitionIds.esp
Specify the attribute name of the ESP.
Type: string
Default:
"00-esp"
Declared by:
<nixpkgs/nixos/modules/image/repart-verity-store.nix>
|
image.repart.verityStore.partitionIds.store
Specify the attribute name of the store partition.
Type: string
Default:
"20-store"
Declared by:
<nixpkgs/nixos/modules/image/repart-verity-store.nix>
|
image.repart.verityStore.partitionIds.store-verity
Specify the attribute name of the store’s dm-verity hash partition.
Type: string
Default:
"10-store-verity"
Declared by:
<nixpkgs/nixos/modules/image/repart-verity-store.nix>
|
image.repart.verityStore.ukiPath
Specify the location on the ESP where the UKI is placed.
Type: string
Default:
"/EFI/Linux/\${config.system.boot.loader.ukiFile}"
Declared by:
<nixpkgs/nixos/modules/image/repart-verity-store.nix>
|
image.repart.version
Version of the image
Type: null or string
Default:
config.system.image.version
Declared by:
<nixpkgs/nixos/modules/image/repart.nix>
|
lib
This option allows modules to define helper functions, constants, etc.
Type: attribute set of (attribute set)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/misc/lib.nix>
|
location.latitude
Your current latitude, between
-90.0 and 90.0. Must be provided
along with longitude.
Type: floating point number
Declared by:
<nixpkgs/nixos/modules/config/locale.nix>
|
location.longitude
Your current longitude, between
between -180.0 and 180.0. Must be
provided along with latitude.
Type: floating point number
Declared by:
<nixpkgs/nixos/modules/config/locale.nix>
|
location.provider
The location provider to use for determining your location. If set to
manual you must also provide latitude/longitude.
Type: one of “manual”, “geoclue2”
Default:
"manual"
Declared by:
<nixpkgs/nixos/modules/config/locale.nix>
|
meta.maintainers
List of maintainers of each module. This option should be defined at most once per module.
The option value is not a list of maintainers, but an attribute set that maps module file names to lists of maintainers.
Type: list of lib.maintainers
Default:
[ ]
Example:
[ lib.maintainers.alice lib.maintainers.bob ]
Declared by:
<nixpkgs/modules/generic/meta-maintainers.nix>
|
meta.teams
List of team maintainers of each module. This option should be defined at most once per module.
Type: list of lib.teams
Default:
[ ]
Example:
[ lib.teams.acme lib.teams.haskell ]
Declared by:
<nixpkgs/modules/generic/meta-maintainers.nix>
|
networking.enableB43Firmware
Turn on this option if you want firmware for the NICs supported by the b43 module.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/network/b43.nix>
|
networking.enableIPv6
Whether to enable support for IPv6.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.enableIntel2200BGFirmware
Turn on this option if you want firmware for the Intel PRO/Wireless 2200BG to be loaded automatically. This is required if you want to use this device.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/network/intel-2200bg.nix>
|
networking.bonds
This option allows you to define bond devices that aggregate multiple, underlying networking interfaces together. The value of this option is an attribute set. Each attribute specifies a bond, with the attribute name specifying the name of the bond’s network interface
Type: attribute set of (submodule)
Default:
{ }
Example:
{
bond0 = {
interfaces = [ "eth0" "wlan0" ];
driverOptions = {
miimon = "100";
mode = "active-backup";
}
;
};
anotherBond.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bonds.<name>.driverOptions
Options for the bonding driver. Documentation can be found in https://www.kernel.org/doc/Documentation/networking/bonding.txt
Type: attribute set of string
Default:
{ }
Example:
{
miimon = "100";
mode = "active-backup";
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bonds.<name>.interfaces
The interfaces to bond together
Type: list of string
Default:
[ ]
Example:
[
"enp4s0f0"
"enp4s0f1"
"wlan0"
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bonds.<name>.lacp_rate
DEPRECATED, use driverOptions.
Option specifying the rate in which we’ll ask our link partner
to transmit LACPDU packets in 802.3ad mode.
Type: null or string
Default:
null
Example:
"fast"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bonds.<name>.miimon
DEPRECATED, use driverOptions.
Miimon is the number of millisecond in between each round of polling
by the device driver for failed links. By default polling is not
enabled and the driver is trusted to properly detect and handle
failure scenarios.
Type: null or signed integer
Default:
null
Example:
100
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bonds.<name>.mode
DEPRECATED, use driverOptions.
The mode which the bond will be running. The default mode for
the bonding driver is balance-rr, optimizing for throughput.
More information about valid modes can be found at
https://www.kernel.org/doc/Documentation/networking/bonding.txt
Type: null or string
Default:
null
Example:
"active-backup"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bonds.<name>.xmit_hash_policy
DEPRECATED, use driverOptions.
Selects the transmit hash policy to use for slave selection in
balance-xor, 802.3ad, and tlb modes.
Type: null or string
Default:
null
Example:
"layer2+3"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bridges
This option allows you to define Ethernet bridge devices that connect physical networks together. The value of this option is an attribute set. Each attribute specifies a bridge, with the attribute name specifying the name of the bridge’s network interface.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
br0 = {
interfaces = [
"eth0"
"eth1"
];
};
br1 = {
interfaces = [
"eth2"
"wlan0"
];
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bridges.<name>.interfaces
The physical network interfaces connected by the bridge.
Type: list of string
Default:
[ ]
Example:
[
"eth0"
"eth1"
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.bridges.<name>.rstp
Whether the bridge interface should enable rstp.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway
The default gateway. It can be left empty if it is auto-detected through DHCP. It can be specified as a string or an option set along with a network interface.
Type: null or ((submodule) or string convertible to it)
Default:
null
Example:
{
address = "131.211.84.1";
interface = "enp3s0";
source = "131.211.84.2";
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway.address
The default gateway address.
Type: string
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway.interface
The default gateway interface.
Type: null or string
Default:
null
Example:
"enp0s3"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway.metric
The default gateway metric/preference.
Type: null or signed integer
Default:
null
Example:
42
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway.source
The default source address.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway6
The default ipv6 gateway. It can be left empty if it is auto-detected through DHCP. It can be specified as a string or an option set along with a network interface.
Type: null or ((submodule) or string convertible to it)
Default:
null
Example:
{
address = "2001:4d0:1e04:895::1";
interface = "enp3s0";
source = "2001:4d0:1e04:895::2";
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway6.address
The default gateway address.
Type: string
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway6.interface
The default gateway interface.
Type: null or string
Default:
null
Example:
"enp0s3"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway6.metric
The default gateway metric/preference.
Type: null or signed integer
Default:
null
Example:
42
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGateway6.source
The default source address.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.defaultGatewayWindowSize
The window size of the default gateway. It limits maximal data bursts that TCP peers are allowed to send to us.
Type: null or signed integer
Default:
null
Example:
524288
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.dhcpcd.enable
Whether to enable dhcpcd for device configuration. This is mainly to explicitly disable dhcpcd (for example when using networkd).
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.IPv6rs
Force enable or disable solicitation and receipt of IPv6 Router Advertisements. This is required, for example, when using a static unique local IPv6 address (ULA) and global IPv6 address auto-configuration with SLAAC.
Type: null or boolean
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.allowInterfaces
Enable the DHCP client for any interface whose name matches any of the shell glob patterns in this list. Any interface not explicitly matched by this pattern will be denied. This pattern only applies when non-null.
Type: null or (list of string)
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.allowSetuid
Whether to relax the security sandbox to allow running setuid
binaries (e.g. sudo) in the dhcpcd hooks.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.denyInterfaces
Disable the DHCP client for any interface whose name matches any of the shell glob patterns in this list. The purpose of this option is to blacklist virtual interfaces such as those created by Xen, libvirt, LXC, etc.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.extraConfig
Literal string to append to the config file generated for dhcpcd.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.persistent
Whether to leave interfaces configured on dhcpcd daemon shutdown. Set to true if you have your root or store mounted over the network or this machine accepts SSH connections through DHCP interfaces and clients should be notified when it shuts down.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.runHook
Shell code that will be run after all other hooks. See
man dhcpcd-run-hooks for details on what is possible.
To use sudo or similar tools in your script you may have to set:
networking.dhcpcd.allowSetuid = true;
In addition, as most of the filesystem is inaccessible to dhcpcd by default, you may want to define some exceptions, e.g.
systemd.services.dhcpcd.serviceConfig.ReadOnlyPaths = [
"/run/user/1000/bus" # to send desktop notifications
];
Type: strings concatenated with “\n”
Default:
""
Example:
"if [[ $reason =~ BOUND ]]; then echo $interface: Routers are $new_routers - were $old_routers; fi"
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.setHostname
Whether to set the machine hostname based on the information received from the DHCP server.
The hostname will be changed only if the current one is
the empty string, localhost or nixos.
Polkit (security.polkit.enable) is also required.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.dhcpcd.wait
This option specifies when the dhcpcd service will fork to background. If set to “background”, dhcpcd will fork to background immediately. If set to “ipv4” or “ipv6”, dhcpcd will wait for the corresponding IP address to be assigned. If set to “any”, dhcpcd will wait for any type (IPv4 or IPv6) to be assigned. If set to “both”, dhcpcd will wait for both an IPv4 and an IPv6 address before forking. The option “if-carrier-up” is equivalent to “any” if either ethernet is plugged or WiFi is powered, and to “background” otherwise.
Type: one of “background”, “any”, “ipv4”, “ipv6”, “both”, “if-carrier-up”
Default:
"any"
Declared by:
<nixpkgs/nixos/modules/services/networking/dhcpcd.nix>
|
networking.domain
The system domain name. Used to populate the fqdn value.
The domain name is not configured for DNS resolution purposes, see search instead.
Type: null or string
Default:
null
Example:
"home.arpa"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.extraHosts
Additional verbatim entries to be appended to /etc/hosts.
For adding hosts from derivation results, use networking.hostFiles instead.
Type: strings concatenated with “\n”
Default:
""
Example:
"192.168.0.1 lanlocalhost"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.firewall.enable
Whether to enable the firewall. This is a simple stateful firewall that blocks connection attempts to unauthorised TCP or UDP ports on this machine.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.package
The package to use for running the firewall service.
Type: package
Default:
if config.networking.nftables.enable then "pkgs.nftables" else "pkgs.iptables"
Example:
pkgs.iptables-legacy
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.allowPing
Whether to respond to incoming ICMPv4 echo requests (“pings”). ICMPv6 pings are always allowed because the larger address space of IPv6 makes network scanning much less effective.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.allowedTCPPortRanges
A range of TCP ports on which incoming connections are accepted.
Type: list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
{
from = 8999;
to = 9003;
}
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.allowedTCPPorts
List of TCP ports on which incoming connections are accepted.
Type: list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
22
80
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.allowedUDPPortRanges
Range of open UDP ports.
Type: list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
{
from = 60000;
to = 61000;
}
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.allowedUDPPorts
List of open UDP ports.
Type: list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
53
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.autoLoadConntrackHelpers
Whether to auto-load connection-tracking helpers. See the description at networking.firewall.connectionTrackingModules
(needs kernel 3.5+)
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.backend
Underlying implementation for the firewall service.
Type: one of “iptables”, “nftables”, “firewalld”
Default:
if config.services.firewalld.enable then
"firewalld"
else if config.networking.nftables.enable then
"nftables"
else
"iptables"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.checkReversePath
Performs a reverse path filter test on a packet. If a reply to the packet would not be sent via the same interface that the packet arrived on, it is refused.
If using asymmetric routing or other complicated routing, set this option to loose mode or disable it and setup your own counter-measures.
This option can be either true (or “strict”), “loose” (only drop the packet if the source address is not reachable via any interface) or false.
Type: boolean or one of “strict”, “loose”
Default:
true except if the iptables based firewall is in use and the kernel lacks rpfilter support
Example:
"loose"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.connectionTrackingModules
List of connection-tracking helpers that are auto-loaded. The complete list of possible values is given in the example.
As helpers can pose as a security risk, it is advised to set this to an empty list and disable the setting networking.firewall.autoLoadConntrackHelpers unless you know what you are doing. Connection tracking is disabled by default.
Loading of helpers is recommended to be done through the CT target. More info: https://home.regit.org/netfilter-en/secure-use-of-helpers/
Type: list of string
Default:
[ ]
Example:
[
"ftp"
"irc"
"sane"
"sip"
"tftp"
"amanda"
"h323"
"netbios_sn"
"pptp"
"snmp"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.extraCommands
Additional shell commands executed as part of the firewall initialisation script. These are executed just before the final “reject” firewall rule is added, so they can be used to allow packets that would otherwise be refused.
This option only works with the iptables based firewall.
Type: strings concatenated with “\n”
Default:
""
Example:
"iptables -A INPUT -p icmp -j ACCEPT"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall-iptables.nix>
|
networking.firewall.extraForwardRules
Additional nftables rules to be appended to the forward-allow chain.
This option only works with the nftables based firewall.
Type: strings concatenated with “\n”
Default:
""
Example:
"iifname wg0 accept"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall-nftables.nix>
|
networking.firewall.extraInputRules
Additional nftables rules to be appended to the input-allow chain.
This option only works with the nftables based firewall.
Type: strings concatenated with “\n”
Default:
""
Example:
"ip6 saddr { fc00::/7, fe80::/10 } tcp dport 24800 accept"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall-nftables.nix>
|
networking.firewall.extraPackages
Additional packages to be included in the environment of the system as well as the path of networking.firewall.extraCommands.
Type: list of package
Default:
[ ]
Example:
[ pkgs.ipset ]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.extraReversePathFilterRules
Additional nftables rules to be appended to the rpfilter-allow chain.
This option only works with the nftables based firewall.
Type: strings concatenated with “\n”
Default:
""
Example:
"fib daddr . mark . iif type local accept"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall-nftables.nix>
|
networking.firewall.extraStopCommands
Additional shell commands executed as part of the firewall shutdown script. These are executed just after the removal of the NixOS input rule, or if the service enters a failed state.
This option only works with the iptables based firewall.
Type: strings concatenated with “\n”
Default:
""
Example:
"iptables -P INPUT ACCEPT"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall-iptables.nix>
|
networking.firewall.filterForward
Enable filtering in IP forwarding.
This option only works with the nftables based firewall.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.interfaces
Interface-specific open ports.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.interfaces.<name>.allowedTCPPortRanges
A range of TCP ports on which incoming connections are accepted.
Type: list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
{
from = 8999;
to = 9003;
}
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.interfaces.<name>.allowedTCPPorts
List of TCP ports on which incoming connections are accepted.
Type: list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
22
80
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.interfaces.<name>.allowedUDPPortRanges
Range of open UDP ports.
Type: list of attribute set of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
{
from = 60000;
to = 61000;
}
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.interfaces.<name>.allowedUDPPorts
List of open UDP ports.
Type: list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
[ ]
Example:
[
53
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.logRefusedConnections
Whether to log rejected or dropped incoming connections. Note: The logs are found in the kernel logs, i.e. dmesg or journalctl -k.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.logRefusedPackets
Whether to log all rejected or dropped incoming packets. This tends to give a lot of log messages, so it’s mostly useful for debugging. Note: The logs are found in the kernel logs, i.e. dmesg or journalctl -k.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.logRefusedUnicastsOnly
If networking.firewall.logRefusedPackets
and this option are enabled, then only log packets
specifically directed at this machine, i.e., not broadcasts
or multicasts.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.logReversePathDrops
Logs dropped packets failing the reverse path filter test if the option networking.firewall.checkReversePath is enabled.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.pingLimit
If pings are allowed, this allows setting rate limits on them.
For the iptables based firewall, it should be set like “–limit 1/minute --limit-burst 5”.
For the nftables based firewall, it should be set like “2/second” or “1/minute burst 5 packets”.
Type: null or strings concatenated with " "
Default:
null
Example:
"--limit 1/minute --limit-burst 5"
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.rejectPackets
If set, refused packets are rejected rather than dropped (ignored). This means that an ICMP “port unreachable” error message is sent back to the client (or a TCP RST packet in case of an existing connection). Rejecting packets makes port scanning somewhat easier.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.firewall.trustedInterfaces
Traffic coming in from these interfaces will be accepted unconditionally. Traffic from the loopback (lo) interface will always be accepted.
Type: list of string
Default:
[ ]
Example:
[
"enp0s2"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/firewall.nix>
|
networking.fooOverUDP
This option allows you to configure Foo Over UDP and Generic UDP Encapsulation endpoints. See ip-fou(8) for details.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
backup = {
port = 9002;
};
primary = {
local = {
address = "192.0.2.1";
dev = "eth0";
};
port = 9001;
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.fooOverUDP.<name>.local
Local address (and optionally device) to bind to using the given port.
Type: null or (submodule)
Default:
null
Example:
{
address = "203.0.113.22";
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.fooOverUDP.<name>.local.address
Local address to bind to. The address must be available when the FOU
endpoint is created, using the scripted network setup this can be achieved
either by setting dev or adding dependency information to
systemd.services.<name>-fou-encap; it isn’t supported
when using networkd.
Type: string
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.fooOverUDP.<name>.local.dev
Network device to bind to.
Type: null or string
Default:
null
Example:
"eth0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.fooOverUDP.<name>.port
Local port of the encapsulation UDP socket.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.fooOverUDP.<name>.protocol
Protocol number of the encapsulated packets. Specifying null
(the default) creates a GUE endpoint, specifying a protocol number will create
a FOU endpoint.
Type: null or integer between 1 and 255 (both inclusive)
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.fqdn
The fully qualified domain name (FQDN) of this host. By default, it is
the result of combining networking.hostName and networking.domain.
Using this option will result in an evaluation error if the hostname is empty or no domain is specified.
Modules that accept a mere networking.hostName but prefer a fully qualified
domain name may use networking.fqdnOrHostName instead.
Type: string
Default:
"${networking.hostName}.${networking.domain}"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.fqdnOrHostName
Either the fully qualified domain name (FQDN), or just the host name if it does not exist.
This is a convenience option for modules to read instead of fqdn when
a mere hostName is also an acceptable value; this option does not
throw an error when domain or fqdn is unset.
Type: string (read only)
Default:
if config.networking.domain != null || config.networking.fqdn is set then config.networking.fqdn else config.networking.hostName
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.getaddrinfo.enable
Enables custom address sorting configuration for getaddrinfo(3) according to RFC 3484.
This option generates a /etc/gai.conf file to override the default address sorting tables,
as described in gai.conf(5).
This setting is only applicable when using the GNU C Library (glibc). It has no effect with other libc implementations.
Type: boolean
Default:
pkgs.stdenv.hostPlatform.libc == "glibc"
Declared by:
<nixpkgs/nixos/modules/config/getaddrinfo.nix>
|
networking.getaddrinfo.label
Adds entries to the label table, as described in section 2.1 of RFC 3484.
If any label entries are provided, the glibc’s default label table is ignored.
Type: null or (attribute set of signed integer)
Default:
null
Example:
{
"2001:0::/32" = 7;
"2002::/16" = 2;
"::/0" = 1;
"::/96" = 3;
"::ffff:0:0/96" = 4;
"fc00::/7" = 6;
"fec0::/10" = 5;
}
Declared by:
<nixpkgs/nixos/modules/config/getaddrinfo.nix>
|
networking.getaddrinfo.precedence
Similar to networking.getaddrinfo.label, but this option
defines entries for the precedence table instead.
See sections 2.1 and 10.3 of RFC 3484 for details.
Providing any value will disable the glibc’s default precedence table.
Type: null or (attribute set of signed integer)
Default:
null
Example:
{
"2002::/16" = 30;
"::/0" = 40;
"::/96" = 20;
"::1/128" = 50;
"::ffff:0:0/96" = 10;
}
Declared by:
<nixpkgs/nixos/modules/config/getaddrinfo.nix>
|
networking.getaddrinfo.reload
Determines whether a process should detect changes to the configuration file since it was last read.
If enabled, the file is re-read automatically. This may cause issues in multithreaded applications and is generally discouraged.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/getaddrinfo.nix>
|
networking.getaddrinfo.scopev4
Adds custom rules to the IPv4 scope table.
By default, the scope IDs described in section 3.2 of RFC 6724 are used.
Modifying these values is rarely necessary.
Type: null or (attribute set of signed integer)
Default:
null
Example:
{
"::ffff:0.0.0.0/96" = 14;
"::ffff:127.0.0.0/104" = 2;
"::ffff:169.254.0.0/112" = 2;
}
Declared by:
<nixpkgs/nixos/modules/config/getaddrinfo.nix>
|
networking.greTunnels
This option allows you to define Generic Routing Encapsulation (GRE) tunnels.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
greBridge = {
remote = "10.0.0.1";
local = "10.0.0.22";
dev = "enp4s0f0";
type = "tap";
ttl = 255;
};
gre6Tunnel = {
remote = "fd7a:5634::1";
local = "fd7a:5634::2";
dev = "enp4s0f0";
type = "tun6";
ttl = 255;
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.greTunnels.<name>.dev
The underlying network device on which the tunnel resides.
Type: null or string
Default:
null
Example:
"enp4s0f0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.greTunnels.<name>.local
The address of the local endpoint which the remote side should send packets to.
Type: null or string
Default:
null
Example:
"10.0.0.22"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.greTunnels.<name>.remote
The address of the remote endpoint to forward traffic over.
Type: null or string
Default:
null
Example:
"10.0.0.1"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.greTunnels.<name>.ttl
The time-to-live/hoplimit of the connection to the remote tunnel endpoint.
Type: null or signed integer
Default:
null
Example:
255
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.greTunnels.<name>.type
Whether the tunnel routes layer 2 (tap) or layer 3 (tun) traffic.
Type: one of “tun”, “tap”, “tun6”, “tap6”
Default:
"tap"
Example:
"tap"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.hostFiles
Files that should be concatenated together to form /etc/hosts.
Type: list of absolute path
Default:
Hosts from networking.hosts and networking.extraHosts
Example:
[ "${pkgs.my-blocklist-package}/share/my-blocklist/hosts" ]
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.hostId
The 32-bit host ID of the machine, formatted as 8 hexadecimal characters.
You should try to make this ID unique among your machines. You can generate a random 32-bit ID using the following commands:
head -c 8 /etc/machine-id
(this derives it from the machine-id that systemd generates) or
head -c4 /dev/urandom | od -A none -t x4
The primary use case is to ensure when using ZFS that a pool isn’t imported accidentally on a wrong machine.
Type: null or string
Default:
null
Example:
"4e98920d"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.hostName
The name of the machine. Leave it empty if you want to obtain it from a DHCP server (if using DHCP). The hostname must be a valid DNS label (see RFC 1035 section 2.3.1: “Preferred name syntax”, RFC 1123 section 2.1: “Host Names and Numbers”) and as such must not contain the domain part. This means that the hostname must start with a letter or digit, end with a letter or digit, and have as interior characters only letters, digits, and hyphen. The maximum length is 63 characters. Additionally it is recommended to only use lower-case characters. If (e.g. for legacy reasons) a FQDN is required as the Linux kernel network node hostname (uname --nodename) the option boot.kernel.sysctl.“kernel.hostname” can be used as a workaround (but the 64 character limit still applies).
WARNING: Do not use underscores (_) or you may run into unexpected issues.
Type: string matching the pattern ^$|^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$
Default:
config.system.nixos.distroId
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.hosts
Locally defined maps of hostnames to IP addresses.
Type: attribute set of list of string
Default:
{ }
Example:
{
"127.0.0.1" = [ "foo.bar.baz" ];
"192.168.0.2" = [ "fileserver.local" "nameserver.local" ];
};
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.ifstate.enable
Whether to enable networking using IfState.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
networking.ifstate.package
The ifstate package to use.
Type: package
Default:
pkgs.ifstate
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
networking.ifstate.settings
Content of IfState’s configuration file. See https://ifstate.net/2.2/schema/ for details.
Type: YAML 1.1 value
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/networking/ifstate.nix>
|
networking.interfaces
The configuration for each network interface.
Please note that systemd.network.netdevs has more features
and is better maintained. When building new things, it is advised to
use that instead.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
eth0 = {
ipv4 = {
addresses = [
{
address = "131.211.84.78";
prefixLength = 25;
}
];
};
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.addresses
List of IPv4 addresses that will be statically assigned to the interface.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
address = "10.0.0.1";
prefixLength = 16;
}
{
address = "192.168.1.1";
prefixLength = 24;
}
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.addresses.*.address
IPv4 address of the interface. Leave empty to configure the interface using DHCP.
Type: string
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.addresses.*.prefixLength
Subnet mask of the interface, specified as the number of
bits in the prefix (24).
Type: integer between 0 and 32 (both inclusive)
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.routes
List of extra IPv4 static routes that will be assigned to the interface.
If the route type is the default unicast, then the scope
is set differently depending on the value of networking.useNetworkd:
the script-based backend sets it to link, while networkd sets
it to global.
If you want consistency between the two implementations,
set the scope of the route manually with
networking.interfaces.eth0.ipv4.routes = [{ options.scope = "global"; }]
for example.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
address = "10.0.0.0";
prefixLength = 16;
}
{
address = "192.168.2.0";
prefixLength = 24;
via = "192.168.1.1";
}
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.routes.*.address
IPv4 address of the network.
Type: string
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.routes.*.options
Other route options. See the symbol OPTIONS
in the ip-route(8) manual page for the details.
You may also specify metric,
src, protocol,
scope, from
and table, which are technically
not route options, in the sense used in the manual.
Type: attribute set of string
Default:
{ }
Example:
{
mtu = "1492";
window = "524288";
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.routes.*.prefixLength
Subnet mask of the network, specified as the number of
bits in the prefix (24).
Type: integer between 0 and 32 (both inclusive)
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.routes.*.type
Type of the route. See the Route types section
in the ip-route(8) manual page for the details.
Note that prohibit, blackhole,
unreachable, and throw cannot
be configured per device, so they are not available here. Similarly,
nat hasn’t been supported since kernel 2.6.
Type: null or one of “unicast”, “local”, “broadcast”, “multicast”
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv4.routes.*.via
IPv4 address of the next hop.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.addresses
List of IPv6 addresses that will be statically assigned to the interface.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
address = "fdfd:b3f0:482::1";
prefixLength = 48;
}
{
address = "2001:1470:fffd:2098::e006";
prefixLength = 64;
}
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.addresses.*.address
IPv6 address of the interface. Leave empty to configure the interface using DHCP.
Type: string
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.addresses.*.prefixLength
Subnet mask of the interface, specified as the number of
bits in the prefix (64).
Type: integer between 0 and 128 (both inclusive)
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.routes
List of extra IPv6 static routes that will be assigned to the interface.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
address = "fdfd:b3f0::";
prefixLength = 48;
}
{
address = "2001:1470:fffd:2098::";
prefixLength = 64;
via = "fdfd:b3f0::1";
}
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.routes.*.address
IPv6 address of the network.
Type: string
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.routes.*.options
Other route options. See the symbol OPTIONS
in the ip-route(8) manual page for the details.
You may also specify metric,
src, protocol,
scope, from
and table, which are technically
not route options, in the sense used in the manual.
Type: attribute set of string
Default:
{ }
Example:
{
mtu = "1492";
window = "524288";
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.routes.*.prefixLength
Subnet mask of the network, specified as the number of
bits in the prefix (64).
Type: integer between 0 and 128 (both inclusive)
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.routes.*.type
Type of the route. See the Route types section
in the ip-route(8) manual page for the details.
Note that prohibit, blackhole,
unreachable, and throw cannot
be configured per device, so they are not available here. Similarly,
nat hasn’t been supported since kernel 2.6.
Type: null or one of “unicast”, “local”, “broadcast”, “multicast”
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.ipv6.routes.*.via
IPv6 address of the next hop.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.macAddress
MAC address of the interface. Leave empty to use the default.
Type: null or string
Default:
null
Example:
"00:11:22:33:44:55"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.mtu
MTU size for packets leaving the interface. Leave empty to use the default.
Type: null or signed integer
Default:
null
Example:
9000
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.name
Name of the interface.
Type: string
Example:
"eth0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.proxyARP
Turn on proxy_arp for this device. This is mainly useful for creating pseudo-bridges between a real interface and a virtual network such as VPN or a virtual machine for interfaces that don’t support real bridging (most wlan interfaces). As ARP proxying acts slightly above the link-layer, below-ip traffic isn’t bridged, so things like DHCP won’t work. The advantage above using NAT lies in the fact that no IP addresses are shared, so all hosts are reachable/routeable.
WARNING: turns on ip-routing, so if you have multiple interfaces, you should think of the consequence and setup firewall rules to limit this.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.tempAddress
When IPv6 is enabled with SLAAC, this option controls the use of temporary address (aka privacy extensions) on this interface. This is used to reduce tracking.
See also the global option
networking.tempAddresses, which
applies to all interfaces where this is not set.
Possible values are:
"default" to generate IPv6 temporary addresses and use these as source addresses in routing;
"disabled" to completely disable IPv6 temporary addresses;
"enabled" to generate IPv6 temporary addresses but still use EUI-64 addresses as source addresses;
Type: one of “default”, “disabled”, “enabled”
Default:
config.networking.tempAddresses
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.useDHCP
Whether this interface should be configured with DHCP. Overrides the
default set by networking.useDHCP. If null (the default),
DHCP is enabled if the interface has no IPv4 addresses configured
with networking.interfaces.<name>.ipv4.addresses, and
disabled otherwise.
Type: null or boolean
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.virtual
Whether this interface is virtual and should be created by tunctl. This is mainly useful for creating bridges between a host and a virtual network such as VPN or a virtual machine.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.virtualOwner
In case of a virtual device, the user who owns it.
null will not set owner, allowing access to any user.
Type: null or string
Default:
"root"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.virtualType
The type of interface to create. The default is TUN for an interface name starting with “tun”, otherwise TAP.
Type: one of “tun”, “tap”
Default:
if hasPrefix "tun" name then "tun" else "tap"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.wakeOnLan.enable
Whether to enable wol on this interface.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.interfaces.<name>.wakeOnLan.policy
The Wake-on-LAN policy to set for the device.
The options are
phy: Wake on PHY activity
unicast: Wake on unicast messages
multicast: Wake on multicast messages
broadcast: Wake on broadcast messages
arp: Wake on ARP
magic: Wake on receipt of a magic packet
Type: list of (one of “phy”, “unicast”, “multicast”, “broadcast”, “arp”, “magic”, “secureon”)
Default:
[
"magic"
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipips
This option allows you to define interfaces encapsulating IP packets within IP packets; which should be automatically created.
For example, this allows you to create 4in6 (RFC 2473) or IP within IP (RFC 2003) tunnels.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
wan4in6 = {
remote = "2001:db8::1";
local = "2001:db8::3";
dev = "wan6";
encapsulation.type = "4in6";
encapsulation.limit = 0;
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipips.<name>.dev
The underlying network device on which the tunnel resides.
Type: null or string
Default:
null
Example:
"wan6"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipips.<name>.encapsulation.limit
For an IPv6-based tunnel, the maximum number of nested encapsulation to allow. 0 means no nesting, “none” unlimited.
Type: value “none” (singular enum) or (unsigned integer, meaning >=0)
Default:
4
Example:
"none"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipips.<name>.encapsulation.type
Select the encapsulation type:
ipip to create an IPv4 within IPv4 tunnel (RFC 2003).
4in6 to create a 4in6 tunnel (RFC 2473);
ip6ip6 to create an IPv6 within IPv6 tunnel (RFC 2473);
For encapsulating IPv6 within IPv4 packets, see
the ad-hoc networking.sits option.
Type: one of “ipip”, “4in6”, “ip6ip6”
Default:
"ipip"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipips.<name>.local
The address of the local endpoint which the remote side should send packets to.
Type: string
Example:
"2001:db8::3"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipips.<name>.remote
The address of the remote endpoint to forward traffic over.
Type: string
Example:
"2001:db8::1"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipips.<name>.ttl
The time-to-live of the connection to the remote tunnel endpoint.
Type: null or signed integer
Default:
null
Example:
255
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.iproute2.enable
Whether to enable copying IP route configuration files.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/config/iproute2.nix>
|
networking.iproute2.rttablesExtraConfig
Verbatim lines to add to /etc/iproute2/rt_tables
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/config/iproute2.nix>
|
networking.ipvlans
This option allows you to define ipvlan interfaces which should be automatically created.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
wan = {
interface = "enp2s0";
mode = "l2";
flags = "vepa";
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipvlans.<name>.flags
The flags of the ipvlan device.
Type: null or string
Default:
null
Example:
"vepa"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipvlans.<name>.interface
The interface the ipvlan will transmit packets through.
Type: string
Example:
"enp4s0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.ipvlans.<name>.mode
The mode of the interface.
Type: one of “l2”, “l3”, “l3s”
Default:
"l2"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.jool.enable
Whether to enable Jool, an Open Source implementation of IPv4/IPv6 translation on Linux.
Jool can perform stateless IP/ICMP translation (SIIT) or stateful NAT64, analogous to the IPv4 NAPT. Refer to the upstream documentation for the supported modes of translation and how to configure them.
Enabling this option will install the Jool kernel module and the command line tools for controlling it.
Type: boolean
Default:
false
Related packages:
Declared by:
<nixpkgs/nixos/modules/services/networking/jool.nix>
|
networking.jool.nat64
Definitions of NAT64 instances of Jool. See the documentation for the available options. Also check out the tutorial for an introduction to NAT64 and how to troubleshoot the setup.
The attribute name defines the name of the instance, with the main one
being default: this can be accessed from the command line without
specifying the name with -i.
Instances created imperatively from the command line will not interfere
with the NixOS instances, provided the respective pool4 addresses and
port ranges are not overlapping.
Changes to an instance performed via jool -i <name> are applied
correctly but will be lost after restarting the respective
jool-nat64-<name>.service.
Type: attribute set of (open submodule of (JSON value))
Default:
{ }
Example:
{
default = {
# custom NAT64 prefix
global.pool6 = "2001:db8:64::/96";
# Port forwarding
bib = [
{ # SSH 192.0.2.16 → 2001:db8:a::1
"protocol" = "TCP";
"ipv4 address" = "192.0.2.16#22";
"ipv6 address" = "2001:db8:a::1#22";
}
{ # DNS (TCP) 192.0.2.16 → 2001:db8:a::2
"protocol" = "TCP";
"ipv4 address" = "192.0.2.16#53";
"ipv6 address" = "2001:db8:a::2#53";
}
{ # DNS (UDP) 192.0.2.16 → 2001:db8:a::2
"protocol" = "UDP";
"ipv4 address" = "192.0.2.16#53";
"ipv6 address" = "2001:db8:a::2#53";
}
];
pool4 = [
# Port ranges for dynamic translation
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
{ protocol = "ICMP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
# Ports for static BIB entries
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "22"; }
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "53"; }
];
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/jool.nix>
|
networking.jool.nat64.<name>.framework
The framework to use for attaching Jool’s translation to the exist kernel packet processing rules. See the documentation for the differences between the two options.
Type: one of “netfilter”, “iptables”
Default:
"netfilter"
Declared by:
<nixpkgs/nixos/modules/services/networking/jool.nix>
|
networking.jool.nat64.<name>.global.pool6
The prefix used for embedding IPv4 into IPv6 addresses. Defaults to the well-known NAT64 prefix, defined by RFC 6052.
Type: Network prefix in CIDR notation
Default:
"64:ff9b::/96"
Declared by:
<nixpkgs/nixos/modules/services/networking/jool.nix>
|
networking.jool.siit
Definitions of SIIT instances of Jool. See the documentation for the available options. Also check out the tutorial for an introduction to SIIT and how to troubleshoot the setup.
The attribute name defines the name of the instance, with the main one
being default: this can be accessed from the command line without
specifying the name with -i.
Instances created imperatively from the command line will not interfere with the NixOS instances, provided the respective EAMT addresses and port ranges are not overlapping.
Changes to an instance performed via jool -i <name> are applied
correctly but will be lost after restarting the respective
jool-siit-<name>.service.
Type: attribute set of (open submodule of (JSON value))
Default:
{ }
Example:
{
default = {
# Maps any IPv4 address x.y.z.t to 2001:db8::x.y.z.t and v.v.
global.pool6 = "2001:db8::/96";
# Explicit address mappings
eamt = [
# 2001:db8:1:: ←→ 192.0.2.0
{ "ipv6 prefix" = "2001:db8:1::/128"; "ipv4 prefix" = "192.0.2.0"; }
# 2001:db8:1::x ←→ 198.51.100.x
{ "ipv6 prefix" = "2001:db8:2::/120"; "ipv4 prefix" = "198.51.100.0/24"; }
];
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/jool.nix>
|
networking.jool.siit.<name>.framework
The framework to use for attaching Jool’s translation to the exist kernel packet processing rules. See the documentation for the differences between the two options.
Type: one of “netfilter”, “iptables”
Default:
"netfilter"
Declared by:
<nixpkgs/nixos/modules/services/networking/jool.nix>
|
networking.localCommands
Shell commands to be executed after all the network interfaces have been created, but not necessarily fully configured.
Type: strings concatenated with “\n”
Default:
""
Example:
"text=anything; echo You can put $text here."
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.macvlans
This option allows you to define macvlan interfaces which should be automatically created.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
wan = {
interface = "enp2s0";
mode = "vepa";
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.macvlans.<name>.interface
The interface the macvlan will transmit packets through.
Type: string
Example:
"enp4s0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.macvlans.<name>.mode
The mode of the macvlan device.
Type: null or string
Default:
null
Example:
"vepa"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.modemmanager.enable
Whether to use ModemManager to manage modem devices. This is usually used by some higher layer manager such as NetworkManager but can be used standalone especially if using a modem for non-IP connectivity (e.g. GPS).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/modemmanager.nix>
|
networking.modemmanager.package
The modemmanager package to use.
Type: package
Default:
pkgs.modemmanager
Declared by:
<nixpkgs/nixos/modules/services/networking/modemmanager.nix>
|
networking.modemmanager.fccUnlockScripts
List of FCC unlock scripts to enable on the system, behaving as described in https://modemmanager.org/docs/modemmanager/fcc-unlock/#integration-with-third-party-fcc-unlock-tools.
Type: list of (submodule)
Default:
[ ]
Example:
[{ id = "03f0:4e1d"; path = "${pkgs.modemmanager}/share/ModemManager/fcc-unlock.available.d/03f0:4e1d"; }]
Declared by:
<nixpkgs/nixos/modules/services/networking/modemmanager.nix>
|
networking.modemmanager.fccUnlockScripts.*.id
vid:pid of either the PCI or USB vendor and product ID
Type: string
Declared by:
<nixpkgs/nixos/modules/services/networking/modemmanager.nix>
|
networking.modemmanager.fccUnlockScripts.*.path
Path to the unlock script
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/services/networking/modemmanager.nix>
|
networking.nameservers
The list of nameservers. It can be left empty if it is auto-detected through DHCP.
Type: list of string
Default:
[ ]
Example:
[
"130.161.158.4"
"130.161.33.17"
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.nat.enable
Whether to enable Network Address Translation (NAT). A properly configured firewall or a trusted L2 on all network interfaces is required to prevent unauthorized access to the internal network.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.enableIPv6
Whether to enable IPv6 NAT.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.dmzHost
The local IP address to which all traffic that does not match any forwarding rule is forwarded.
Type: null or string
Default:
null
Example:
"10.0.0.1"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.externalIP
The public IP address to which packets from the local network are to be rewritten. If this is left empty, the IP address associated with the external interface will be used. Only connections made to this IP address will be forwarded to the internal network when using forwardPorts.
Type: null or string
Default:
null
Example:
"203.0.113.123"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.externalIPv6
The public IPv6 address to which packets from the local network are to be rewritten. If this is left empty, the IP address associated with the external interface will be used. Only connections made to this IP address will be forwarded to the internal network when using forwardPorts.
Type: null or string
Default:
null
Example:
"2001:dc0:2001:11::175"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.externalInterface
The name of the external network interface.
Type: null or string
Default:
null
Example:
"eth1"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.extraCommands
Additional shell commands executed as part of the nat initialisation script.
This option is incompatible with the nftables based nat module.
Type: strings concatenated with “\n”
Default:
""
Example:
"iptables -A INPUT -p icmp -j ACCEPT"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat-iptables.nix>
|
networking.nat.extraStopCommands
Additional shell commands executed as part of the nat teardown script.
This option is incompatible with the nftables based nat module.
Type: strings concatenated with “\n”
Default:
""
Example:
"iptables -D INPUT -p icmp -j ACCEPT || true"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat-iptables.nix>
|
networking.nat.forwardPorts
List of forwarded ports from the external interface to internal destinations by using DNAT. Destination can be IPv6 if IPv6 NAT is enabled.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
destination = "10.0.0.1:80";
proto = "tcp";
sourcePort = 8080;
}
{
destination = "[fc00::2]:80";
proto = "tcp";
sourcePort = 8080;
}
]
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.forwardPorts.*.destination
Forward connection to destination ip:port (or [ipv6]:port); to specify a port range, use ip:start-end
Type: string
Example:
"10.0.0.1:80"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.forwardPorts.*.loopbackIPs
Public IPs for NAT reflection; for connections to loopbackip:sourcePort from the host itself and from other hosts behind NAT
Type: list of string
Default:
[ ]
Example:
[ "55.1.2.3" ]
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.forwardPorts.*.proto
Protocol of forwarded connection
Type: string
Default:
"tcp"
Example:
"udp"
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.forwardPorts.*.sourcePort
Source port of the external interface; to specify a port range, use a string with a colon (e.g. “60000:61000”)
Type: signed integer or string matching the pattern [[:digit:]]+:[[:digit:]]+
Example:
8080
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.internalIPs
The IP address ranges for which to perform NAT. Packets coming from these addresses (on any interface) and destined for the external interface will be rewritten.
Type: list of string
Default:
[ ]
Example:
[
"192.168.1.0/24"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.internalIPv6s
The IPv6 address ranges for which to perform NAT. Packets coming from these addresses (on any interface) and destined for the external interface will be rewritten.
Type: list of string
Default:
[ ]
Example:
[
"fc00::/64"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.nat.internalInterfaces
The interfaces for which to perform NAT. Packets coming from these interface and destined for the external interface will be rewritten.
Type: list of string
Default:
[ ]
Example:
[
"eth0"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/nat.nix>
|
networking.networkmanager.enable
Whether to use NetworkManager to obtain an IP address and other
configuration for all network interfaces that are not manually
configured. If enabled, a group networkmanager
will be created. Add all users that should have permission
to change network settings to this group.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.package
The networkmanager package to use.
Type: package
Default:
pkgs.networkmanager
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.appendNameservers
A list of name servers that should be appended to the ones configured in NetworkManager or received by DHCP.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.connectionConfig
Configuration for the [connection] section of NetworkManager.conf. Refer to https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#id-1.2.3.11 or NetworkManager.conf(5) for more information.
Type: attribute set of (null or boolean or signed integer or string)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.dhcp
Which program (or internal library) should be used for DHCP.
Type: one of “dhcpcd”, “internal”
Default:
"internal"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.dispatcherScripts
A list of scripts which will be executed in response to network events.
Type: list of (submodule)
Default:
[ ]
Example:
[ {
source = pkgs.writeText "upHook" ''
if [ "$2" != "up" ]; then
logger "exit: event $2 != up"
exit
fi
# coreutils and iproute are in PATH too
logger "Device $DEVICE_IFACE coming up"
'';
type = "basic";
} ]
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.dispatcherScripts.*.source
Path to the hook script.
Type: absolute path
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.dispatcherScripts.*.type
Dispatcher hook type. Look up the hooks described at https://developer.gnome.org/NetworkManager/stable/NetworkManager.html and choose the type depending on the output folder. You should then filter the event type (e.g., “up”/“down”) from within your script.
Type: one of “basic”, “pre-down”, “pre-up”
Default:
"basic"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.dns
Set the DNS (resolv.conf) processing mode.
A description of these modes can be found in the main section of https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html or in NetworkManager.conf(5).
Type: one of “default”, “dnsmasq”, “systemd-resolved”, “none”
Default:
"default"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.ensureProfiles.environmentFiles
Files to load as environment file. Environment variables from this file will be substituted into the static configuration file using envsubst.
Type: list of absolute path
Default:
[ ]
Example:
[
"/run/secrets/network-manager.env"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.ensureProfiles.profiles
Declaratively define NetworkManager profiles. You can find information about the generated file format here and here.
You current profiles which are most likely stored in /etc/NetworkManager/system-connections and there is a tool to convert them to the needed nix code.
If you add a new ad-hoc connection via a GUI or nmtui or anything similar it should just work together with the declarative ones.
And if you edit a declarative profile NetworkManager will move it to the persistent storage and treat it like a ad-hoc one,
but 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.
A 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.
If 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.
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)))
Default:
{ }
Example:
{
home-wifi = {
connection = {
id = "home-wifi";
permissions = "";
type = "wifi";
};
ipv4 = {
dns-search = "";
method = "auto";
};
ipv6 = {
addr-gen-mode = "stable-privacy";
dns-search = "";
method = "auto";
};
wifi = {
mac-address-blacklist = "";
mode = "infrastructure";
ssid = "Home Wi-Fi";
};
wifi-security = {
auth-alg = "open";
key-mgmt = "wpa-psk";
psk = "$HOME_WIFI_PASSWORD";
};
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.ensureProfiles.profiles.<name>.connection.id
This is the name that will be displayed by NetworkManager and GUIs.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.ensureProfiles.profiles.<name>.connection.type
The connection type defines the connection kind, like vpn, wireguard, gsm, wifi and more.
Type: string
Example:
"vpn"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.ensureProfiles.secrets.package
The nm-file-secret-agent package to use.
Type: package
Default:
pkgs.nm-file-secret-agent
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries
A list of secrets to provide to NetworkManager by reading their values from configured files.
Note that NetworkManager should be configured to read secrets from a secret agent.
This can be done for example through the networking.networkmanager.ensureProfiles.profiles options.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
file = "/root/wireguard_key";
key = "private-key";
matchId = "My WireGuard VPN";
matchSetting = "wireguard";
matchType = "wireguard";
}
]
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.file
file from which the secret value is read
Type: string
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.key
key in the setting section for which this entry provides a value
Type: string
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.matchId
connection id used by NetworkManager. Often displayed as name in GUIs.
NetworkManager describes this as a human readable unique identifier for the connection, like “Work Wi-Fi” or “T-Mobile 3G”.
Type: null or string
Default:
null
Example:
"wifi1"
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.matchIface
interface name of the NetworkManager connection
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.matchSetting
name of the setting section for which secrets are requested
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.matchType
NetworkManager connection type
The NetworkManager configuration settings reference roughly corresponds to connection types. More might be available on your system depending on the installed plugins.
https://networkmanager.dev/docs/api/latest/ch01.html
Type: null or string
Default:
null
Example:
"wireguard"
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.matchUuid
UUID of the connection profile
UUIDs are assigned once on connection creation and should never change as long as the connection still applies to the same network.
Type: null or string
Default:
null
Example:
"669ea4c9-4cb3-4901-ab52-f9606590976e"
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ensureProfiles.secrets.entries.*.trim
whether leading and trailing whitespace should be stripped from the files content before being passed to NetworkManager
Type: null or boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/nm-file-secret-agent.nix>
|
networking.networkmanager.ethernet.macAddress
Set the MAC address of the interface.
"XX:XX:XX:XX:XX:XX": MAC address of the interface
"permanent": Use the permanent MAC address of the device
"preserve": Don’t change the MAC address of the device upon activation
"random": Generate a randomized value upon each connect
"stable": Generate a stable, hashed MAC address
Type: string or one of “permanent”, “preserve”, “random”, “stable”
Default:
"preserve"
Example:
"00:11:22:33:44:55"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.insertNameservers
A list of name servers that should be inserted before the ones configured in NetworkManager or received by DHCP.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.logLevel
Set the default logging verbosity level.
Type: one of “OFF”, “ERR”, “WARN”, “INFO”, “DEBUG”, “TRACE”
Default:
"WARN"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.plugins
List of plugin packages to install.
See https://search.nixos.org/packages?query=networkmanager- for available plugin packages. and https://networkmanager.dev/docs/vpn/ for an overview over builtin and external plugins and their support status.
Type: list of NetworkManager plugin package
Default:
[ ]
Example:
with pkgs; [
networkmanager-fortisslvpn
networkmanager-iodine
networkmanager-l2tp
networkmanager-openconnect
networkmanager-openvpn
networkmanager-sstp
networkmanager-strongswan
networkmanager-vpnc
]
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.settings
Configuration added to the generated NetworkManager.conf, note that you can overwrite settings with this. Refer to https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html or NetworkManager.conf(5) for more information.
Type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.unmanaged
List of interfaces that will not be managed by NetworkManager. Interface name can be specified here, but if you need more fidelity, refer to https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#device-spec or the “Device List Format” Appendix of NetworkManager.conf(5).
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.wifi.backend
Specify the Wi-Fi backend used for the device.
Currently supported are wpa_supplicant or iwd (experimental).
Type: one of “wpa_supplicant”, “iwd”
Default:
"wpa_supplicant"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.wifi.macAddress
Set the MAC address of the interface.
"XX:XX:XX:XX:XX:XX": MAC address of the interface
"permanent": Use the permanent MAC address of the device
"preserve": Don’t change the MAC address of the device upon activation
"random": Generate a randomized value upon each connect
"stable": Generate a stable, hashed MAC address
"stable-ssid": Generate a stable MAC addressed based on Wi-Fi network
Type: string or one of “permanent”, “preserve”, “random”, “stable”, “stable-ssid”
Default:
"preserve"
Example:
"00:11:22:33:44:55"
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.wifi.powersave
Whether to enable Wi-Fi power saving.
Type: null or boolean
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.networkmanager.wifi.scanRandMacAddress
Whether to enable MAC address randomization of a Wi-Fi device during scanning.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/networkmanager.nix>
|
networking.nftables.enable
Whether to enable nftables and use nftables based firewall if enabled. nftables is a Linux-based packet filtering framework intended to replace frameworks like iptables.
Note that if you have Docker enabled you will not be able to use nftables without intervention. Docker uses iptables internally to setup NAT for containers. This module disables the ip_tables kernel module, however Docker automatically loads the module. Please see https://github.com/NixOS/nixpkgs/issues/24318#issuecomment-289216273 for more information.
There are other programs that use iptables internally too, such as libvirt. For information on how the two firewalls interact, see https://wiki.nftables.org/wiki-nftables/index.php/Troubleshooting#Question_4._How_do_nftables_and_iptables_interact_when_used_on_the_same_system.3F.
Some network configurations may prevent VMs from having network access, see https://wiki.nixos.org/wiki/Networking#Virtualization.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.checkRuleset
Run nft check on the ruleset to spot syntax errors during build.
Because this is executed in a sandbox, the check might fail if it requires
access to any environmental factors or paths outside the Nix store.
To circumvent this, the ruleset file can be edited using the preCheckRuleset
option to work in the sandbox environment.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.checkRulesetRedirects
Set of paths that should be intercepted and rewritten while checking the ruleset
using pkgs.buildPackages.libredirect.
Type: attribute set of absolute path
Default:
{
"/etc/hosts" = config.environment.etc.hosts.source;
"/etc/protocols" = config.environment.etc.protocols.source;
"/etc/services" = config.environment.etc.services.source;
}
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.extraDeletions
Extra deletion commands to be run on every firewall start, reload and after stopping the firewall.
Type: strings concatenated with “\n”
Default:
""
Example:
''
# this makes deleting a non-existing table a no-op instead of an error
table inet some-table;
delete table inet some-table;
''
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.flattenRulesetFile
Use builtins.readFile rather than include to handle networking.nftables.rulesetFile. It is useful when you want to apply networking.nftables.preCheckRuleset to networking.nftables.rulesetFile.
It is expected that networking.nftables.rulesetFile can be accessed from the build sandbox.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.flushRuleset
Whether to enable flushing the entire ruleset on each reload.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.preCheckRuleset
This script gets run before the ruleset is checked. It can be used to create additional files needed for the ruleset check to work, or modify the ruleset for cases the build environment cannot cover.
Type: strings concatenated with “\n”
Default:
""
Example:
# replace users/groups that don't exist in the test
sed 's/skgid meadow/skgid root/g' -i ruleset.conf
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.ruleset
The ruleset to be used with nftables. Should be in a format that can be loaded using “/bin/nft -f”. The ruleset is updated atomically. Note that if the tables should be cleaned first, either:
networking.nftables.flushRuleset = true; needs to be set (flushes all tables)
networking.nftables.extraDeletions needs to be set
or networking.nftables.tables can be used, which will clean up the table automatically
Type: strings concatenated with “\n”
Default:
""
Example:
''
# Check out https://wiki.nftables.org/ for better documentation.
# Table for both IPv4 and IPv6.
table inet filter {
# Block all incoming connections traffic except SSH and "ping".
chain input {
type filter hook input priority 0;
# accept any localhost traffic
iifname lo accept
# accept traffic originated from us
ct state {established, related} accept
# ICMP
# routers may also want: mld-listener-query, nd-router-solicit
ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, parameter-problem, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
ip protocol icmp icmp type { destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept
# allow "ping"
ip6 nexthdr icmpv6 icmpv6 type echo-request accept
ip protocol icmp icmp type echo-request accept
# accept SSH connections (required for a server)
tcp dport 22 accept
# count and drop any other traffic
counter drop
}
# Allow all outgoing connections.
chain output {
type filter hook output priority 0;
accept
}
chain forward {
type filter hook forward priority 0;
accept
}
}
''
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.rulesetFile
The ruleset file to be used with nftables. Should be in a format that can be loaded using “nft -f”. The ruleset is updated atomically.
Type: null or absolute path
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.tables
Tables to be added to ruleset. Tables will be added together with delete statements to clean up the table before every update.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
filter = {
content = ''
# Check out https://wiki.nftables.org/ for better documentation.
# Table for both IPv4 and IPv6.
# Block all incoming connections traffic except SSH and "ping".
chain input {
type filter hook input priority 0;
# accept any localhost traffic
iifname lo accept
# accept traffic originated from us
ct state {established, related} accept
# ICMP
# routers may also want: mld-listener-query, nd-router-solicit
ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, parameter-problem, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
ip protocol icmp icmp type { destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept
# allow "ping"
ip6 nexthdr icmpv6 icmpv6 type echo-request accept
ip protocol icmp icmp type echo-request accept
# accept SSH connections (required for a server)
tcp dport 22 accept
# count and drop any other traffic
counter drop
}
# Allow all outgoing connections.
chain output {
type filter hook output priority 0;
accept
}
chain forward {
type filter hook forward priority 0;
accept
}
'';
family = "inet";
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.tables.<name>.enable
Enable this table.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.tables.<name>.content
The table content.
Type: strings concatenated with “\n”
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.tables.<name>.family
Table family.
Type: one of “ip”, “ip6”, “inet”, “arp”, “bridge”, “netdev”
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.nftables.tables.<name>.name
Table name.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/networking/nftables.nix>
|
networking.openconnect.package
The openconnect package to use.
Type: package
Default:
pkgs.openconnect
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces
OpenConnect interfaces.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
openconnect0 = {
gateway = "gateway.example.com";
passwordFile = "/var/lib/secrets/openconnect-passwd";
protocol = "anyconnect";
user = "example-user";
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.autoStart
Whether this VPN connection should be started automatically.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.certificate
Certificate to authenticate with.
Type: null or absolute path or PKCS#11 URI
Default:
null
Example:
"/var/lib/secrets/openconnect_certificate.pem"
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.extraOptions
Extra config to be appended to the interface config. It should
contain long-format options as would be accepted on the command
line by openconnect
(see https://www.infradead.org/openconnect/manual.html).
Non-key-value options like deflate can be used by
declaring them as booleans, i. e. deflate = true;.
Type: attribute set of (string or boolean)
Default:
{ }
Example:
{
compression = "stateless";
no-dtls = true;
no-http-keepalive = true;
}
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.gateway
Gateway server to connect to.
Type: string
Example:
"gateway.example.com"
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.passwordFile
File containing the password to authenticate with. This
is passed to openconnect via the
--passwd-on-stdin option.
Type: null or absolute path
Default:
null
Example:
"/var/lib/secrets/openconnect-passwd"
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.privateKey
Private key to authenticate with.
Type: null or absolute path or PKCS#11 URI
Default:
null
Example:
"/var/lib/secrets/openconnect_private_key.pem"
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.protocol
Protocol to use.
Type: one of “anyconnect”, “array”, “nc”, “pulse”, “gp”, “f5”, “fortinet”
Example:
"anyconnect"
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.openconnect.interfaces.<name>.user
Username to authenticate with.
Type: null or string
Default:
null
Example:
"example-user"
Declared by:
<nixpkgs/nixos/modules/services/networking/openconnect.nix>
|
networking.proxy.allProxy
This option specifies the all_proxy environment variable.
Type: null or string
Default:
config.networking.proxy.default
Example:
"http://127.0.0.1:3128"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.proxy.default
This option specifies the default value for httpProxy, httpsProxy, ftpProxy and rsyncProxy.
Type: null or string
Default:
null
Example:
"http://127.0.0.1:3128"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.proxy.ftpProxy
This option specifies the ftp_proxy environment variable.
Type: null or string
Default:
config.networking.proxy.default
Example:
"http://127.0.0.1:3128"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.proxy.httpProxy
This option specifies the http_proxy environment variable.
Type: null or string
Default:
config.networking.proxy.default
Example:
"http://127.0.0.1:3128"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.proxy.httpsProxy
This option specifies the https_proxy environment variable.
Type: null or string
Default:
config.networking.proxy.default
Example:
"http://127.0.0.1:3128"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.proxy.noProxy
This option specifies the no_proxy environment variable. If a default proxy is used and noProxy is null, then noProxy will be set to 127.0.0.1,localhost.
Type: null or string
Default:
null
Example:
"127.0.0.1,localhost,.localdomain"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.proxy.rsyncProxy
This option specifies the rsync_proxy environment variable.
Type: null or string
Default:
config.networking.proxy.default
Example:
"http://127.0.0.1:3128"
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.resolvconf.enable
Whether DNS configuration is managed by resolvconf.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/resolvconf.nix>
|
networking.resolvconf.package
The package that provides the system-wide resolvconf command. Defaults to openresolv
if this module is enabled. Otherwise, can be used by other modules (for example services.resolved) to
provide a compatibility layer.
This option generally shouldn’t be set by the user.
Type: package
Default:
pkgs.openresolv
Declared by:
<nixpkgs/nixos/modules/config/resolvconf.nix>
|
networking.resolvconf.dnsExtensionMechanism
Enable the edns0 option in resolv.conf. With
that option set, glibc supports use of the extension mechanisms for
DNS (EDNS) specified in RFC 2671. The most popular user of that feature is DNSSEC,
which does not work without it.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/resolvconf.nix>
|
networking.resolvconf.dnsSingleRequest
Recent versions of glibc will issue both ipv4 (A) and ipv6 (AAAA) address queries at the same time, from the same port. Sometimes upstream routers will systemically drop the ipv4 queries. The symptom of this problem is that ‘getent hosts example.com’ only returns ipv6 (or perhaps only ipv4) addresses. The workaround for this is to specify the option ‘single-request’ in /etc/resolv.conf. This option enables that.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/resolvconf.nix>
|
networking.resolvconf.extraConfig
Extra configuration to append to resolvconf.conf.
Type: strings concatenated with “\n”
Default:
""
Example:
"libc=NO"
Declared by:
<nixpkgs/nixos/modules/config/resolvconf.nix>
|
networking.resolvconf.extraOptions
Set the options in /etc/resolv.conf.
Type: list of string
Default:
[ ]
Example:
[
"ndots:1"
"rotate"
]
Declared by:
<nixpkgs/nixos/modules/config/resolvconf.nix>
|
networking.resolvconf.useLocalResolver
Use local DNS server for resolving.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/resolvconf.nix>
|
networking.rxe.enable
Whether to enable RDMA over converged ethernet.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/rxe.nix>
|
networking.rxe.interfaces
Enable RDMA on the listed interfaces. The corresponding virtual RDMA interfaces will be named rxe_<interface>. UDP port 4791 must be open on the respective ethernet interfaces.
Type: list of string
Default:
[ ]
Example:
[
"eth0"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/rxe.nix>
|
networking.search
The list of domain search paths that are considered for resolving
hostnames with fewer dots than configured in the ndots option,
which defaults to 1 if unset.
Type: list of string
Default:
[ ]
Example:
[
"example.com"
"home.arpa"
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits
This option allows you to define interfaces encapsulating IPv6 packets within IPv4 packets; which should be automatically created.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
hurricane = {
remote = "10.0.0.1";
local = "10.0.0.22";
ttl = 255;
};
msipv6 = {
remote = "192.168.0.1";
dev = "enp3s0";
ttl = 127;
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.dev
The underlying network device on which the tunnel resides.
Type: null or string
Default:
null
Example:
"enp4s0f0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.encapsulation
Configures the type of encapsulation.
Type: null or (submodule)
Default:
{ }
Example:
{
port = 9001;
type = "fou";
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.encapsulation.port
Destination port when using UDP encapsulation.
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
Example:
9001
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.encapsulation.sourcePort
Source port when using UDP encapsulation. Will be chosen automatically by the kernel if unset.
Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
Example:
9002
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.encapsulation.type
Select the encapsulation type:
6in4: the IPv6 packets are encapsulated using the
6in4 protocol (formerly known as SIT, RFC 4213);
gue: the IPv6 packets are encapsulated in UDP packets
using the Generic UDP Encapsulation (GUE) scheme;
foo: the IPv6 packets are encapsulated in UDP packets
using the Foo over UDP (FOU) scheme.
Type: one of “6in4”, “fou”, “gue”
Default:
"6in4"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.local
The address of the local endpoint which the remote side should send packets to.
Type: null or string
Default:
null
Example:
"10.0.0.22"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.remote
The address of the remote endpoint to forward traffic over.
Type: null or string
Default:
null
Example:
"10.0.0.1"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.sits.<name>.ttl
The time-to-live of the connection to the remote tunnel endpoint.
Type: null or signed integer
Default:
null
Example:
255
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.stevenblack.enable
Whether to enable the stevenblack hosts file blocklist.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/config/stevenblack.nix>
|
networking.stevenblack.package
The stevenblack-blocklist package to use.
Type: package
Default:
pkgs.stevenblack-blocklist
Declared by:
<nixpkgs/nixos/modules/config/stevenblack.nix>
|
networking.stevenblack.block
Additional blocklist extensions.
Type: list of (one of “fakenews”, “gambling”, “porn”, “social”)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/stevenblack.nix>
|
networking.stevenblack.whitelist
Domains to exclude from blocking.
Type: list of string matching the pattern ^[a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)+$
Default:
[ ]
Example:
[
"s.click.aliexpress.com"
]
Declared by:
<nixpkgs/nixos/modules/config/stevenblack.nix>
|
networking.supplicant
Interfaces for which to start wpa_supplicant. The supplicant is used to scan for and associate with wireless networks, or to authenticate with 802.1x capable network switches.
The value of this option is an attribute set. Each attribute configures a
wpa_supplicant service, where the attribute name specifies
the name of the interface that wpa_supplicant operates on.
The attribute name can be a space separated list of interfaces.
The attribute names WLAN, LAN and DBUS
have a special meaning. WLAN and LAN are
configurations for universal wpa_supplicant service that is
started for each WLAN interface or for each LAN interface, respectively.
DBUS defines a device-unrelated wpa_supplicant
service that can be accessed through D-Bus.
Type: attribute set of (submodule)
Default:
{ }
Example:
{ "wlan0 wlan1" = {
configFile.path = "/etc/wpa_supplicant.conf";
userControlled.group = "network";
extraConf = ''
ap_scan=1
p2p_disabled=1
'';
extraCmdArgs = "-u -W";
bridge = "br0";
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.bridge
Name of the bridge interface that wpa_supplicant should listen at.
Type: string
Default:
""
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.configFile.path
External wpa_supplicant.conf configuration file.
The configuration options defined declaratively within networking.supplicant have
precedence over options defined in configFile.
Type: null or absolute path
Default:
null
Example:
/etc/wpa_supplicant.conf
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.configFile.writable
Whether the configuration file at configFile.path should be written to by
wpa_supplicant.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.driver
Force a specific wpa_supplicant driver.
Type: null or string
Default:
"nl80211,wext"
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.extraCmdArgs
Command line arguments to add when executing wpa_supplicant.
Type: string
Default:
""
Example:
"-e/run/wpa_supplicant/entropy.bin"
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.extraConf
Configuration options for wpa_supplicant.conf.
Options defined here have precedence over options in configFile.
NOTE: Do not write sensitive data into extraConf as it will
be world-readable in the nix-store. For sensitive information
use the configFile instead.
Type: strings concatenated with “\n”
Default:
""
Example:
''
ap_scan=1
device_name=My-NixOS-Device
device_type=1-0050F204-1
driver_param=use_p2p_group_interface=1
disable_scan_offload=1
p2p_listen_reg_class=81
p2p_listen_channel=1
p2p_oper_reg_class=81
p2p_oper_channel=1
manufacturer=NixOS
model_name=NixOS_Unstable
model_number=2015
''
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.userControlled.enable
Allow normal users to control wpa_supplicant through wpa_gui or wpa_cli. This is useful for laptop users that switch networks a lot and don’t want to depend on a large package such as NetworkManager just to pick nearby access points.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.userControlled.group
Members of this group can control wpa_supplicant.
Type: string
Default:
"wheel"
Example:
"network"
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.supplicant.<name>.userControlled.socketDir
Directory of sockets for controlling wpa_supplicant.
Type: string
Default:
"/run/wpa_supplicant"
Declared by:
<nixpkgs/nixos/modules/services/networking/supplicant.nix>
|
networking.tcpcrypt.enable
Whether to enable opportunistic TCP encryption. If the other end speaks Tcpcrypt, then your traffic will be encrypted; otherwise it will be sent in clear text. Thus, Tcpcrypt alone provides no guarantees – it is best effort. If, however, a Tcpcrypt connection is successful and any attackers that exist are passive, then Tcpcrypt guarantees privacy.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/tcpcrypt.nix>
|
networking.tempAddresses
Whether to enable IPv6 Privacy Extensions for interfaces not
configured explicitly in
networking.interfaces.<name>.tempAddress.
This sets the ipv6.conf.*.use_tempaddr sysctl for all interfaces. Possible values are:
"default" to generate IPv6 temporary addresses and use these as source addresses in routing;
"disabled" to completely disable IPv6 temporary addresses;
"enabled" to generate IPv6 temporary addresses but still use EUI-64 addresses as source addresses;
Type: one of “default”, “disabled”, “enabled”
Default:
if ${config.networking.enableIPv6} then "default" else "disabled"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.timeServers
The set of NTP servers from which to synchronise.
Type: list of string
Default:
[
"0.nixos.pool.ntp.org"
"1.nixos.pool.ntp.org"
"2.nixos.pool.ntp.org"
"3.nixos.pool.ntp.org"
]
Declared by:
<nixpkgs/nixos/modules/config/networking.nix>
|
networking.ucarp.enable
Whether to enable ucarp, userspace implementation of CARP.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.package
The ucarp package to use. Please note that the default package, pkgs.ucarp, has not received any upstream updates for a long time and can be considered as unmaintained.
Type: package
Default:
pkgs.ucarp
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.addr
Virtual shared IP address.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.advBase
Advertisement frequency in seconds.
Type: unsigned integer, meaning >=0
Default:
1
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.advSkew
Advertisement skew in seconds.
Type: unsigned integer, meaning >=0
Default:
0
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.deadratio
Ratio to consider a host as dead.
Type: unsigned integer, meaning >=0
Default:
3
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.downscript
Command to run after become backup, the interface name, virtual address and optional extra parameters are passed as arguments.
Type: absolute path
Example:
pkgs.writeScript "downscript" ''
#!/bin/sh
${pkgs.iproute2}/bin/ip addr del "$2"/24 dev "$1"
'';
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.extraParam
Extra parameter to pass to the up/down scripts.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.ignoreIfState
Ignore interface state, e.g., down or no carrier.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.interface
Network interface to bind to.
Type: string
Example:
"eth0"
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.neutral
Do not run downscript at start if the host is the backup.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.noMcast
Use broadcast instead of multicast advertisements.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.passwordFile
File containing shared password between CARP hosts.
Type: string
Example:
"/run/keys/ucarp-password"
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.preempt
Enable preemptive failover. Thus, this host becomes the CARP master as soon as possible.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.shutdown
Call downscript at exit.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.srcIp
Source (real) IP address of this host.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.upscript
Command to run after become master, the interface name, virtual address and optional extra parameters are passed as arguments.
Type: absolute path
Example:
pkgs.writeScript "upscript" ''
#!/bin/sh
${pkgs.iproute2}/bin/ip addr add "$2"/24 dev "$1"
'';
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.ucarp.vhId
Virtual IP identifier shared between CARP hosts.
Type: integer between 1 and 255 (both inclusive)
Example:
1
Declared by:
<nixpkgs/nixos/modules/services/networking/ucarp.nix>
|
networking.useDHCP
Whether to use DHCP to obtain an IP address and other configuration for all network interfaces that do not have any manually configured IPv4 addresses.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.useHostResolvConf
In containers, whether to use the
resolv.conf supplied by the host.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.useNetworkd
Whether we should use networkd as the network configuration backend or the legacy script based system. Note that this option is experimental, enable at your own risk.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.usePredictableInterfaceNames
Whether to assign predictable names to network interfaces.
If enabled, interfaces
are assigned names that contain topology information
(e.g. wlp3s0) and thus should be stable
across reboots. If disabled, names depend on the order in
which interfaces are discovered by the kernel, which may
change randomly across reboots; for instance, you may find
eth0 and eth1 flipping
unpredictably.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/hardware/udev.nix>
|
networking.vlans
This option allows you to define vlan devices that tag packets on top of a physical interface. The value of this option is an attribute set. Each attribute specifies a vlan, with the name specifying the name of the vlan interface.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
vlan0 = {
id = 3;
interface = "enp3s0";
};
vlan1 = {
id = 1;
interface = "wlan0";
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vlans.<name>.id
The vlan identifier
Type: signed integer
Example:
1
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vlans.<name>.interface
The interface the vlan will transmit packets through.
Type: string
Example:
"enp4s0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches
This option allows you to define Open vSwitches that connect physical networks together. The value of this option is an attribute set. Each attribute specifies a vswitch, with the attribute name specifying the name of the vswitch’s network interface.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
vs0 = {
interfaces = {
eth0 = { };
lo1 = {
type = "internal";
};
};
};
vs1 = {
interfaces = [
{
name = "eth2";
}
{
name = "lo2";
type = "internal";
}
];
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.controllers
Specify the controller targets. For the allowed options see man 8 ovs-vsctl.
Type: list of string
Default:
[ ]
Example:
[
"ptcp:6653:[::1]"
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.extraOvsctlCmds
Commands to manipulate the Open vSwitch database. Every line executed with ovs-vsctl.
All commands are bundled together with the operations for adding the interfaces
into one atomic operation.
Type: strings concatenated with “\n”
Default:
""
Example:
''
set-fail-mode <switch_name> secure
set Bridge <switch_name> stp_enable=true
''
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.interfaces
The physical network interfaces connected by the vSwitch.
Type: attribute set of (submodule)
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.interfaces.<name>.name
Name of the interface
Type: string
Example:
"eth0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.interfaces.<name>.type
Openvswitch type to assign to interface
Type: null or string
Default:
null
Example:
"internal"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.interfaces.<name>.vlan
Vlan tag to apply to interface
Type: null or signed integer
Default:
null
Example:
10
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.openFlowRules
OpenFlow rules to insert into the Open vSwitch. All openFlowRules are
loaded with ovs-ofctl within one atomic operation.
Type: strings concatenated with “\n”
Default:
""
Example:
''
actions=normal
''
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.openFlowVersion
Version of OpenFlow protocol to use when communicating with the switch internally (e.g. with openFlowRules).
Type: string
Default:
"OpenFlow13"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.vswitches.<name>.supportedOpenFlowVersions
Supported versions to enable on this switch.
Type: list of string
Default:
[
"OpenFlow13"
]
Example:
[
"OpenFlow10"
"OpenFlow13"
"OpenFlow14"
]
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.wg-quick.interfaces
Wireguard interfaces.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
wg0 = {
address = [
"192.168.20.4/24"
];
peers = [
{
allowedIPs = [
"192.168.20.1/32"
];
endpoint = "demo.wireguard.io:12913";
publicKey = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=";
}
];
privateKey = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=";
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.address
The IP addresses of the interface.
Type: list of string
Default:
[ ]
Example:
[
"192.168.2.1/24"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.autostart
Whether to bring up this interface automatically during boot.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.configFile
wg-quick .conf file, describing the interface. Using this option can be a useful means of configuring WireGuard if one has an existing .conf file. This overrides any other configuration interface configuration options. See wg-quick manpage for more details.
Type: null or string
Default:
null
Example:
"/secret/wg0.conf"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.dns
The IP addresses of DNS servers to configure.
Type: list of string
Default:
[ ]
Example:
[
"192.168.2.2"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.extraOptions
Extra options to append to the interface section. Can be used to define AmneziaWG-specific options.
Type: attribute set of (string or signed integer)
Default:
{ }
Example:
{
H4 = 12345;
Jc = 5;
Jmax = 42;
Jmin = 10;
S1 = 60;
S2 = 90;
}
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.generatePrivateKeyFile
Automatically generate a private key with wg genkey, at the privateKeyFile location.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.listenPort
16-bit port for listening. Optional; if not specified, automatically generated based on interface name.
Type: null or signed integer
Default:
null
Example:
51820
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.mtu
If not specified, the MTU is automatically determined from the endpoint addresses or the system default route, which is usually a sane choice. However, to manually specify an MTU to override this automatic discovery, this value may be specified explicitly.
Type: null or signed integer
Default:
null
Example:
1248
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.peers
Peers linked to the interface.
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.peers.*.allowedIPs
List of IP (v4 or v6) addresses with CIDR masks from which this peer is allowed to send incoming traffic and to which outgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may be specified for matching all IPv4 addresses, and ::/0 may be specified for matching all IPv6 addresses.
Type: list of string
Default:
[ ]
Example:
[
"10.192.122.3/32"
"10.192.124.1/24"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.peers.*.endpoint
Endpoint IP or hostname of the peer, followed by a colon, and then a port number of the peer.
Type: null or string
Default:
null
Example:
"demo.wireguard.io:12913"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.peers.*.persistentKeepalive
This is optional and is by default off, because most users will not need it. It represents, in seconds, between 1 and 65535 inclusive, how often to send an authenticated empty packet to the peer, for the purpose of keeping a stateful firewall or NAT mapping valid persistently. For example, if the interface very rarely sends traffic, but it might at anytime receive traffic from a peer, and it is behind NAT, the interface might benefit from having a persistent keepalive interval of 25 seconds; however, most users will not need this.
Type: null or signed integer
Default:
null
Example:
25
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.peers.*.presharedKey
Base64 preshared key generated by wg genpsk. Optional, and may be omitted. This option adds an additional layer of symmetric-key cryptography to be mixed into the already existing public-key cryptography, for post-quantum resistance.
Warning: Consider using presharedKeyFile instead if you do not want to store the key in the world-readable Nix store.
Type: null or string
Default:
null
Example:
"rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I="
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.peers.*.presharedKeyFile
File pointing to preshared key as generated by wg genpsk. Optional, and may be omitted. This option adds an additional layer of symmetric-key cryptography to be mixed into the already existing public-key cryptography, for post-quantum resistance.
Type: null or string
Default:
null
Example:
"/private/wireguard_psk"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.peers.*.publicKey
The base64 public key to the peer.
Type: string
Example:
"xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.postDown
Command called after the interface is taken down.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
"${pkgs.iproute2}/bin/ip netns del foo"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.postUp
Commands called after the interface setup.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
"${pkgs.iproute2}/bin/ip netns add foo"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.preDown
Command called before the interface is taken down.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
"${pkgs.iproute2}/bin/ip netns del foo"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.preUp
Commands called at the start of the interface setup.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
"${pkgs.iproute2}/bin/ip netns add foo"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.privateKey
Base64 private key generated by wg genkey.
Warning: Consider using privateKeyFile instead if you do not want to store the key in the world-readable Nix store.
Type: null or string
Default:
null
Example:
"yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.privateKeyFile
Private key file as generated by wg genkey.
Type: null or string
Default:
null
Example:
"/private/wireguard_key"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.table
The kernel routing table to add this interface’s associated routes to. Setting this is useful for e.g. policy routing (“ip rule”) or virtual routing and forwarding (“ip vrf”). Both numeric table IDs and table names (/etc/rt_tables) can be used. Defaults to “main”.
Type: null or string
Default:
null
Example:
"main"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wg-quick.interfaces.<name>.type
The type of the interface. Currently only “wireguard” and “amneziawg” are supported.
Type: one of “wireguard”, “amneziawg”
Default:
"wireguard"
Example:
"amneziawg"
Declared by:
<nixpkgs/nixos/modules/services/networking/wg-quick.nix>
|
networking.wireguard.enable
Whether to enable WireGuard.
By default, this module is powered by a script-based backend. You can
enable the networkd backend with networking.wireguard.useNetworkd.
Type: boolean
Default:
config.networking.wireguard.interfaces != { }
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces
WireGuard interfaces.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
wg0 = {
ips = [
"192.168.20.4/24"
];
peers = [
{
allowedIPs = [
"192.168.20.1/32"
];
endpoint = "demo.wireguard.io:12913";
publicKey = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=";
}
];
privateKey = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=";
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.allowedIPsAsRoutes
Determines whether to add allowed IPs as routes or not.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.dynamicEndpointRefreshSeconds
Periodically refresh the endpoint hostname or address for all peers. Allows WireGuard to notice DNS and IPv4/IPv6 connectivity changes. This option can be set or overridden for individual peers.
Setting this to 0 disables periodic refresh.
Type: signed integer
Default:
0
Example:
300
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.extraOptions
Extra options to append to the interface section. Can be used to define AmneziaWG-specific options.
Type: attribute set of (string or signed integer)
Default:
{ }
Example:
{
H4 = 12345;
Jc = 5;
Jmax = 42;
Jmin = 10;
S1 = 60;
S2 = 90;
}
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.fwMark
Mark all wireguard packets originating from this interface with the given firewall mark. The firewall mark can be used in firewalls or policy routing to filter the wireguard packets. This can be useful for setup where all traffic goes through the wireguard tunnel, because the wireguard packets need to be routed differently.
Type: null or string
Default:
null
Example:
"0x6e6978"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.generatePrivateKeyFile
Automatically generate a private key with wg genkey, at the privateKeyFile location.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.interfaceNamespace
The pre-existing network namespace the WireGuard
interface is moved to. The special value init means
the init namespace. When null, the interface is not
moved.
See documentation.
Type: null or string
Default:
null
Example:
"init"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.ips
The IP addresses of the interface.
Type: list of string
Default:
[ ]
Example:
[
"192.168.2.1/24"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.listenPort
16-bit port for listening. Optional; if not specified, automatically generated based on interface name.
Type: null or signed integer
Default:
null
Example:
51820
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.metric
Set the metric of routes related to this Wireguard interface.
Type: null or signed integer
Default:
null
Example:
700
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.mtu
Set the maximum transmission unit in bytes for the wireguard interface. Beware that the wireguard packets have a header that may add up to 80 bytes to the mtu. By default, the MTU is (1500 - 80) = 1420. However, if the MTU of the upstream network is lower, the MTU of the wireguard network has to be adjusted as well.
Type: null or signed integer
Default:
null
Example:
1280
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers
Peers linked to the interface.
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.allowedIPs
List of IP (v4 or v6) addresses with CIDR masks from which this peer is allowed to send incoming traffic and to which outgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may be specified for matching all IPv4 addresses, and ::/0 may be specified for matching all IPv6 addresses.
Type: list of string
Default:
[ ]
Example:
[
"10.192.122.3/32"
"10.192.124.1/24"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.dynamicEndpointRefreshRestartSeconds
When the dynamic endpoint refresh that is configured via dynamicEndpointRefreshSeconds exits (likely due to a failure), restart that service after this many seconds.
If set to null the value of
networking.wireguard.dynamicEndpointRefreshSeconds
will be used as the default.
Type: null or (unsigned integer, meaning >=0)
Default:
null
Example:
5
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.dynamicEndpointRefreshSeconds
Periodically re-execute the wg utility every
this many seconds in order to let WireGuard notice DNS / hostname
changes.
Setting this to 0 disables periodic reexecution.
This peer-level setting is not available when networking.wireguard.useNetworkd
is enabled. The interface-level setting may be used instead.
Type: null or signed integer
Default:
config.networking.wireguard.interfaces.<name>.dynamicEndpointRefreshSeconds
Example:
5
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.endpoint
Endpoint IP or hostname of the peer, followed by a colon, and then a port number of the peer.
Warning for endpoints with changing IPs:
The WireGuard kernel side cannot perform DNS resolution.
Thus DNS resolution is done once by the wg userspace
utility, when setting up WireGuard. Consequently, if the IP address
behind the name changes, WireGuard will not notice.
This is especially common for dynamic-DNS setups, but also applies to
any other DNS-based setup.
If you do not use IP endpoints, you likely want to set
networking.wireguard.dynamicEndpointRefreshSeconds
to refresh the IPs periodically.
Type: null or string
Default:
null
Example:
"demo.wireguard.io:12913"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.name
Name used to derive peer unit name.
Type: string
Default:
publicKey
Example:
"bernd"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.persistentKeepalive
This is optional and is by default off, because most users will not need it. It represents, in seconds, between 1 and 65535 inclusive, how often to send an authenticated empty packet to the peer, for the purpose of keeping a stateful firewall or NAT mapping valid persistently. For example, if the interface very rarely sends traffic, but it might at anytime receive traffic from a peer, and it is behind NAT, the interface might benefit from having a persistent keepalive interval of 25 seconds; however, most users will not need this.
Type: null or signed integer
Default:
null
Example:
25
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.presharedKey
Base64 preshared key generated by wg genpsk. Optional, and may be omitted. This option adds an additional layer of symmetric-key cryptography to be mixed into the already existing public-key cryptography, for post-quantum resistance.
Warning: Consider using presharedKeyFile instead if you do not want to store the key in the world-readable Nix store.
Type: null or string
Default:
null
Example:
"rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I="
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.presharedKeyFile
File pointing to preshared key as generated by wg genpsk. Optional, and may be omitted. This option adds an additional layer of symmetric-key cryptography to be mixed into the already existing public-key cryptography, for post-quantum resistance.
Type: null or string
Default:
null
Example:
"/private/wireguard_psk"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.peers.*.publicKey
The base64 public key of the peer.
Type: (optionally newline-terminated) single-line string
Example:
"xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.postSetup
Commands called at the end of the interface setup.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
''printf "nameserver 10.200.100.1" | ${pkgs.openresolv}/bin/resolvconf -a wg0 -m 0''
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.postShutdown
Commands called after shutting down the interface.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
"${pkgs.openresolv}/bin/resolvconf -d wg0"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.preSetup
Commands called at the start of the interface setup.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
"${pkgs.iproute2}/bin/ip netns add foo"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.preShutdown
Commands called before shutting down the interface.
Type: strings concatenated with “\n” or (list of string) convertible to it
Default:
""
Example:
"${pkgs.iproute2}/bin/ip netns del foo"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.privateKey
Base64 private key generated by wg genkey.
Warning: Consider using privateKeyFile instead if you do not want to store the key in the world-readable Nix store.
Type: null or string
Default:
null
Example:
"yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.privateKeyFile
Private key file as generated by wg genkey.
Type: null or string
Default:
null
Example:
"/private/wireguard_key"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.socketNamespace
The pre-existing network namespace in which the
WireGuard interface is created, and which retains the socket even if the
interface is moved via interfaceNamespace. When
null, the interface is created in the init namespace.
See documentation.
Type: null or string
Default:
null
Example:
"container"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.table
The kernel routing table to add this interface’s associated routes to. Setting this is useful for e.g. policy routing (“ip rule”) or virtual routing and forwarding (“ip vrf”). Both numeric table IDs and table names (/etc/rt_tables) can be used. Defaults to “main”.
Type: string
Default:
"main"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.interfaces.<name>.type
The type of the interface. Currently only “wireguard” and “amneziawg” are supported.
Type: one of “wireguard”, “amneziawg”
Default:
"wireguard"
Example:
"amneziawg"
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard.nix>
|
networking.wireguard.useNetworkd
Whether to use networkd as the network configuration backend for Wireguard instead of the legacy script-based system.
Some options have slightly different behavior with the networkd and script-based backends. Check the documentation for each Wireguard option you use before enabling this option.
Type: boolean
Default:
config.networking.useNetworkd
Declared by:
<nixpkgs/nixos/modules/services/networking/wireguard-networkd.nix>
|
networking.wireless.enable
Whether to enable wpa_supplicant.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.enableHardening
Whether to apply security hardening measures to wpa_supplicant. These include limiting access to the filesystem, devices and network capabilities.
Disabling this will increase the potential attack surface if the wpa_supplicant daemon becomes compromised, but it may be necessary for more complex enterprise networks (for example requiring access to mutable files, smart cards or TPM devices).
Type: unspecified value
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.allowAuxiliaryImperativeNetworks
Whether to allow configuring networks “imperatively” (e.g. via
wpa_supplicant_gui) and declaratively via
networking.wireless.networks.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.athUserRegulatoryDomain
If enabled, sets the ATH_USER_REGD kernel config switch to true to disable the enforcement of EEPROM regulatory restrictions for ath drivers. Requires at least Linux 5.8.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/hardware/network/ath-user-regd.nix>
|
networking.wireless.autoDetectInterfaces
Whether to enable automatic detection of wireless interfaces.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.dbusControlled
Whether to enable the DBus control interface. This is only needed when using NetworkManager or connman.
Type: boolean
Default:
length config.networking.wireless.interfaces < 2
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.driver
Force a specific wpa_supplicant driver.
Type: string
Default:
"nl80211,wext"
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.extraConfig
Extra lines appended to the configuration file. See wpa_supplicant.conf(5) for available options.
Type: strings concatenated with “\n”
Default:
""
Example:
''
p2p_disabled=1
''
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.extraConfigFiles
Extra wpa_supplicant configuration files to load.
Type: list of absolute path
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.fallbackToWPA2
Whether to fall back to WPA2 authentication protocols if WPA3 failed. This allows old wireless cards (that lack recent features required by WPA3) to connect to mixed WPA2/WPA3 access points.
To avoid possible downgrade attacks, disable this options.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.interfaces
The interfaces wpa_supplicant will use. If empty and
networking.wireless.autoDetectInterfaces is true it will
automatically use all wireless interfaces.
A separate wpa_supplicant instance will be started for each interface.
Type: list of string
Default:
[ ]
Example:
[
"wlan0"
"wlan1"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.iwd.enable
Whether to enable iwd.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/iwd.nix>
|
networking.wireless.iwd.package
The iwd package to use.
Type: package
Default:
pkgs.iwd
Declared by:
<nixpkgs/nixos/modules/services/networking/iwd.nix>
|
networking.wireless.iwd.settings
Options passed to iwd. See iwd.config(5) for supported options.
Type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
Default:
{ }
Example:
{
Network = {
EnableIPv6 = true;
RoutePriorityOffset = 300;
};
Settings = {
AutoConnect = true;
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/iwd.nix>
|
networking.wireless.networks
The network definitions to automatically connect to when wpa_supplicant is running. If this parameter is left empty wpa_supplicant will use /etc/wpa_supplicant.conf as the configuration file.
Type: attribute set of (submodule)
Default:
{ }
Example:
{ echelon = { # SSID with no spaces or special characters
psk = "abcdefgh"; # (password will be written to /nix/store!)
};
echelon = { # safe version of the above: read PSK from the
pskRaw = "ext:psk_echelon"; # variable psk_echelon, defined in secretsFile,
}; # this won't leak into /nix/store
"echelon's AP" = { # SSID with spaces and/or special characters
psk = "ijklmnop"; # (password will be written to /nix/store!)
};
"free.wifi" = {}; # Public wireless network
}
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.auth
Use this option to configure advanced authentication methods like EAP. See wpa_supplicant.conf(5) for example configurations.
Be aware that this will be written to the Nix store
in plaintext! Use an external reference like
ext:secretname for secrets.
Mutually exclusive with psk and pskRaw.
Type: null or string
Default:
null
Example:
''
eap=PEAP
identity="user@example.com"
password=ext:example_password
''
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.authProtocols
The list of authentication protocols accepted by this network.
This corresponds to the key_mgmt option in wpa_supplicant.
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”)
Default:
[
"WPA-PSK"
"WPA-EAP"
"SAE"
"FT-PSK"
"FT-EAP"
"FT-SAE"
]
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.bssid
If set, this network block is used only when associating with the AP using the configured BSSID.
Type: null or string
Default:
null
Example:
"02:00:00:00:00:01"
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.extraConfig
Extra configuration lines appended to the network block. See wpa_supplicant.conf(5) for available options.
Type: string
Default:
""
Example:
''
bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66
''
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.hidden
Set this to true if the SSID of the network is hidden.
Type: boolean
Default:
false
Example:
{ echelon = {
hidden = true;
psk = "abcdefgh";
};
}
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.priority
By default, all networks will get same priority group (0). If some of the networks are more desirable, this field can be used to change the order in which wpa_supplicant goes through the networks when selecting a BSS. The priority groups will be iterated in decreasing priority (i.e., the larger the priority value, the sooner the network is matched against the scan results). Within each priority group, networks will be selected based on security policy, signal strength, etc.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.psk
The network’s pre-shared key in plaintext defaulting to being a network without any authentication.
Be aware that this will be written to the Nix store
in plaintext! Use pskRaw with an external
reference to keep it safe.
Mutually exclusive with pskRaw.
Type: null or string matching the pattern [[:print:]]{8,63}
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.pskRaw
Either the raw pre-shared key in hexadecimal format
or the name of the secret (as defined inside
networking.wireless.secretsFile and prefixed
with ext:) containing the network pre-shared key.
Be aware that this will be written to the Nix store in plaintext! Always use an external reference.
The external secret can be either the plaintext passphrase or the raw pre-shared key.
Mutually exclusive with psk and auth.
Type: null or string matching the pattern ([[:xdigit:]]{64})|(ext:[^=]+)
Default:
null
Example:
"ext:name_of_the_secret_here"
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.networks.<name>.ssid
You could use this field to override the network’s ssid. This can be useful to, for example, specify two networks that share the same SSID but not the same password. Specifying the BSSID of the network can make two entries of the same SSID show up as different ones in wpa_cli.
Type: string
Default:
"‹name›"
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.scanOnLowSignal
Whether to periodically scan for (better) networks when the signal of the current one is low. This will make roaming between access points faster, but will consume more power.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.secretsFile
File consisting of lines of the form varname=value
to define variables for the wireless configuration.
Secrets (PSKs, passwords, etc.) can be provided without adding them to
the world-readable Nix store by defining them in the secrets file and
referring to them in option networking.wireless.networks
with the syntax ext:secretname. Example:
# content of /run/secrets/wireless.conf
psk_home=mypassword
psk_other=6a381cea59c7a2d6b30736ba0e6f397f7564a044bcdb7a327a1d16a1ed91b327
pass_work=myworkpassword
# wireless-related configuration
networking.wireless.secretsFile = "/run/secrets/wireless.conf";
networking.wireless.networks = {
home.pskRaw = "ext:psk_home";
other.pskRaw = "ext:psk_other";
work.auth = ''
eap=PEAP
identity="my-user@example.com"
password=ext:pass_work
'';
};
Type: null or absolute path
Default:
null
Example:
"/run/secrets/wireless.conf"
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wireless.userControlled
Allow users of the wpa_supplicant group to control wpa_supplicant
through wpa_gui or wpa_cli.
This is useful for laptop users that switch networks a lot and don’t want
to depend on a large package such as NetworkManager just to pick nearby
access points.
When networks are configured declaratively, you cannot persist any settings
via wpa_gui or wpa_cli, unless allowAuxiliaryImperativeNetworks
is used.
Type: boolean or (attribute set) convertible to it
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix>
|
networking.wlanInterfaces
Creating multiple WLAN interfaces on top of one physical WLAN device (NIC).
The name of the WLAN interface corresponds to the name of the attribute.
A NIC is referenced by the persistent device name of the WLAN interface that
udev assigns to a NIC by default.
If a NIC supports multiple WLAN interfaces, then the one NIC can be used as
device for multiple WLAN interfaces.
If a NIC is used for creating WLAN interfaces, then the default WLAN interface
with a persistent device name form udev is not created.
A WLAN interface with the persistent name assigned from udev
would have to be created explicitly.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
wlan-station0 = {
device = "wlp6s0";
};
wlan-adhoc0 = {
type = "ibss";
device = "wlp6s0";
mac = "02:00:00:00:00:01";
};
wlan-p2p0 = {
device = "wlp6s0";
mac = "02:00:00:00:00:02";
};
wlan-ap0 = {
device = "wlp6s0";
mac = "02:00:00:00:00:03";
};
}
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.wlanInterfaces.<name>.device
The name of the underlying hardware WLAN device as assigned by udev.
Type: string
Example:
"wlp6s0"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.wlanInterfaces.<name>.flags
Flags for interface of type monitor.
Type: null or one of “none”, “fcsfail”, “control”, “otherbss”, “cook”, “active”
Default:
null
Example:
"control"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.wlanInterfaces.<name>.fourAddr
Whether to enable 4-address mode with type managed.
Type: null or boolean
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.wlanInterfaces.<name>.mac
MAC address to use for the device. If null, then the MAC of the
underlying hardware WLAN device is used.
INFO: Locally administered MAC addresses are of the form:
x2:xx:xx:xx:xx:xx
x6:xx:xx:xx:xx:xx
xA:xx:xx:xx:xx:xx
xE:xx:xx:xx:xx:xx
Type: null or string
Default:
null
Example:
"02:00:00:00:00:01"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.wlanInterfaces.<name>.meshID
MeshID of interface with type mesh.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
networking.wlanInterfaces.<name>.type
The type of the WLAN interface. The type has to be supported by the underlying hardware of the device.
Type: one of “managed”, “ibss”, “monitor”, “mesh”, “wds”
Default:
"managed"
Example:
"ibss"
Declared by:
<nixpkgs/nixos/modules/tasks/network-interfaces.nix>
|
nix.enable
Whether to enable Nix. Disabling Nix makes the system hard to modify and the Nix programs and configuration will not be made available by NixOS itself.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.package
This option specifies the Nix package instance to use throughout the system.
Type: package
Default:
pkgs.nix
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.buildMachines
This option lists the machines to be used if distributed builds are
enabled (see nix.distributedBuilds).
Nix will perform derivations on those machines via SSH by copying the
inputs to the Nix store on the remote machine, starting the build,
then copying the output back to the local Nix store.
Type: list of (submodule)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.hostName
The hostname of the build machine.
Type: string
Example:
"nixbuilder.example.org"
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.mandatoryFeatures
A list of features mandatory for this builder. The builder will
be ignored for derivations that don’t require all features in
this list. All mandatory features are automatically included in
supportedFeatures.
Type: list of string
Default:
[ ]
Example:
[
"big-parallel"
]
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.maxJobs
The number of concurrent jobs the build machine supports. The build machine will enforce its own limits, but this allows hydra to schedule better since there is no work-stealing between build machines.
Type: signed integer
Default:
1
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.protocol
The protocol used for communicating with the build machine.
Use ssh-ng if your remote builder and your
local Nix version support that improved protocol.
Use null when trying to change the special localhost builder
without a protocol which is for example used by hydra.
Type: one of <null>, “ssh”, “ssh-ng”
Default:
"ssh"
Example:
"ssh-ng"
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.publicHostKey
The (base64-encoded) public host key of this builder. The field is calculated via base64 -w0 /etc/ssh/ssh_host_type_key.pub. If null, SSH will use its regular known-hosts file when connecting.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.speedFactor
The relative speed of this builder. This is an arbitrary integer that indicates the speed of this builder, relative to other builders. Higher is faster.
Type: signed integer
Default:
1
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.sshKey
The path to the SSH private key with which to authenticate on the build machine. The private key must not have a passphrase. If null, the building user (root on NixOS machines) must have an appropriate ssh configuration to log in non-interactively.
Note that for security reasons, this path must point to a file in the local filesystem, not to the nix store.
Type: null or string
Default:
null
Example:
"/root/.ssh/id_buildhost_builduser"
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.sshUser
The username to log in as on the remote host. This user must be
able to log in and run nix commands non-interactively. It must
also be privileged to build derivations, so must be included in
nix.settings.trusted-users.
Type: null or string
Default:
null
Example:
"builder"
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.supportedFeatures
A list of features supported by this builder. The builder will be ignored for derivations that require features not in this list.
Type: list of string
Default:
[ ]
Example:
[
"kvm"
"big-parallel"
]
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.system
The system type the build machine can execute derivations on.
Either this attribute or systems must be
present, where system takes precedence if
both are set.
Type: null or string
Default:
null
Example:
"x86_64-linux"
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.buildMachines.*.systems
The system types the build machine can execute derivations on.
Either this attribute or system must be
present, where system takes precedence if
both are set.
Type: list of string
Default:
[ ]
Example:
[
"x86_64-linux"
"aarch64-linux"
]
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.channel.enable
Whether the nix-channel command and state files are made available on the machine.
The following files are initialized when enabled:
/nix/var/nix/profiles/per-user/root/channels
/root/.nix-channels
$HOME/.nix-defexpr/channels (on login)
Disabling this option will not remove the state files from the system.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/nix-channel.nix>
|
nix.checkAllErrors
If enabled, checks the nix.conf parsing for any kind of error. When disabled, checks only for unknown settings.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.checkConfig
If enabled, checks that Nix can parse the generated nix.conf.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.daemonCPUSchedPolicy
Nix daemon process CPU scheduling policy. This policy propagates to
build processes. other is the default scheduling
policy for regular tasks. The batch policy is
similar to other, but optimised for
non-interactive tasks. idle is for extremely
low-priority tasks that should only be run when no other task
requires CPU time.
Please note that while using the idle policy may
greatly improve responsiveness of a system performing expensive
builds, it may also slow down and potentially starve crucial
configuration updates during load.
idle may therefore be a sensible policy for
systems that experience only intermittent phases of high CPU load,
such as desktop or portable computers used interactively. Other
systems should use the other or
batch policy instead.
For more fine-grained resource control, please refer to
systemd.resource-control(5) and adjust
systemd.services.nix-daemon directly.
Type: one of “other”, “batch”, “idle”
Default:
"other"
Example:
"batch"
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.daemonGroup
Group to use to run the Nix daemon.
Type: string
Default:
"root"
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.daemonIOSchedClass
Nix daemon process I/O scheduling class. This class propagates to
build processes. best-effort is the default
class for regular tasks. The idle class is for
extremely low-priority tasks that should only perform I/O when no
other task does.
Please note that while using the idle scheduling
class can improve responsiveness of a system performing expensive
builds, it might also slow down or starve crucial configuration
updates during load.
idle may therefore be a sensible class for
systems that experience only intermittent phases of high I/O load,
such as desktop or portable computers used interactively. Other
systems should use the best-effort class.
Type: one of “best-effort”, “idle”
Default:
"best-effort"
Example:
"idle"
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.daemonIOSchedPriority
Nix daemon process I/O scheduling priority. This priority propagates to build processes. The supported priorities depend on the scheduling policy: With idle, priorities are not used in scheduling decisions. best-effort supports values in the range 0 (high) to 7 (low).
Type: signed integer
Default:
4
Example:
1
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.daemonUser
User to use to run the Nix daemon.
If this is not “root” then the Nix daemon will set several settings to preserve functionality.
When setting this option, you must also set nix.daemonGroup.
Type: string
Default:
"root"
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.distributedBuilds
Whether to distribute builds to the machines listed in
nix.buildMachines.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/nix-remote-build.nix>
|
nix.extraOptions
Additional text appended to nix.conf.
Type: strings concatenated with “\n”
Default:
""
Example:
''
keep-outputs = true
keep-derivations = true
''
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.firewall.enable
Whether to enable firewalling for outgoing traffic of the nix daemon.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon-firewall.nix>
|
nix.firewall.allowLoopback
Whether to allow traffic on the loopback interface. Traffic is still subject to protocol/port rules
Type: unspecified value
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon-firewall.nix>
|
nix.firewall.allowNonTCPUDP
Whether to allow traffic that is neither TCP nor UDP
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon-firewall.nix>
|
nix.firewall.allowPrivateNetworks
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
Type: unspecified value
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon-firewall.nix>
|
nix.firewall.allowedTCPPorts
TCP ports to which traffic is allowed. Specifying no ports will allow all TCP traffic
Type: list of ((optionally newline-terminated) single-line string or 16 bit unsigned integer; between 0 and 65535 (both inclusive))
Default:
[ ]
Example:
[
"http"
443
"30000-31000"
]
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon-firewall.nix>
|
nix.firewall.allowedUDPPorts
UDP ports to which traffic is allowed. Specifying no ports will allow all UDP traffic
Type: list of ((optionally newline-terminated) single-line string or 16 bit unsigned integer; between 0 and 65535 (both inclusive))
Default:
[ ]
Example:
[
53
]
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon-firewall.nix>
|
nix.firewall.extraNftablesRules
Extra nftables rules to prepend to the generated ones
Type: list of (optionally newline-terminated) single-line string
Default:
[ ]
Example:
[
"ip daddr 1.1.1.1 udp dport accept"
]
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon-firewall.nix>
|
nix.gc.automatic
Automatically run the garbage collector at a specific time.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-gc.nix>
|
nix.gc.dates
How often or when garbage collection is performed. For most desktop and server systems a sufficient garbage collection is once a week.
This value must be a calendar event in the format specified by systemd.time(7).
Type: (optionally newline-terminated) single-line string or list of string
Default:
[
"03:15"
]
Example:
"weekly"
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-gc.nix>
|
nix.gc.options
Options given to nix-collect-garbage when the garbage collector is run automatically.
Type: (optionally newline-terminated) single-line string
Default:
""
Example:
"--max-freed $((64 * 1024**3))"
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-gc.nix>
|
nix.gc.persistent
Takes a boolean argument. If true, the time when the service unit was last triggered is stored on disk. When the timer is activated, the service unit is triggered immediately if it would have been triggered at least once during the time when the timer was inactive. Such triggering is nonetheless subject to the delay imposed by RandomizedDelaySec=. This is useful to catch up on missed runs of the service when the system was powered down.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-gc.nix>
|
nix.gc.randomizedDelaySec
Add a randomized delay before each garbage collection. The delay will be chosen between zero and this value. This value must be a time span in the format specified by systemd.time(7)
Type: (optionally newline-terminated) single-line string
Default:
"0"
Example:
"45min"
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-gc.nix>
|
nix.nixPath
The default Nix expression search path, used by the Nix
evaluator to look up paths enclosed in angle brackets
(e.g. <nixpkgs>).
Type: list of string
Default:
''
if nix.channel.enable
then [
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixos-config=/etc/nixos/configuration.nix"
"/nix/var/nix/profiles/per-user/root/channels"
]
else [];
''
Declared by:
<nixpkgs/nixos/modules/config/nix-channel.nix>
|
nix.nrBuildUsers
Number of nixbld user accounts created to
perform secure concurrent builds. If you receive an error
message saying that “all build users are currently in use”,
you should increase this value.
Type: signed integer
Declared by:
<nixpkgs/nixos/modules/services/system/nix-daemon.nix>
|
nix.optimise.automatic
Automatically run the nix store optimiser at a specific time.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-optimise.nix>
|
nix.optimise.dates
Specification (in the format described by systemd.time(7)) of the time at which the optimiser will run.
Type: (optionally newline-terminated) single-line string or list of string
Default:
[
"03:45"
]
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-optimise.nix>
|
nix.optimise.persistent
Takes a boolean argument. If true, the time when the service unit was last triggered is stored on disk. When the timer is activated, the service unit is triggered immediately if it would have been triggered at least once during the time when the timer was inactive. Such triggering is nonetheless subject to the delay imposed by RandomizedDelaySec=. This is useful to catch up on missed runs of the service when the system was powered down.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-optimise.nix>
|
nix.optimise.randomizedDelaySec
Add a randomized delay before the optimizer will run. The delay will be chosen between zero and this value. This value must be a time span in the format specified by systemd.time(7)
Type: (optionally newline-terminated) single-line string
Default:
"1800"
Example:
"45min"
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-optimise.nix>
|
nix.registry
A system-wide flake registry.
See nix3-registry(1) for more information.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/config/nix-flakes.nix>
|
nix.registry.<name>.exact
Whether the from reference needs to match exactly. If set,
a from reference like nixpkgs does not
match with a reference like nixpkgs/nixos-20.03.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/nix-flakes.nix>
|
nix.registry.<name>.flake
The flake input from is rewritten to.
Type: null or (attribute set)
Default:
null
Example:
nixpkgs
Declared by:
<nixpkgs/nixos/modules/config/nix-flakes.nix>
|
nix.registry.<name>.from
The flake reference to be rewritten.
The format of flake references is described in nix3-flake(1).
Type: attribute set of (string or signed integer or boolean or absolute path or package)
Default:
{ }
Example:
{
id = "nixpkgs";
type = "indirect";
}
Declared by:
<nixpkgs/nixos/modules/config/nix-flakes.nix>
|
nix.registry.<name>.to
The flake reference from is rewritten to.
The format of flake references is described in nix3-flake(1).
Type: attribute set of (string or signed integer or boolean or absolute path or package)
Default:
{ }
Example:
{
owner = "my-org";
repo = "my-nixpkgs";
type = "github";
}
Declared by:
<nixpkgs/nixos/modules/config/nix-flakes.nix>
|
nix.settings
Configuration for Nix, see https://nixos.org/manual/nix/stable/command-ref/conf-file.html or nix.conf(5) for available options. The value declared here will be translated directly to the key-value pairs Nix expects.
You can use nix-instantiate --eval --strict '<nixpkgs/nixos>' -A config.nix.settings to view the current value. By default it is empty.
Nix configurations defined under nix.* will be translated and applied to this
option. In addition, configuration specified in nix.extraOptions will be appended
verbatim to the resulting config file.
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)))
Default:
{ }
Example:
{
use-sandbox = true;
show-trace = true;
sandbox-paths = [ "/bin/sh=${pkgs.busybox-sandbox-shell.out}/bin/busybox" ];
}
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.allowed-users
A list of names of users (separated by whitespace) that are
allowed to connect to the Nix daemon. As with
nix.settings.trusted-users, you can specify groups by
prefixing them with @. Also, you can
allow all users by specifying *. The
default is *. Note that trusted users are
always allowed to connect.
Type: list of string
Default:
[
"*"
]
Example:
[
"@wheel"
"@builders"
"alice"
"bob"
]
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.auto-optimise-store
If set to true, Nix automatically detects files in the store that have identical contents, and replaces them with hard links to a single copy. This saves disk space. If set to false (the default), you can still run nix-store --optimise to get rid of duplicate files.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.cores
This option defines the maximum number of concurrent tasks during one build. It affects, e.g., -j option for make. The special value 0 means that the builder should use all available CPU cores in the system. Some builds may become non-deterministic with this option; use with care! Packages will only be affected if enableParallelBuilding is set for them.
Type: signed integer
Default:
0
Example:
64
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.extra-sandbox-paths
Directories from the host filesystem to be included in the sandbox.
Type: list of string
Default:
[ ]
Example:
[
"/dev"
"/proc"
]
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.max-jobs
This option defines the maximum number of jobs that Nix will try to build in parallel. The default is auto, which means it will use all available logical cores. It is recommend to set it to the total number of logical cores in your system (e.g., 16 for two CPUs with 4 cores each and hyper-threading).
Type: signed integer or value “auto” (singular enum)
Default:
"auto"
Example:
64
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.require-sigs
If enabled (the default), Nix will only download binaries from binary caches if
they are cryptographically signed with any of the keys listed in
nix.settings.trusted-public-keys. If disabled, signatures are neither
required nor checked, so it’s strongly recommended that you use only
trustworthy caches and https to prevent man-in-the-middle attacks.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.sandbox
If set, Nix will perform builds in a sandboxed environment that it will set up automatically for each build. This prevents impurities in builds by disallowing access to dependencies outside of the Nix store by using network and mount namespaces in a chroot environment.
This is enabled by default even though it has a possible performance impact due to the initial setup time of a sandbox for each build. It doesn’t affect derivation hashes, so changing this option will not trigger a rebuild of packages.
When set to “relaxed”, this option permits derivations that set
__noChroot = true; to run outside of the sandboxed environment.
Exercise caution when using this mode of operation! It is intended to
be a quick hack when building with packages that are not easily setup
to be built reproducibly.
Type: boolean or value “relaxed” (singular enum)
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.substituters
List of binary cache URLs used to obtain pre-built binaries of Nix packages.
By default https://cache.nixos.org/ is added.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.system-features
The set of features supported by the machine. Derivations
can express dependencies on system features through the
requiredSystemFeatures attribute.
Type: list of string
Default:
[ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-<arch>" ]
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.trusted-public-keys
List of public keys used to sign binary caches. If
nix.settings.trusted-public-keys is enabled,
then Nix will use a binary from a binary cache if and only
if it is signed by any of the keys
listed here. By default, only the key for
cache.nixos.org is included.
Type: list of string
Default:
[ ]
Example:
[
"hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs="
]
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.trusted-substituters
List of binary cache URLs that non-root users can use (in
addition to those specified using
nix.settings.substituters) by passing
--option binary-caches to Nix commands.
Type: list of string
Default:
[ ]
Example:
[
"https://hydra.nixos.org/"
]
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.settings.trusted-users
A list of names of users that have additional rights when
connecting to the Nix daemon, such as the ability to specify
additional binary caches, or to import unsigned NARs. You
can also specify groups by prefixing them with
@; for instance,
@wheel means all users in the wheel
group.
Type: list of string
Default:
[ ]
Example:
[
"root"
"alice"
"@wheel"
]
Declared by:
<nixpkgs/nixos/modules/config/nix.nix>
|
nix.sshServe.enable
Whether to enable serving the Nix store as a remote store via SSH.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix>
|
nix.sshServe.keys
A list of SSH public keys allowed to access the binary cache via SSH.
Type: list of string
Default:
[ ]
Example:
[
"ssh-dss AAAAB3NzaC1k... alice@example.org"
]
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix>
|
nix.sshServe.protocol
The specific Nix-over-SSH protocol to use.
Type: one of “ssh”, “ssh-ng”
Default:
"ssh"
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix>
|
nix.sshServe.trusted
Whether to add nix-ssh to the nix.settings.trusted-users
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix>
|
nix.sshServe.write
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 nix.sshServe.trusted option in most use cases, such as allowing remote building of derivations to anonymous people based on ssh key
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix>
|
nixops.enableDeprecatedAutoLuks
Whether to enable the deprecated NixOps AutoLuks module.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/misc/nixops-autoluks.nix>
|
nixpkgs.buildPlatform
Specifies the platform on which NixOS should be built. By default, NixOS is built on the system where it runs, but you can change where it’s built. Setting this option will cause NixOS to be cross-compiled.
For instance, if you’re doing distributed multi-platform deployment, or if you’re building machines, you can set this to match your development system and/or build farm.
Ignored when nixpkgs.pkgs is set.
Type: string or (attribute set)
Default:
config.nixpkgs.hostPlatform
Example:
{
system = "x86_64-linux";
}
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
nixpkgs.config
Global configuration for Nixpkgs. The complete list of Nixpkgs configuration options is in the Nixpkgs manual section on global configuration.
Ignored when nixpkgs.pkgs is set.
Type: nixpkgs config
Default:
{ }
Example:
{ allowBroken = true; allowUnfree = true; }
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
nixpkgs.crossSystem
Systems with a recently generated hardware-configuration.nix
may instead specify only nixpkgs.buildPlatform,
or fall back to removing the nixpkgs.hostPlatform line from the generated config.
Specifies the platform for which NixOS should be
built. Specify this only if it is different from
nixpkgs.localSystem, the platform
on which NixOS should be built. In other
words, specify this to cross-compile NixOS. Otherwise it
should be set as null, the default. See its description in the
Nixpkgs manual for more details.
Ignored when nixpkgs.pkgs or hostPlatform is set.
Type: null or (attribute set)
Default:
null
Example:
{
system = "aarch64-linux";
}
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
nixpkgs.flake.setFlakeRegistry
Whether to pin nixpkgs in the system-wide flake registry (/etc/nix/registry.json) to the
store path of the sources of nixpkgs used to build the NixOS system.
This is on by default for NixOS configurations built with flakes.
This option makes nix run nixpkgs#hello reuse dependencies from the system, avoid refetching nixpkgs, and have a consistent result every time.
Note that this option makes the NixOS closure depend on the nixpkgs sources, which may add undesired closure size if the system will not have any nix commands run on it.
Type: boolean
Default:
"config.nixpkgs.flake.source != null"
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs-flake.nix>
|
nixpkgs.flake.setNixPath
Whether to set NIX_PATH to include nixpkgs=flake:nixpkgs such that <nixpkgs>
lookups receive the version of nixpkgs that the system was built with, in concert with
nixpkgs.flake.setFlakeRegistry.
This is on by default for NixOS configurations built with flakes.
This makes nix-build '<nixpkgs>' -A hello work out of the box on flake systems.
Note that this option makes the NixOS closure depend on the nixpkgs sources, which may add undesired closure size if the system will not have any nix commands run on it.
Type: boolean
Default:
"config.nixpkgs.flake.source != null"
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs-flake.nix>
|
nixpkgs.flake.source
The path to the nixpkgs sources used to build the system. This is automatically set up to be
the store path of the nixpkgs flake used to build the system if using
nixpkgs.lib.nixosSystem, and is otherwise null by default.
This can also be optionally set if the NixOS system is not built with a flake but still uses
pinned sources: set this to the store path for the nixpkgs sources used to build the system,
as may be obtained by fetchTarball, for example.
Note: the name of the store path must be “source” due to https://github.com/NixOS/nix/issues/7075.
Type: null or string or absolute path
Default:
"if (using nixpkgsFlake.lib.nixosSystem) then self.outPath else null"
Example:
"fetchTarball { name = \"source\"; sha256 = \"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"; url = \"https://github.com/nixos/nixpkgs/archive/somecommit.tar.gz\"; }"
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs-flake.nix>
|
nixpkgs.hostPlatform
Specifies the platform where the NixOS configuration will run.
To cross-compile, set also nixpkgs.buildPlatform.
Ignored when nixpkgs.pkgs is set.
Type: string or (attribute set)
Example:
{
system = "aarch64-linux";
}
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
nixpkgs.localSystem
Systems with a recently generated hardware-configuration.nix
do not need to specify this option, unless cross-compiling, in which case
you should set only nixpkgs.buildPlatform.
If this is somehow not feasible, you may fall back to removing the
nixpkgs.hostPlatform line from the generated config and
use the old options.
Specifies the platform on which NixOS should be built. When
nixpkgs.crossSystem is unset, it also specifies
the platform for which NixOS should be
built. If this option is unset, it defaults to the platform
type of the machine where evaluation happens. Specifying this
option is useful when doing distributed multi-platform
deployment, or when building virtual machines. See its
description in the Nixpkgs manual for more details.
Ignored when nixpkgs.pkgs or hostPlatform is set.
Type: attribute set
Default:
config.nixpkgs.system
Example:
{
system = "aarch64-linux";
}
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
nixpkgs.overlays
List of overlays to apply to Nixpkgs.
This option allows modifying the Nixpkgs package set accessed through the pkgs module argument.
For details, see the Overlays chapter in the Nixpkgs manual.
If the nixpkgs.pkgs option is set, overlays specified using nixpkgs.overlays will be applied after the overlays that were already included in nixpkgs.pkgs.
Type: list of (nixpkgs overlay)
Default:
[ ]
Example:
[
(self: super: {
openssh = super.openssh.override {
hpnSupport = true;
kerberos = self.libkrb5;
};
})
]
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
nixpkgs.pkgs
If set, the pkgs argument to all NixOS modules is the value of
this option, extended with nixpkgs.overlays, if
that is also set. Either nixpkgs.crossSystem or
nixpkgs.localSystem will be used in an assertion
to check that the NixOS and Nixpkgs architectures match. Any
other options in nixpkgs.*, notably config,
will be ignored.
If unset, the pkgs argument to all NixOS modules is determined as shown in the default value for this option.
The default value imports the Nixpkgs source files
relative to the location of this NixOS module, because
NixOS and Nixpkgs are distributed together for consistency,
so the nixos in the default value is in fact a
relative path. The config, overlays,
localSystem, and crossSystem come
from this option’s siblings.
This option can be used by applications like NixOps to increase
the performance of evaluation, or to create packages that depend
on a container that should be built with the exact same evaluation
of Nixpkgs, for example. Applications like this should set
their default value using lib.mkDefault, so
user-provided configuration can override it without using
lib.
Note that using a distinct version of Nixpkgs with NixOS may be an unexpected source of problems. Use this option with care.
Type: An evaluation of Nixpkgs; the top level attribute set of packages
Default:
import "${nixos}/.." {
inherit (config.nixpkgs) config overlays localSystem crossSystem;
}
Example:
import <nixpkgs> {}
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
nixpkgs.system
This option does not need to be specified for NixOS configurations
with a recently generated hardware-configuration.nix.
Specifies the Nix platform type on which NixOS should be built.
It is better to specify nixpkgs.localSystem instead.
{
nixpkgs.system = ..;
}
is the same as
{
nixpkgs.localSystem.system = ..;
}
See nixpkgs.localSystem for more information.
Ignored when nixpkgs.pkgs, nixpkgs.localSystem or nixpkgs.hostPlatform is set.
Type: string
Default:
Traditionally builtins.currentSystem, but unset when invoking NixOS through lib.nixosSystem.
Example:
"i686-linux"
Declared by:
<nixpkgs/nixos/modules/misc/nixpkgs.nix>
|
openstack.zfs.datasets
Datasets to create under the tank and boot zpools.
NOTE: This option is used only at image creation time, and does not attempt to declaratively create or manage datasets on an existing system.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/virtualisation/openstack-options.nix>
|
openstack.zfs.datasets.<name>.mount
Where to mount this dataset.
Type: null or string
Default:
null
Declared by:
<nixpkgs/nixos/modules/virtualisation/openstack-options.nix>
|
openstack.zfs.datasets.<name>.properties
Properties to set on this dataset.
Type: attribute set of string
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/virtualisation/openstack-options.nix>
|
power.ups.enable
Whether to enable support for Power Devices, such as Uninterruptible Power Supplies, Power Distribution Units and Solar Controllers .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.package
The nut package to use.
Type: package
Default:
pkgs.nut
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.maxStartDelay
This can be set as a global variable above your first UPS definition and it can also be set in a UPS section. This value controls how long upsdrvctl will wait for the driver to finish starting. This keeps your system from getting stuck due to a broken driver or UPS.
Type: signed integer
Default:
45
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.mode
The MODE determines which part of the NUT is to be started, and which configuration files must be modified.
The values of MODE can be:
none: NUT is not configured, or use the Integrated Power Management, or use some external system to startup NUT components. So nothing is to be started.
standalone: This mode address a local only configuration, with 1 UPS protecting the local system. This implies to start the 3 NUT layers (driver, upsd and upsmon) and the matching configuration files. This mode can also address UPS redundancy.
netserver: same as for the standalone configuration, but also need some more ACLs and possibly a specific LISTEN directive in upsd.conf. Since this MODE is opened to the network, a special care should be applied to security concerns.
netclient: this mode only requires upsmon.
Type: one of “none”, “standalone”, “netserver”, “netclient”
Default:
"standalone"
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.openFirewall
Open ports in the firewall for upsd.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.schedulerRules
File which contains the rules to handle UPS events.
Type: string
Example:
"/etc/nixos/upssched.conf"
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups
This is where you configure all the UPSes that this system will be monitoring directly. These are usually attached to serial ports, but USB devices are also supported.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups.<name>.description
Description of the UPS.
Type: string
Default:
""
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups.<name>.directives
List of configuration directives for this UPS.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups.<name>.driver
Specify the program to run to talk to this UPS. apcsmart, bestups, and sec are some examples.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups.<name>.maxStartDelay
This can be set as a global variable above your first UPS definition and it can also be set in a UPS section. This value controls how long upsdrvctl will wait for the driver to finish starting. This keeps your system from getting stuck due to a broken driver or UPS.
Type: null or signed integer
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups.<name>.port
The serial port to which your UPS is connected. /dev/ttyS0 is usually the first port on Linux boxes, for example.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups.<name>.shutdownOrder
When you have multiple UPSes on your system, you usually need to turn them off in a certain order. upsdrvctl shuts down all the 0s, then the 1s, 2s, and so on. To exclude a UPS from the shutdown sequence, set this to -1.
Type: signed integer
Default:
0
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.ups.<name>.summary
Lines which would be added inside ups.conf for handling this UPS.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsd
Options for the upsd.conf configuration file.
Type: submodule
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsd.enable
Whether to enable upsd.
Type: boolean
Default:
true if mode is one of standalone, netserver
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsd.extraConfig
Additional lines to add to upsd.conf.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsd.listen
Address of the interface for upsd to listen on.
See man upsd for details`.
Type: list of (submodule)
Default:
[ ]
Example:
[
{
address = "192.168.50.1";
}
{
address = "::1";
port = 5923;
}
]
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsd.listen.*.address
Address of the interface for upsd to listen on.
See man upsd.conf for details.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsd.listen.*.port
TCP port for upsd to listen on.
See man upsd.conf for details.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
3493
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon
Options for the upsmon.conf configuration file.
Type: submodule
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.enable
Whether to enable upsmon.
Type: boolean
Default:
true if mode is one of standalone, netserver, netclient
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.group
Group for the default nutmon user. If the default user is created
and this is not specified, a default group will be created.
Type: string
Default:
"nutmon"
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.monitor
Set of UPS to monitor. See man upsmon.conf for details.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.monitor.<name>.passwordFile
The full path to a file containing the password from
upsd.users for accessing this UPS. The password file
is read on service start.
See upsmon.conf for details.
Type: string
Default: power.ups.users.${user}.passwordFile
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.monitor.<name>.powerValue
Number of power supplies that the UPS feeds on this system.
See upsmon.conf for details.
Type: signed integer
Default:
1
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.monitor.<name>.system
Identifier of the UPS to monitor, in this form: <upsname>[@<hostname>[:<port>]]
See upsmon.conf for details.
Type: string
Default:
"‹name›"
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.monitor.<name>.type
The relationship with upsd.
See upsmon.conf for details.
Type: string
Default:
"master"
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.monitor.<name>.user
Username from upsd.users for accessing this UPS.
See upsmon.conf for details.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.settings
Additional settings to add to upsmon.conf.
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))))
Default: { MINSUPPLIES = 1; MONITOR = <generated from config.power.ups.upsmon.monitor> NOTIFYCMD = “${cfg.package}/bin/upssched”; POWERDOWNFLAG = “/run/killpower”; SHUTDOWNCMD = “${pkgs.systemd}/bin/shutdown now”; }
Example: { MINSUPPLIES = 2; NOTIFYFLAG = [ [ “ONLINE” “SYSLOG+EXEC” ] [ “ONBATT” “SYSLOG+EXEC” ] ]; }
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.upsmon.user
User to run upsmon as. upsmon.conf will have its owner set to this
user. If not specified, a default user will be created.
Type: string
Default:
"nutmon"
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.users
Users that can access upsd. See man upsd.users.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.users.<name>.actions
Allow the user to do certain things with upsd.
See man upsd.users for details.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.users.<name>.instcmds
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”.
See man upsd.users for details.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.users.<name>.passwordFile
The full path to a file that contains the user’s (clear text) password. The password file is read on service start.
Type: string
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
power.ups.users.<name>.upsmon
Add the necessary actions for a upsmon process to work.
See man upsd.users for details.
Type: null or one of “primary”, “secondary”
Default:
null
Declared by:
<nixpkgs/nixos/modules/services/monitoring/ups.nix>
|
powerManagement.enable
Whether to enable power management. This includes support for suspend-to-RAM and powersave features on laptops.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/config/power-management.nix>
|
powerManagement.bootCommands
Commands executed only once after initial boot.
These commands are executed before powerUpCommands.
Type: strings concatenated with “\n”
Default:
""
Example:
"${pkgs.networkmanager}/bin/nmcli radio wifi on"
Declared by:
<nixpkgs/nixos/modules/config/power-management.nix>
|
powerManagement.cpuFreqGovernor
Configure the governor used to regulate the frequency of the available CPUs. By default, the kernel configures the performance governor, although this may be overwritten in your hardware-configuration.nix file.
Often used values: “ondemand”, “powersave”, “performance”
Type: null or string
Default:
null
Example:
"ondemand"
Declared by:
<nixpkgs/nixos/modules/tasks/cpu-freq.nix>
|
powerManagement.cpufreq.max
The maximum frequency the CPU will use. Defaults to the maximum possible.
Type: null or (unsigned integer, meaning >=0)
Default:
null
Example:
2200000
Declared by:
<nixpkgs/nixos/modules/tasks/cpu-freq.nix>
|
powerManagement.cpufreq.min
The minimum frequency the CPU will use.
Type: null or (unsigned integer, meaning >=0)
Default:
null
Example:
800000
Declared by:
<nixpkgs/nixos/modules/tasks/cpu-freq.nix>
|
powerManagement.powerDownCommands
Commands executed when the machine powers down. That is, they’re executed both when the system shuts down and when it goes to suspend or hibernation.
Type: strings concatenated with “\n”
Default:
""
Example:
"${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda"
Declared by:
<nixpkgs/nixos/modules/config/power-management.nix>
|
powerManagement.powerUpCommands
Commands executed when the machine powers up. That is, they’re executed both when the system first boots and when it resumes from suspend or hibernation.
Type: strings concatenated with “\n”
Default:
""
Example:
"${pkgs.powertop}/bin/powertop --auto-tune"
Declared by:
<nixpkgs/nixos/modules/config/power-management.nix>
|
powerManagement.powertop.enable
Whether to enable powertop auto tuning on startup.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/tasks/powertop.nix>
|
powerManagement.powertop.postStart
Shell commands executed after powertop is started.
This can be used to workaround problematic configurations. For example,
you can retrigger an udev rule to disable power saving on unsupported
USB devices:
services.udev.extraRules = '''
# disable USB auto suspend for Logitech, Inc. G PRO Gaming Mouse
ACTION=="bind", SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c08c", TEST=="power/control", ATTR{power/control}="on"
''';
Type: strings concatenated with “\n”
Default:
""
Example:
''
''${lib.getExe' config.systemd.package "udevadm"} trigger -c bind -s usb -a idVendor=046d -a idProduct=c08c
''
Declared by:
<nixpkgs/nixos/modules/tasks/powertop.nix>
|
powerManagement.powertop.preStart
Shell commands executed before powertop is started.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/tasks/powertop.nix>
|
powerManagement.resumeCommands
Commands executed after the system resumes from suspend-to-RAM.
Type: strings concatenated with “\n”
Default:
""
Example:
"${pkgs.util-linux}/bin/rfkill unblock all"
Declared by:
<nixpkgs/nixos/modules/config/power-management.nix>
|
powerManagement.scsiLinkPolicy
SCSI link power management policy. The kernel default is “max_performance”.
“med_power_with_dipm” is supported by kernel versions 4.15 and newer.
Type: null or one of “min_power”, “max_performance”, “medium_power”, “med_power_with_dipm”
Default:
null
Declared by:
<nixpkgs/nixos/modules/tasks/scsi-link-power-management.nix>
|
programs._1password.enable
Whether to enable the 1Password CLI tool.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/_1password.nix>
|
programs._1password.package
The 1Password CLI package to use.
Type: package
Default:
pkgs._1password-cli
Declared by:
<nixpkgs/nixos/modules/programs/_1password.nix>
|
programs._1password-gui.enable
Whether to enable the 1Password GUI application.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/_1password-gui.nix>
|
programs._1password-gui.package
The 1Password GUI package to use.
Type: package
Default:
pkgs._1password-gui
Declared by:
<nixpkgs/nixos/modules/programs/_1password-gui.nix>
|
programs._1password-gui.polkitPolicyOwners
A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms.
Type: list of string
Default:
[ ]
Example:
["user1" "user2" "user3"]
Declared by:
<nixpkgs/nixos/modules/programs/_1password-gui.nix>
|
programs.alvr.enable
Whether to enable ALVR, the VR desktop streamer.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/alvr.nix>
|
programs.alvr.package
The alvr package to use.
Type: package
Default:
pkgs.alvr
Declared by:
<nixpkgs/nixos/modules/programs/alvr.nix>
|
programs.alvr.openFirewall
Whether to open the default ports in the firewall for the ALVR server.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/alvr.nix>
|
programs.amnezia-vpn.enable
Whether to enable The AmneziaVPN client.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/amnezia-vpn.nix>
|
programs.amnezia-vpn.package
The amnezia-vpn package to use.
Type: package
Default:
pkgs.amnezia-vpn
Declared by:
<nixpkgs/nixos/modules/programs/amnezia-vpn.nix>
|
programs.appgate-sdp.enable
Whether to enable the AppGate SDP VPN client.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/appgate-sdp.nix>
|
programs.appimage.enable
Whether to enable appimage-run wrapper script for executing appimages on NixOS.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/appimage.nix>
|
programs.appimage.package
The appimage-run package to use.
Type: package
Default:
pkgs.appimage-run
Example:
pkgs.appimage-run.override {
extraPkgs = pkgs: [ pkgs.ffmpeg pkgs.imagemagick ];
}
Declared by:
<nixpkgs/nixos/modules/programs/appimage.nix>
|
programs.appimage.binfmt
Whether to enable binfmt registration to run appimages via appimage-run seamlessly.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/appimage.nix>
|
programs.arp-scan.enable
Whether to configure a setcap wrapper for arp-scan.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/arp-scan.nix>
|
programs.atop.enable
Whether to enable Atop, a tool for monitoring system resources.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.package
The atop package to use.
Type: package
Default:
pkgs.atop
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.atopRotateTimer.enable
Whether to enable the atop-rotate timer, which restarts the atop service daily to make sure the data files are rotate.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.atopService.enable
Whether to enable the atop service responsible for storing statistics for long-term analysis.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.atopacctService.enable
Whether to enable the atopacct service which manages process accounting. This allows Atop to gather data about processes that disappeared in between two refresh intervals.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.atopgpu.enable
Whether to install and enable the atopgpud daemon to get information about NVIDIA gpus.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.netatop.enable
Whether to install and enable the netatop kernel module. Note: this sets the kernel taint flag “O” for loading out-of-tree modules.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.netatop.package
Which package to use for netatop.
Type: package
Default:
config.boot.kernelPackages.netatop
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.settings
Parameters to be written to /etc/atoprc.
Type: attribute set
Default:
{ }
Example:
{
flags = "a1f";
interval = 5;
}
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atop.setuidWrapper.enable
Whether to install a setuid wrapper for Atop. This is required to use some of the features as non-root user (e.g.: ipc information, netatop, atopgpu). Atop tries to drop the root privileges shortly after starting.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/atop.nix>
|
programs.atuin.enable
Whether to enable atuin.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.enableBashIntegration
Whether to enable Bash integration.
Type: boolean
Default:
config.programs.bash.enable
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.enableFishIntegration
Whether to enable Fish integration.
Type: boolean
Default:
config.programs.fish.enable
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.enableZshIntegration
Whether to enable Zsh integration.
Type: boolean
Default:
config.programs.zsh.enable
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.package
The atuin package to use.
Type: package
Default:
pkgs.atuin
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.daemon.enable
Whether to enable the Atuin daemon.
Type: boolean
Default:
pkgs.stdenv.hostPlatform.isLinux
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.daemon.logLevel
Log level for the Atuin daemon.
Type: one of “trace”, “debug”, “info”, “warn”, “error”
Default:
"info"
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.flags
Flags to append to the shell hook.
Type: list of string
Default:
[ ]
Example:
[
"--disable-up-arrow"
"--disable-ctrl-r"
]
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.settings
Configuration written to /etc/atuin/config.toml.
See https://docs.atuin.sh/configuration/config/ for the full list of options.
Type: TOML value
Default:
{ }
Example:
{
auto_sync = true;
sync_frequency = "5m";
sync_address = "https://api.atuin.sh";
search_mode = "prefix";
}
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.atuin.themes
Each theme is written to
/etc/atuin/themes/theme-name.toml
where the name of each attribute is the theme-name
See https://docs.atuin.sh/guide/theming/ for the full list of options.
Type: attribute set of (TOML value or absolute path or strings concatenated with “\n”)
Default:
{ }
Example:
{
"my-theme" = {
theme.name = "My Theme";
colors = {
Base = "#000000";
Title = "#FFFFFF";
};
};
}
Declared by:
<nixpkgs/nixos/modules/programs/atuin.nix>
|
programs.ausweisapp.enable
Whether to enable AusweisApp.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/ausweisapp.nix>
|
programs.ausweisapp.openFirewall
Whether to open the required firewall ports for the Smartphone as Card Reader (SaC) functionality of AusweisApp.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/ausweisapp.nix>
|
programs.autoenv.enable
Whether to enable autoenv.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/autoenv.nix>
|
programs.autoenv.package
The autoenv package to use.
Type: package
Default:
pkgs.autoenv
Declared by:
<nixpkgs/nixos/modules/programs/autoenv.nix>
|
programs.autojump.enable
Whether to enable autojump.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/autojump.nix>
|
programs.bandwhich.enable
Whether to add bandwhich to the global environment and configure a setcap wrapper for it.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/bandwhich.nix>
|
programs.bash.enable
Whenever to configure Bash as an interactive shell.
Note that this tries to make Bash the default
users.defaultUserShell,
which in turn means that you might need to explicitly
set this variable if you have another shell configured
with NixOS.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash.nix>
|
programs.bash.enableLsColors
Whether to enable extra colors in directory listings.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bash/ls-colors.nix>
|
programs.bash.blesh.enable
Whether to enable blesh, a full-featured line editor written in pure Bash.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bash/blesh.nix>
|
programs.bash.completion.enable
Whether to enable Bash completion for all interactive bash shells.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash-completion.nix>
|
programs.bash.completion.package
The bash-completion package to use.
Type: package
Default:
pkgs.bash-completion
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash-completion.nix>
|
programs.bash.interactiveShellInit
Shell script code called during interactive bash shell initialisation.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash.nix>
|
programs.bash.loginShellInit
Shell script code called during login bash shell initialisation.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash.nix>
|
programs.bash.logout
Shell script code called during login bash shell logout.
Type: strings concatenated with “\n”
Default:
''
printf '\e]0;\a'
''
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash.nix>
|
programs.bash.lsColorsFile
Alternative colorscheme for ls colors
Type: null or absolute path
Default:
null
Example:
${pkgs.dircolors-solarized}/ansi-dark
Declared by:
<nixpkgs/nixos/modules/programs/bash/ls-colors.nix>
|
programs.bash.promptInit
Shell script code used to initialise the bash prompt.
Type: strings concatenated with “\n”
Default:
''
# Provide a nice prompt if the terminal supports it.
if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then
PROMPT_COLOR="1;31m"
((UID)) && PROMPT_COLOR="1;32m"
if [ -n "$INSIDE_EMACS" ]; then
# Emacs term mode doesn't support xterm title escape sequence (\e]0;)
PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] "
else
PS1="\n\[\033[$PROMPT_COLOR\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\\$\[\033[0m\] "
fi
if test "$TERM" = "xterm"; then
PS1="\[\033]2;\h:\u:\w\007\]$PS1"
fi
fi
''
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash.nix>
|
programs.bash.shellAliases
Set of aliases for bash shell, which overrides environment.shellAliases.
See environment.shellAliases for an option format description.
Type: attribute set of (null or string or absolute path)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash.nix>
|
programs.bash.shellInit
Shell script code called during bash shell initialisation.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/bash/bash.nix>
|
programs.bash.undistractMe.enable
Whether to enable notifications when long-running terminal commands complete.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bash/undistract-me.nix>
|
programs.bash.undistractMe.playSound
Whether to enable notification sounds when long-running terminal commands complete.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bash/undistract-me.nix>
|
programs.bash.undistractMe.timeout
Number of seconds it would take for a command to be considered long-running.
Type: signed integer
Default:
10
Declared by:
<nixpkgs/nixos/modules/programs/bash/undistract-me.nix>
|
programs.bash.vteIntegration
Whether to enable Bash integration for VTE terminals. This allows it to preserve the current directory of the shell across terminals.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/config/vte.nix>
|
programs.bash-my-aws.enable
Whether to enable bash-my-aws.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bash-my-aws.nix>
|
programs.bat.enable
Whether to enable bat, a cat(1) clone with wings.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bat.nix>
|
programs.bat.package
The bat package to use.
Type: package
Default:
pkgs.bat
Declared by:
<nixpkgs/nixos/modules/programs/bat.nix>
|
programs.bat.extraPackages
Extra bat scripts to be added to the system configuration.
Type: list of package
Default:
[ ]
Example:
with pkgs.bat-extras; [
batdiff
batman
prettybat
];
Declared by:
<nixpkgs/nixos/modules/programs/bat.nix>
|
programs.bat.settings
Parameters to be written to the system-wide bat configuration file.
Type: attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)
Default:
{ }
Example:
{
italic-text = "always";
map-syntax = [
"*.ino:C++"
".ignore:Git Ignore"
];
pager = "less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse";
paging = "never";
theme = "TwoDark";
}
Declared by:
<nixpkgs/nixos/modules/programs/bat.nix>
|
programs.bazecor.enable
Whether to enable Bazecor, the graphical configurator for Dygma Products.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bazecor.nix>
|
programs.bazecor.package
The bazecor package to use.
Type: package
Default:
pkgs.bazecor
Declared by:
<nixpkgs/nixos/modules/programs/bazecor.nix>
|
programs.bcc.enable
Whether to enable bcc, tools for BPF-based Linux IO analysis, networking, monitoring, and more.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/bcc.nix>
|
programs.benchexec.enable
Whether to enable BenchExec.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/benchexec.nix>
|
programs.benchexec.package
The benchexec package to use.
Type: package
Default:
pkgs.benchexec
Declared by:
<nixpkgs/nixos/modules/programs/benchexec.nix>
|
programs.benchexec.users
Users that intend to use BenchExec.
Provide usernames of users that are configured via users.users as string,
and UIDs of “mutable users” as integers.
Control group delegation will be configured via systemd.
For more information, see https://github.com/sosy-lab/benchexec/blob/3.18/doc/INSTALL.md#setting-up-cgroups.
Type: list of (string or signed integer)
Default:
[ ]
Example:
[
"alice" # username of a user configured via users.users
1007 # UID of a mutable user
]
Declared by:
<nixpkgs/nixos/modules/programs/benchexec.nix>
|
programs.browserpass.enable
Whether to enable Browserpass native messaging host.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/browserpass.nix>
|
programs.calls.enable
Whether to enable GNOME calls: a phone dialer and call handler .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/calls.nix>
|
programs.captive-browser.enable
Whether to enable captive browser, a dedicated Chrome instance to log into captive portals without messing with DNS settings.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/captive-browser.nix>
|
programs.captive-browser.package
The captive-browser package to use.
Type: package
Default:
pkgs.captive-browser
Declared by:
<nixpkgs/nixos/modules/programs/captive-browser.nix>
|
programs.captive-browser.bindInterface
Binds captive-browser to the network interface declared in
cfg.interface. This can be used to avoid collisions
with private subnets.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/captive-browser.nix>
|
programs.captive-browser.browser
The shell (/bin/sh) command executed once the proxy starts. When browser exits, the proxy exits. An extra env var PROXY is available.
Here, we use a separate Chrome instance in Incognito mode, so that it can run (and be waited for) alongside the default one, and that it maintains no state across runs. To configure this browser open a normal window in it, settings will be preserved.
@volth: chromium is to open a plain HTTP (not HTTPS nor redirect to HTTPS!) website. upstream uses http://example.com but I have seen captive portals whose DNS server resolves “example.com” to 127.0.0.1
Type: string
Default:
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/
Declared by:
<nixpkgs/nixos/modules/programs/captive-browser.nix>
|
programs.captive-browser.dhcp-dns
The shell (/bin/sh) command executed to obtain the DHCP DNS server address. The first match of an IPv4 regex is used. IPv4 only, because let’s be real, it’s a captive portal.
Type: string
Declared by:
<nixpkgs/nixos/modules/programs/captive-browser.nix>
|
programs.captive-browser.interface
your public network interface (wlp3s0, wlan0, eth0, …)
Type: string
Declared by:
<nixpkgs/nixos/modules/programs/captive-browser.nix>
|
programs.captive-browser.socks5-addr
the listen address for the SOCKS5 proxy server
Type: string
Default:
"localhost:1666"
Declared by:
<nixpkgs/nixos/modules/programs/captive-browser.nix>
|
programs.ccache.enable
Whether to enable CCache, a compiler cache for fast recompilation of C/C++ code.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/ccache.nix>
|
programs.ccache.packageNames
Nix top-level packages to be compiled using CCache
Type: list of string
Default:
[ ]
Example:
[
"wxwidgets_3_2"
"ffmpeg"
"libav_all"
]
Declared by:
<nixpkgs/nixos/modules/programs/ccache.nix>
|
programs.ccache.cacheDir
CCache directory
Type: absolute path
Default:
"/var/cache/ccache"
Declared by:
<nixpkgs/nixos/modules/programs/ccache.nix>
|
programs.ccache.group
Group owner of CCache directory
Type: string
Default:
"nixbld"
Declared by:
<nixpkgs/nixos/modules/programs/ccache.nix>
|
programs.ccache.owner
Owner of CCache directory
Type: string
Default:
"root"
Declared by:
<nixpkgs/nixos/modules/programs/ccache.nix>
|
programs.ccache.trace
Trace ccache usage to see which derivations use ccache
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/ccache.nix>
|
programs.cdemu.enable
cdemu for members of
programs.cdemu.group.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/cdemu.nix>
|
programs.cdemu.group
Group that users must be in to use cdemu.
Type: string
Default:
"cdrom"
Declared by:
<nixpkgs/nixos/modules/programs/cdemu.nix>
|
programs.cdemu.gui
Whether to install the cdemu GUI (gCDEmu).
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/cdemu.nix>
|
programs.cdemu.image-analyzer
Whether to install the image analyzer.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/cdemu.nix>
|
programs.cfs-zen-tweaks.enable
Whether to enable CFS Zen Tweaks.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/cfs-zen-tweaks.nix>
|
programs.chromium.enable
Whether to enable policies for chromium based browsers like Chromium, Google Chrome or Brave.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.enablePlasmaBrowserIntegration
Whether to enable Native Messaging Host for Plasma Browser Integration.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.defaultSearchProviderEnabled
Enable the default search provider.
Type: null or boolean
Default:
null
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.defaultSearchProviderSearchURL
Chromium default search provider url.
Type: null or string
Default:
null
Example:
"https://encrypted.google.com/search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}ie={inputEncoding}"
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.defaultSearchProviderSuggestURL
Chromium default search provider url for suggestions.
Type: null or string
Default:
null
Example:
"https://encrypted.google.com/complete/search?output=chrome&q={searchTerms}"
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.extensions
List of chromium extensions to install. For list of plugins ids see id in url of extensions on chrome web store page. To install a chromium extension not included in the chrome web store, append to the extension id a semicolon “;” followed by a URL pointing to an Update Manifest XML file. See ExtensionInstallForcelist for additional details.
Type: null or (list of string)
Default:
null
Example:
[
"chlffgpmiacpedhhbkiomidkjlcfhogd" # pushbullet
"mbniclmhobmnbdlbpiphghaielnnpgdp" # lightshot
"gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
]
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.extraOpts
Extra chromium policy options. A list of available policies can be found in the Chrome Enterprise documentation: https://cloud.google.com/docs/chrome-enterprise/policies/ Make sure the selected policy is supported on Linux and your browser version.
Type: attribute set
Default:
{ }
Example:
{
"BrowserSignin" = 0;
"SyncDisabled" = true;
"PasswordManagerEnabled" = false;
"SpellcheckEnabled" = true;
"SpellcheckLanguage" = [
"de"
"en-US"
];
}
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.homepageLocation
Chromium default homepage
Type: null or string
Default:
null
Example:
"https://nixos.org"
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.initialPrefs
Initial preferences are used to configure the browser for the first run.
Unlike programs.chromium.extraOpts, initialPrefs can be changed by users in the browser settings.
More information can be found in the Chromium documentation:
https://www.chromium.org/administrators/configuring-other-preferences/
Type: attribute set
Default:
{ }
Example:
{
"first_run_tabs" = [
"https://nixos.org/"
];
}
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chromium.plasmaBrowserIntegrationPackage
The plasma-browser-integration package to use.
Type: package
Default:
pkgs.kdePackages.plasma-browser-integration
Declared by:
<nixpkgs/nixos/modules/programs/chromium.nix>
|
programs.chrysalis.enable
Whether to enable Chrysalis.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/chrysalis.nix>
|
programs.chrysalis.package
The Chrysalis package to use.
Type: package
Default:
pkgs.chrysalis
Declared by:
<nixpkgs/nixos/modules/programs/chrysalis.nix>
|
programs.clash-verge.enable
Whether to enable Clash Verge.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/clash-verge.nix>
|
programs.clash-verge.package
The clash-verge package to use. Available options are clash-verge-rev and clash-nyanpasu, both are forks of the original clash-verge project.
Type: package
Default:
pkgs.clash-verge-rev
Declared by:
<nixpkgs/nixos/modules/programs/clash-verge.nix>
|
programs.clash-verge.autoStart
Whether to enable Clash Verge auto launch.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/clash-verge.nix>
|
programs.clash-verge.group
The group to grant access to clash-verge-rev’s service socket.
For better security, you should set a group that only contains users who need to access clash-verge-rev’s service socket.
Type: string
Default:
"users"
Example:
"wheel"
Declared by:
<nixpkgs/nixos/modules/programs/clash-verge.nix>
|
programs.clash-verge.serviceMode
Whether to enable Service Mode.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/clash-verge.nix>
|
programs.clash-verge.tunMode
Whether to enable Setcap for TUN Mode. DNS settings won’t work on this way.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/clash-verge.nix>
|
programs.cnping.enable
Whether to enable a setcap wrapper for cnping.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/cnping.nix>
|
programs.command-not-found.enable
Whether interactive shells should show which Nix package (if any) provides a missing command.
See also nix-index and nix-index-database as an alternative for flakes-based systems.
Additionally, 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.
Type: boolean
Default:
builtins.pathExists config.programs.command-not-found.dbPath
Declared by:
<nixpkgs/nixos/modules/programs/command-not-found/command-not-found.nix>
|
programs.command-not-found.dbPath
Absolute path to programs.sqlite, which contains mappings from binary names to package names.
If 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.
To use the stateful programs.sqlite database, set this option to
/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite.
If you do so, you can update it with sudo nix-channels --update.
Type: absolute path
Default:
pkgs.path + "/programs.sqlite"
Declared by:
<nixpkgs/nixos/modules/programs/command-not-found/command-not-found.nix>
|
programs.coolercontrol.enable
Whether to enable CoolerControl GUI & its background services.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/coolercontrol.nix>
|
programs.corectrl.enable
Whether to enable CoreCtrl, a tool to overclock amd graphics cards and processors. Add your user to the corectrl group to run corectrl without needing to enter your password .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/hardware/corectrl.nix>
|
programs.corectrl.package
The corectrl package to use. Useful for overriding the configuration options used for the package.
Type: package
Default:
pkgs.corectrl
Declared by:
<nixpkgs/nixos/modules/hardware/corectrl.nix>
|
programs.corefreq.enable
Whether to enable Whether to enable the corefreq daemon and kernel module.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/corefreq.nix>
|
programs.corefreq.package
The corefreq package to use.
Type: package
Default:
config.boot.kernelPackages.corefreq
Declared by:
<nixpkgs/nixos/modules/programs/corefreq.nix>
|
programs.cpu-energy-meter.enable
Whether to enable CPU Energy Meter.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/cpu-energy-meter.nix>
|
programs.cpu-energy-meter.package
The cpu-energy-meter package to use.
Type: package
Default:
pkgs.cpu-energy-meter
Declared by:
<nixpkgs/nixos/modules/programs/cpu-energy-meter.nix>
|
programs.criu.enable
Install criu along with necessary kernel options.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/criu.nix>
|
programs.dconf.enable
Whether to enable dconf.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/dconf.nix>
|
programs.dconf.packages
A list of packages which provide dconf profiles and databases in /etc/dconf.
Type: list of package
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/programs/dconf.nix>
|
programs.dconf.profiles
Attrset of dconf profiles. By default the user profile is used which
ends up in /etc/dconf/profile/user.
Type: attribute set of (absolute path or package or (submodule))
Default:
{ }
Example:
{
# A "user" profile with a database
user.databases = [
{
settings = { };
}
];
# A "bar" profile from a package
bar = pkgs.bar-dconf-profile;
# A "foo" profile from a path
foo = ${./foo}
};
Declared by:
<nixpkgs/nixos/modules/programs/dconf.nix>
|
programs.digitalbitbox.enable
Installs the Digital Bitbox application and enables the complementary hardware module.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/digitalbitbox/default.nix>
|
programs.digitalbitbox.package
The digitalbitbox package to use. This can be used to install a package with udev rules that differ from the defaults.
Type: package
Default:
pkgs.digitalbitbox
Declared by:
<nixpkgs/nixos/modules/programs/digitalbitbox/default.nix>
|
programs.direnv.enable
Whether to enable direnv integration. Takes care of both installation and setting up the sourcing of the shell. Additionally enables nix-direnv integration. Note that you need to logout and login for this change to apply .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.enableBashIntegration
Whether to enable Bash integration .
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.enableFishIntegration
Whether to enable Fish integration .
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.enableXonshIntegration
Whether to enable Xonsh integration .
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.enableZshIntegration
Whether to enable Zsh integration .
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.package
The direnv package to use.
Type: package
Default:
pkgs.direnv
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.angrr.enable
Whether to enable angrr direnv integration.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/angrr.nix>
|
programs.direnv.angrr.autoUse
Whether to automatically use angrr before loading .envrc.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/services/misc/angrr.nix>
|
programs.direnv.direnvrcExtra
Extra lines to append to the sourced direnvrc
Type: strings concatenated with “\n”
Default:
""
Example:
''
export FOO="foo"
echo "loaded direnv!"
''
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.loadInNixShell
Whether to enable loading direnv in nix-shell nix shell or nix develop
.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.nix-direnv.enable
Whether to enable a faster, persistent implementation of use_nix and use_flake, to replace the builtin one .
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.nix-direnv.package
The nix-direnv package to use
Type: package
Default:
"pkgs.nix-direnv"
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.settings
Direnv configuration. Refer to direnv.toml(1).
Type: TOML value
Default:
{ }
Example:
{
global = {
log_format = "-";
log_filter = "^$";
};
}
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.direnv.silent
Whether to enable the hiding of direnv logging .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/direnv.nix>
|
programs.dmrconfig.enable
Whether to configure system to enable use of dmrconfig. This enables the required udev rules and installs the program.
Type: boolean
Default:
false
Related packages:
Declared by:
<nixpkgs/nixos/modules/programs/dmrconfig.nix>
|
programs.dmrconfig.package
The dmrconfig package to use.
Type: package
Default:
pkgs.dmrconfig
Declared by:
<nixpkgs/nixos/modules/programs/dmrconfig.nix>
|
programs.dms-shell.enable
Whether to enable DankMaterialShell, a complete desktop shell for Wayland compositors.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.enableAudioWavelength
Whether to install dependencies required for audio wavelength visualization. This enables audio spectrum and waveform visualizer widgets.
Requires: cava
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.enableCalendarEvents
Whether to install dependencies required for calendar events support. This enables calendar widgets that display events and reminders via khal.
Requires: khal
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.enableClipboardPaste
Whether to install dependencies required for pasting directly from the clipboard history support. This enables pressing Shift+Return for pasting entries from the clipboard history.
Requires: wtype
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.enableDynamicTheming
Whether to install dependencies required for dynamic theming support. This enables automatic theme generation based on wallpapers and other sources.
Requires: matugen
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.enableSystemMonitoring
Whether to install dependencies required for system monitoring widgets. This includes process list viewers and system resource monitors.
Requires: dgop
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.enableVPN
Whether to install dependencies required for VPN widgets. This enables VPN status monitoring and management through NetworkManager.
Requires: glib, networkmanager
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.package
The dms-shell package to use.
Type: package
Default:
pkgs.dms-shell
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.plugins
DMS Plugins to install and enable
Type: attribute set of (submodule)
Default:
{ }
Example:
{
DockerManager = {
src = pkgs.fetchFromGitHub {
owner = "LuckShiba";
repo = "DmsDockerManager";
rev = "v1.2.0";
sha256 = "sha256-VoJCaygWnKpv0s0pqTOmzZnPM922qPDMHk4EPcgVnaU=";
};
};
AnotherPlugin = {
enable = true;
src = pkgs.another-plugin;
};
}
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.plugins.<name>.enable
Whether to enable this plugin
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.plugins.<name>.src
Source of the plugin package or path
Type: package or absolute path
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.quickshell.package
The quickshell package to use.
Type: package
Default:
pkgs.quickshell
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.systemd.enable
Whether to enable DankMaterialShell systemd startup service.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.systemd.restartIfChanged
Whether to restart the dms.service when the DankMaterialShell package or configuration changes. This ensures the latest version is always running after a system rebuild.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.dms-shell.systemd.target
The systemd target that will automatically start the DankMaterialShell service.
Common targets include:
graphical-session.target for most desktop environments
wayland-session.target for Wayland-specific sessions
Type: string
Default:
"graphical-session.target"
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dms-shell.nix>
|
programs.droidcam.enable
Whether to enable DroidCam client.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/droidcam.nix>
|
programs.dsearch.enable
Whether to enable dsearch, a fast filesystem search service with fuzzy matching.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/dsearch.nix>
|
programs.dsearch.package
The dsearch package to use.
Type: package
Default:
pkgs.dsearch
Declared by:
<nixpkgs/nixos/modules/programs/dsearch.nix>
|
programs.dsearch.systemd.enable
Whether to enable systemd user service for dsearch.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/dsearch.nix>
|
programs.dsearch.systemd.target
The systemd target that will automatically start the dsearch service.
By default, dsearch starts with the user session (default.target).
You can change this to graphical-session.target if you only want
it to run in graphical sessions.
Type: string
Default:
"default.target"
Declared by:
<nixpkgs/nixos/modules/programs/dsearch.nix>
|
programs.dublin-traceroute.enable
Whether to enable dublin-traceroute (including setcap wrapper).
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/dublin-traceroute.nix>
|
programs.dublin-traceroute.package
The dublin-traceroute package to use.
Type: package
Default:
pkgs.dublin-traceroute
Declared by:
<nixpkgs/nixos/modules/programs/dublin-traceroute.nix>
|
programs.dwl.enable
Whether to enable Dwl is a compact, hackable compositor for Wayland based on wlroots. You can manually launch Dwl by executing “exec dwl” on a TTY. .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dwl.nix>
|
programs.dwl.package
The dwl package to use.
Type: package
Default:
pkgs.dwl
Example:
# Lets apply bar patch from:
# https://codeberg.org/dwl/dwl-patches/src/branch/main/patches/bar
(pkgs.dwl.override {
configH = ./dwl-config.h;
}).overrideAttrs (oldAttrs: {
buildInputs =
oldAttrs.buildInputs or []
++ [
pkgs.libdrm
pkgs.fcft
];
patches = oldAttrs.patches or [] ++ [
./bar-0.7.patch
];
});
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dwl.nix>
|
programs.dwl.extraSessionCommands
Shell commands executed just before dwl is started.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/wayland/dwl.nix>
|
programs.ente-auth.enable
Whether to enable Ente Auth.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/ente-auth.nix>
|
programs.ente-auth.package
The ente-auth package to use.
Type: package
Default:
pkgs.ente-auth
Declared by:
<nixpkgs/nixos/modules/programs/ente-auth.nix>
|
programs.envision.enable
Whether to enable envision.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/envision.nix>
|
programs.envision.package
The envision package to use.
Type: package
Default:
pkgs.envision
Declared by:
<nixpkgs/nixos/modules/programs/envision.nix>
|
programs.envision.openFirewall
Whether to enable the default ports in the firewall for the WiVRn server.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/envision.nix>
|
programs.evince.enable
Whether to enable Evince, the GNOME document viewer.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/evince.nix>
|
programs.evince.package
The evince package to use.
Type: package
Default:
pkgs.evince
Declared by:
<nixpkgs/nixos/modules/programs/evince.nix>
|
programs.evolution.enable
Whether to enable Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/services/desktops/gnome/evolution-data-server.nix>
|
programs.evolution.plugins
Plugins for Evolution.
Type: list of package
Default:
[ ]
Example:
[ pkgs.evolution-ews ]
Declared by:
<nixpkgs/nixos/modules/services/desktops/gnome/evolution-data-server.nix>
|
programs.extra-container.enable
Whether to enable extra-container, a tool for running declarative NixOS containers without host system rebuilds .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/extra-container.nix>
|
programs.fcast-receiver.enable
Whether to enable FCast Receiver.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/fcast-receiver.nix>
|
programs.fcast-receiver.package
The fcast-receiver package to use.
Type: package
Default:
pkgs.fcast-receiver
Declared by:
<nixpkgs/nixos/modules/programs/fcast-receiver.nix>
|
programs.fcast-receiver.openFirewall
Open ports needed for the functionality of the program.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/fcast-receiver.nix>
|
programs.feedbackd.enable
Whether to enable the feedbackd D-BUS service and udev rules.
Your user needs to be in the feedbackd group to trigger effects
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/feedbackd.nix>
|
programs.feedbackd.package
The feedbackd package to use.
Type: package
Default:
pkgs.feedbackd
Declared by:
<nixpkgs/nixos/modules/programs/feedbackd.nix>
|
programs.feedbackd.theme-package
The feedbackd-device-themes package to use.
Type: null or package
Default:
pkgs.feedbackd-device-themes
Declared by:
<nixpkgs/nixos/modules/programs/feedbackd.nix>
|
programs.firefox.enable
Whether to enable the Firefox web browser.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.package
Firefox package to use.
Type: package
Default:
pkgs.firefox
Related packages:
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.autoConfig
AutoConfig files can be used to set and lock preferences that are not covered by the policies.json for Mac and Linux. This method can be used to automatically change user preferences or prevent the end user from modifying specific preferences by locking them. More info can be found in https://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfig.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.autoConfigFiles
AutoConfig files can be used to set and lock preferences that are not covered by the policies.json for Mac and Linux. This method can be used to automatically change user preferences or prevent the end user from modifying specific preferences by locking them. More info can be found in https://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfig.
Files are concatenated and autoConfig is appended.
Type: list of absolute path
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.languagePacks
The language packs to install.
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”)
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.nativeMessagingHosts.packages
Additional packages containing native messaging hosts that should be made available to Firefox extensions.
Type: list of package
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.policies
Group policies to install.
See Mozilla’s documentation for a list of available options.
This can be used to install extensions declaratively! Check out the
documentation of the ExtensionSettings policy for details.
When this option is in use, Firefox will inform you that “your browser is managed by your organisation”. That message appears because NixOS installs what you have declared here such that it cannot be overridden through the user interface. It does not mean that someone else has been given control of your browser, unless of course they also control your NixOS configuration.
Type: JSON value
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.preferences
Preferences to set from about:config.
Some of these might be able to be configured more ergonomically using policies.
See here for allowed preferences.
When this option is in use, Firefox will inform you that “your browser is managed by your organisation”. That message appears because NixOS installs what you have declared here such that it cannot be overridden through the user interface. It does not mean that someone else has been given control of your browser, unless of course they also control your NixOS configuration.
Type: attribute set of (boolean or signed integer or string)
Default:
{ }
Example:
{
"browser.tabs.tabmanager.enabled" = false;
}
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.preferencesStatus
The status of firefox.preferences.
status can assume the following values:
"default": Preferences appear as default.
"locked": Preferences appear as default and can’t be changed.
"user": Preferences appear as changed.
"clear": Value has no effect. Resets to factory defaults on each startup.
Type: one of “default”, “locked”, “user”, “clear”
Default:
"locked"
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firefox.wrapperConfig
Arguments to pass to Firefox wrapper
Type: attribute set
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/programs/firefox.nix>
|
programs.firejail.enable
Whether to enable firejail, a sandboxing tool for Linux.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/firejail.nix>
|
programs.firejail.wrappedBinaries
Wrap the binaries in firejail and place them in the global path.
Type: attribute set of (absolute path or (submodule))
Default:
{ }
Example:
{
firefox = {
executable = "${lib.getBin pkgs.firefox}/bin/firefox";
profile = "${pkgs.firejail}/etc/firejail/firefox.profile";
};
mpv = {
executable = "${lib.getBin pkgs.mpv}/bin/mpv";
profile = "${pkgs.firejail}/etc/firejail/mpv.profile";
};
}
Declared by:
<nixpkgs/nixos/modules/programs/firejail.nix>
|
programs.fish.enable
Whether to configure fish as an interactive shell.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.package
The fish package to use.
Type: package
Default:
pkgs.fish
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.extraCompletionPackages
Additional packages to generate completions from, if programs.fish.generateCompletions is enabled.
Type: list of package
Default:
[ ]
Example:
config.users.users.alice.packages
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.generateCompletions
Whether to enable generating completion files from man pages.
Type: boolean
Default:
true
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.interactiveShellInit
Shell script code called during interactive fish shell initialisation.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.loginShellInit
Shell script code called during fish login shell initialisation.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.promptInit
Shell script code used to initialise fish prompt.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.shellAbbrs
Set of fish abbreviations.
Type: attribute set of string
Default:
{ }
Example:
{
gco = "git checkout";
npu = "nix-prefetch-url";
}
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.shellAliases
Set of aliases for fish shell, which overrides environment.shellAliases.
See environment.shellAliases for an option format description.
Type: attribute set of (null or string or absolute path)
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.shellInit
Shell script code called during fish shell initialisation.
Type: strings concatenated with “\n”
Default:
""
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.useBabelfish
If enabled, the configured environment will be translated to native fish using babelfish. Otherwise, foreign-env will be used.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.vendor.completions.enable
Whether fish should use completion files provided by other packages.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.vendor.config.enable
Whether fish should source configuration snippets provided by other packages.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.fish.vendor.functions.enable
Whether fish should autoload fish functions provided by other packages.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/fish.nix>
|
programs.flashprog.enable
Whether to enable configuring flashprog udev rules and installing flashprog as system package .
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/flashprog.nix>
|
programs.flashprog.package
The flashprog package to use.
Type: package
Default:
pkgs.flashprog
Declared by:
<nixpkgs/nixos/modules/programs/flashprog.nix>
|
programs.flashrom.enable
Installs flashrom and configures udev rules for programmers used by flashrom. Grants access to users in the “flashrom” group.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/flashrom.nix>
|
programs.flashrom.package
The flashrom package to use.
Type: package
Default:
pkgs.flashrom
Declared by:
<nixpkgs/nixos/modules/programs/flashrom.nix>
|
programs.flexoptix-app.enable
Whether to enable FLEXOPTIX app + udev rules.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/flexoptix-app.nix>
|
programs.flexoptix-app.package
The flexoptix-app package to use.
Type: package
Default:
pkgs.flexoptix-app
Declared by:
<nixpkgs/nixos/modules/programs/flexoptix-app.nix>
|
programs.foot.enable
Whether to enable foot terminal emulator.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.foot.enableBashIntegration
Whether to enable foot bash integration.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.foot.enableFishIntegration
Whether to enable foot fish integration.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.foot.enableZshIntegration
Whether to enable foot zsh integration.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.foot.package
The foot package to use.
Type: package
Default:
pkgs.foot
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.foot.settings
Configuration for foot terminal emulator. Further information can be found in man 5 foot.ini.
Global configuration has to be written under the [main] section.
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)
Default:
{ }
Example:
{
main = {
font = "FreeMono:size=12";
};
scrollback = {
lines = 100000;
};
}
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.foot.theme
Theme name. Check https://codeberg.org/dnkl/foot/src/branch/master/themes for available themes.
Type: null or string
Default:
null
Example:
"aeroroot"
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.foot.xdg.serverAutostart
Whether to enable starting the foot server via xdg-autostart.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/foot>
|
programs.fuse.enable
Whether to enable fuse.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/fuse.nix>
|
programs.fuse.mountMax
Set the maximum number of FUSE mounts allowed to non-root users.
Type: integer between 0 and 32767 (both inclusive)
Default:
1000
Declared by:
<nixpkgs/nixos/modules/programs/fuse.nix>
|
programs.fuse.userAllowOther
Allow non-root users to specify the allow_other or allow_root mount options, see mount.fuse3(8).
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/fuse.nix>
|
programs.fzf.fuzzyCompletion
Whether to enable fuzzy completion with fzf.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/fzf.nix>
|
programs.fzf.keybindings
Whether to enable fzf keybindings.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/fzf.nix>
|
programs.gamemode.enable
Whether to enable GameMode to optimise system performance on demand.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/gamemode.nix>
|
programs.gamemode.enableRenice
Whether to enable CAP_SYS_NICE on gamemoded to support lowering process niceness.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/gamemode.nix>
|
programs.gamemode.settings
System-wide configuration for GameMode (/etc/gamemode.ini). See gamemoded(8) man page for available settings.
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)
Default:
{ }
Example:
{
general = {
renice = 10;
};
# Warning: GPU optimisations have the potential to damage hardware
gpu = {
apply_gpu_optimisations = "accept-responsibility";
gpu_device = 0;
amd_performance_level = "high";
};
custom = {
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
};
}
Declared by:
<nixpkgs/nixos/modules/programs/gamemode.nix>
|
programs.gamescope.enable
Whether to enable gamescope, the SteamOS session compositing window manager.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/gamescope.nix>
|
programs.gamescope.package
The gamescope package to use.
Type: package
Default:
pkgs.gamescope
Declared by:
<nixpkgs/nixos/modules/programs/gamescope.nix>
|
programs.gamescope.args
Arguments passed to GameScope on startup.
Type: list of string
Default:
[ ]
Example:
[
"--rt"
"--prefer-vk-device 8086:9bc4"
]
Declared by:
<nixpkgs/nixos/modules/programs/gamescope.nix>
|
programs.gamescope.capSysNice
Add cap_sys_nice capability to the GameScope binary so that it may renice itself.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gamescope.nix>
|
programs.gamescope.env
Default environment variables available to the GameScope process, overridable at runtime.
Type: attribute set of string
Default:
{ }
Example:
# for Prime render offload on Nvidia laptops.
# Also requires `hardware.nvidia.prime.offload.enable`.
{
__NV_PRIME_RENDER_OFFLOAD = "1";
__VK_LAYER_NV_optimus = "NVIDIA_only";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
}
Declared by:
<nixpkgs/nixos/modules/programs/gamescope.nix>
|
programs.gdk-pixbuf.modulePackages
Packages providing GDK-Pixbuf modules, for cache generation.
Type: list of package
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/programs/gdk-pixbuf.nix>
|
programs.geary.enable
Whether to enable Geary, a Mail client for GNOME.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/geary.nix>
|
programs.ghidra.enable
Whether to enable Ghidra, a software reverse engineering (SRE) suite of tools.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/ghidra.nix>
|
programs.ghidra.package
The ghidra package to use.
Type: package
Default:
pkgs.ghidra
Example:
ghidra-bin
Declared by:
<nixpkgs/nixos/modules/programs/ghidra.nix>
|
programs.ghidra.gdb
Whether to add to gdbinit the python modules required to make Ghidra’s debugger work.
Type: boolean
Default:
true
Declared by:
<nixpkgs/nixos/modules/programs/ghidra.nix>
|
programs.git.enable
Whether to enable git, a distributed version control system.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git.package
The git package to use.
Type: package
Default:
pkgs.git
Example:
gitFull
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git.attributes
Assign git attributes to files (one pattern per line):
PATTERN1 ATTR1 ATTR2 ...
Blank lines and lines beginning with # are ignored. See gitattributes(5) for more information.
Type: strings concatenated with “\n”
Default:
""
Example:
"*.pdf diff=pdf"
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git.config
Configuration to write to /etc/gitconfig. A list can also be
specified to keep the configuration in order. For example, setting
config to [ { foo.x = 42; } { bar.y = 42; }] will put the foo
section before the bar section unlike the default alphabetical
order, which can be helpful for sections such as include and
includeIf. See the CONFIGURATION FILE section of git-config(1) for
more information.
Type: (attribute set of attribute set of anything) or list of attribute set of attribute set of anything
Default:
[ ]
Example:
{
init = {
defaultBranch = "main";
};
url = {
"https://github.com/" = {
insteadOf = [
"gh:"
"github:"
];
};
};
}
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git.lfs.enable
Whether to enable git-lfs (Large File Storage).
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git.lfs.enablePureSSHTransfer
Whether to enable Enable pure SSH transfer in server side by adding git-lfs-transfer to environment.systemPackages.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git.lfs.package
The git-lfs package to use.
Type: package
Default:
pkgs.git-lfs
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git.prompt.enable
Whether to enable automatically sourcing git-prompt.sh. This does not change $PS1; it simply provides relevant utility functions.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/git.nix>
|
programs.git-worktree-switcher.enable
Whether to enable git-worktree-switcher, switch between git worktrees with speed…
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/git-worktree-switcher.nix>
|
programs.git-worktree-switcher.package
The git-worktree-switcher package to use.
Type: package
Default:
pkgs.git-worktree-switcher
Declared by:
<nixpkgs/nixos/modules/programs/git-worktree-switcher.nix>
|
programs.gnome-disks.enable
Whether to enable GNOME Disks daemon, a program designed to be a UDisks2 graphical front-end.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gnome-disks.nix>
|
programs.gnome-terminal.enable
Whether to enable GNOME Terminal.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/gnome-terminal.nix>
|
programs.gnupg.package
The gnupg package to use.
Type: package
Default:
pkgs.gnupg
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gnupg.agent.enable
Enables GnuPG agent with socket-activation for every user session.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gnupg.agent.enableBrowserSocket
Enable browser socket for GnuPG agent.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gnupg.agent.enableExtraSocket
Enable extra socket for GnuPG agent.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gnupg.agent.enableSSHSupport
Enable SSH agent support in GnuPG agent. Also sets SSH_AUTH_SOCK environment variable correctly. This will disable socket-activation and thus always start a GnuPG agent per user session.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gnupg.agent.pinentryPackage
Which pinentry package to use. The path to the mainProgram as defined in the package’s meta attributes will be set in /etc/gnupg/gpg-agent.conf. If not set by the user, it’ll pick an appropriate flavor depending on the system configuration (qt flavor for lxqt and plasma, gtk2 for xfce, gnome3 on all other systems with X enabled, curses otherwise).
Type: null or package
Default:
matching the configured desktop environment or pkgs.pinentry-curses
Example: pkgs.pinentry-gnome3
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gnupg.agent.settings
Configuration for /etc/gnupg/gpg-agent.conf. See gpg-agent(1) for supported options.
Type: attribute set of (atom (null, bool, int, float or string))
Default:
{ }
Example:
{
default-cache-ttl = 600;
}
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gnupg.dirmngr.enable
Enables GnuPG network certificate management daemon with socket-activation for every user session.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gnupg.nix>
|
programs.gpaste.enable
Whether to enable GPaste, a clipboard manager.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gpaste.nix>
|
programs.gphoto2.enable
Whether to configure system to use gphoto2.
To grant digital camera access to a user, the user must
be part of the camera group:
users.users.alice.extraGroups = ["camera"];
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gphoto2.nix>
|
programs.gpu-screen-recorder.enable
Whether to install gpu-screen-recorder and generate setcap wrappers for promptless recording.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/gpu-screen-recorder.nix>
|
programs.gpu-screen-recorder.package
The gpu-screen-recorder package to use.
Type: package
Default:
pkgs.gpu-screen-recorder
Declared by:
<nixpkgs/nixos/modules/programs/gpu-screen-recorder.nix>
|
programs.gtklock.enable
Whether to enable gtklock, a GTK-based lockscreen for Wayland.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/gtklock.nix>
|
programs.gtklock.package
The gtklock package to use.
Type: package
Default:
pkgs.gtklock
Declared by:
<nixpkgs/nixos/modules/programs/wayland/gtklock.nix>
|
programs.gtklock.config
Configuration for gtklock.
See gtklock(1) man page for details.
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)
Default:
{ }
Example:
{
main = {
idle-hide = true;
idle-timeout = 10;
};
}
Declared by:
<nixpkgs/nixos/modules/programs/wayland/gtklock.nix>
|
programs.gtklock.modules
gtklock modules to load.
Type: list of package
Default:
[ ]
Example:
with pkgs; [
gtklock-playerctl-module
gtklock-powerbar-module
gtklock-userinfo-module
]
Declared by:
<nixpkgs/nixos/modules/programs/wayland/gtklock.nix>
|
programs.gtklock.style
CSS Stylesheet for gtklock. See gtklock’s wiki for details.
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
<nixpkgs/nixos/modules/programs/wayland/gtklock.nix>
|
programs.haguichi.enable
Whether to enable Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/haguichi.nix>
|
programs.hamster.enable
Whether to enable hamster, a time tracking program.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/hamster.nix>
|
programs.htop.enable
Whether to enable htop process monitor.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/htop.nix>
|
programs.htop.package
The htop package to use.
Type: package
Default:
pkgs.htop
Declared by:
<nixpkgs/nixos/modules/programs/htop.nix>
|
programs.htop.settings
Extra global default configuration for htop which is read on first startup only. Htop subsequently uses ~/.config/htop/htoprc as configuration source.
Type: attribute set of (string or signed integer or boolean or list of (string or signed integer or boolean))
Default:
{ }
Example:
{
hide_kernel_threads = true;
hide_userland_threads = true;
}
Declared by:
<nixpkgs/nixos/modules/programs/htop.nix>
|
programs.hyprland.enable
Whether to enable Hyprland, the dynamic tiling Wayland compositor that doesn’t sacrifice on its looks.
You can manually launch Hyprland by executing start-hyprland on a TTY.
A configuration file will be generated in ~/.config/hypr/hyprland.conf.
See https://wiki.hyprland.org for more information.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprland.nix>
|
programs.hyprland.package
The hyprland package to use. If the package is not overridable with enableXWayland, then the module option
xwayland will have no effect.
Type: package
Default:
pkgs.hyprland
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprland.nix>
|
programs.hyprland.portalPackage
The xdg-desktop-portal-hyprland package to use. If the package is not overridable with hyprland, then the Hyprland package
used by the portal may differ from the one set in the module option package.
Type: package
Default:
pkgs.xdg-desktop-portal-hyprland
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprland.nix>
|
programs.hyprland.systemd.setPath.enable
Set environment path of systemd to include the current system’s bin directory. This is needed in Hyprland setups, where opening links in applications do not work. Enabled by default for Hyprland versions older than 0.41.2.
Type: boolean
Default:
lib.versionOlder cfg.package.version "0.41.2"
Example:
false
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprland.nix>
|
programs.hyprland.withUWSM
Launch Hyprland with the UWSM (Universal Wayland Session Manager) session manager.
This has improved systemd support and is recommended for most users.
This automatically starts appropriate targets like graphical-session.target,
and wayland-session@Hyprland.target.
Some changes may need to be made to Hyprland configs depending on your setup, see Hyprland wiki.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprland.nix>
|
programs.hyprland.xwayland.enable
Whether to enable XWayland.
Type: boolean
Default:
true
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprland.nix>
|
programs.hyprlock.enable
Whether to enable hyprlock, Hyprland’s GPU-accelerated screen locking utility.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprlock.nix>
|
programs.hyprlock.package
The hyprlock package to use.
Type: package
Default:
pkgs.hyprlock
Declared by:
<nixpkgs/nixos/modules/programs/wayland/hyprlock.nix>
|
programs.i3lock.enable
Whether to enable i3lock.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/i3lock.nix>
|
programs.i3lock.package
The i3lock package to use. ::: {.note} The i3lock package must include a i3lock file or link in its out directory in order for the u2fSupport option to work correctly. :::
Type: package
Default:
pkgs.i3lock
Example:
i3lock-color
Declared by:
<nixpkgs/nixos/modules/programs/i3lock.nix>
|
programs.i3lock.u2fSupport
Whether to enable U2F support in the i3lock program. U2F enables authentication using a hardware device, such as a security key. When U2F support is enabled, the i3lock program will set the setuid bit on the i3lock binary and enable the pam u2f service,
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/i3lock.nix>
|
programs.iay.enable
Whether to enable iay, a minimalistic shell prompt.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/iay.nix>
|
programs.iay.package
The iay package to use.
Type: package
Default:
pkgs.iay
Declared by:
<nixpkgs/nixos/modules/programs/iay.nix>
|
programs.iay.minimalPrompt
Use minimal one-liner prompt.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/iay.nix>
|
programs.idescriptor.enable
Whether to enable iDescriptor, a cross-platform iDevice management tool.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/idescriptor.nix>
|
programs.idescriptor.package
The idescriptor package to use.
Type: package
Default:
pkgs.idescriptor
Declared by:
<nixpkgs/nixos/modules/programs/idescriptor.nix>
|
programs.idescriptor.users
Users to be added to the idevice group.
Type: list of string
Default:
[ ]
Declared by:
<nixpkgs/nixos/modules/programs/idescriptor.nix>
|
programs.iftop.enable
Whether to enable iftop and setcap wrapper for it.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/iftop.nix>
|
programs.iio-hyprland.enable
Whether to enable iio-hyprland and iio-sensor-proxy.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/iio-hyprland.nix>
|
programs.iio-hyprland.package
The iio-hyprland package to use.
Type: package
Default:
pkgs.iio-hyprland
Declared by:
<nixpkgs/nixos/modules/programs/iio-hyprland.nix>
|
programs.immersed.enable
Whether to enable immersed.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/immersed.nix>
|
programs.immersed.package
The immersed package to use.
Type: package
Default:
pkgs.immersed
Declared by:
<nixpkgs/nixos/modules/programs/immersed.nix>
|
programs.iotop.enable
Whether to enable iotop + setcap wrapper.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/iotop.nix>
|
programs.iotop.package
The iotop package to use.
Type: package
Default:
pkgs.iotop
Example:
iotop-c
Declared by:
<nixpkgs/nixos/modules/programs/iotop.nix>
|
programs.java.enable
Install and setup the Java development kit.
This adds JAVA_HOME to the global environment, by sourcing the jdk’s setup-hook on shell init. It is equivalent to starting a shell through ‘nix-shell -p jdk’, or roughly the following system-wide configuration:
environment.variables.JAVA_HOME = ${pkgs.jdk.home}/lib/openjdk;
environment.systemPackages = [ pkgs.jdk ];
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/java.nix>
|
programs.java.package
The jdk package to use.
Type: package
Default:
pkgs.jdk
Example:
jre
Declared by:
<nixpkgs/nixos/modules/programs/java.nix>
|
programs.java.binfmt
Whether to enable binfmt to execute java jar’s and classes.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/java.nix>
|
programs.joycond-cemuhook.enable
Whether to enable joycond-cemuhook, a program to enable support for cemuhook’s UDP protocol for joycond devices.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/joycond-cemuhook.nix>
|
programs.k3b.enable
Whether to enable k3b, the KDE disk burning application.
Additionally to installing k3b enabling this will
add setuid wrappers in /run/wrappers/bin
for both cdrdao and cdrecord. On first
run you must manually configure the path of cdrdae and
cdrecord to correspond to the appropriate paths under
/run/wrappers/bin in the “Setup External Programs” menu.
Type: boolean
Default:
false
Declared by:
<nixpkgs/nixos/modules/programs/k3b.nix>
|
programs.k40-whisperer.enable
Whether to enable K40-Whisperer.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/k40-whisperer.nix>
|
programs.k40-whisperer.package
The k40-whisperer package to use.
Type: package
Default:
pkgs.k40-whisperer
Declared by:
<nixpkgs/nixos/modules/programs/k40-whisperer.nix>
|
programs.k40-whisperer.group
Group assigned to the device when connected.
Type: string
Default:
"k40"
Declared by:
<nixpkgs/nixos/modules/programs/k40-whisperer.nix>
|
programs.kbdlight.enable
Whether to enable kbdlight.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kbdlight.nix>
|
programs.kclock.enable
Whether to enable KClock.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kclock.nix>
|
programs.kde-pim.enable
Whether to enable KDE PIM base packages.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kde-pim.nix>
|
programs.kde-pim.kmail
Whether to enable KMail.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kde-pim.nix>
|
programs.kde-pim.kontact
Whether to enable Kontact.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kde-pim.nix>
|
programs.kde-pim.merkuro
Whether to enable Merkuro.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kde-pim.nix>
|
programs.kdeconnect.enable
Whether to enable kdeconnect.
Note that it will open the TCP and UDP port from
1714 to 1764 as they are needed for it to function properly.
You can use the package to use
gnomeExtensions.gsconnect as an alternative
implementation if you use Gnome
.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kdeconnect.nix>
|
programs.kdeconnect.package
The kdeconnect-kde package to use.
Type: null or package
Default:
pkgs.kdePackages.kdeconnect-kde
Example:
gnomeExtensions.gsconnect
Declared by:
<nixpkgs/nixos/modules/programs/kdeconnect.nix>
|
programs.kubeswitch.enable
Whether to enable kubeswitch.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/kubeswitch.nix>
|
programs.kubeswitch.package
The kubeswitch package to use.
Type: package
Default:
pkgs.kubeswitch
Declared by:
<nixpkgs/nixos/modules/programs/kubeswitch.nix>
|
programs.kubeswitch.commandName
The name of the command to use
Type: string
Default:
"kswitch"
Declared by:
<nixpkgs/nixos/modules/programs/kubeswitch.nix>
|
programs.labwc.enable
Whether to enable labwc.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/wayland/labwc.nix>
|
programs.labwc.package
The labwc package to use.
Type: package
Default:
pkgs.labwc
Declared by:
<nixpkgs/nixos/modules/programs/wayland/labwc.nix>
|
programs.ladybird.enable
Whether to enable the Ladybird web browser.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/ladybird.nix>
|
programs.lazygit.enable
Whether to enable lazygit, a simple terminal UI for git commands.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/lazygit.nix>
|
programs.lazygit.package
The lazygit package to use.
Type: package
Default:
pkgs.lazygit
Declared by:
<nixpkgs/nixos/modules/programs/lazygit.nix>
|
programs.lazygit.settings
Lazygit configuration.
See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md for documentation.
Type: YAML 1.1 value
Default:
{ }
Declared by:
<nixpkgs/nixos/modules/programs/lazygit.nix>
|
programs.less.enable
Whether to enable less, a file pager.
Type: boolean
Default:
false
Example:
true
Declared by:
<nixpkgs/nixos/modules/programs/less.nix>
|