finix Options
boot.bootspec.enableValidation Link copied!
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 in
<finix/modules/boot/bootspec.nix>
boot.bootspec.package Link copied!
The package to use for bootspec.
- Type
package- Default
pkgs.bootspec
- Declared in
<finix/modules/boot/bootspec.nix>
boot.bootspec.extensions Link copied!
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 in
<finix/modules/boot/bootspec.nix>
boot.extraModulePackages Link copied!
A list of additional packages supplying kernel modules.
- Type
list of package- Default
[ ]- Example
[ config.boot.kernelPackages.nvidia_x11 ]
- Declared in
<finix/modules/boot/kernel.nix>
boot.init Link copied!
Executable run as stage-2 PID 1, symlinked as ${config.system.build.toplevel}/init.
- Type
absolute path- Default
"${config.finit.package}/bin/finit"
- Declared in
<finix/modules/boot>
boot.initrd.enable Link copied!
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
true
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.package Link copied!
the initrd to use for your system... use a module to build one
- Type
package
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.availableKernelModules Link copied!
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.
- Type
list of string- Default
[ ]- Example
[
"sata_nv"
"ext3"
]
- Declared in
<finix/modules/boot/kernel.nix>
boot.initrd.compressor Link copied!
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.nixfor 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 in
<finix/modules/boot/initrd.nix>
boot.initrd.compressorArgs Link copied!
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 in
<finix/modules/boot/initrd.nix>
boot.initrd.contents Link copied!
Contents of the initrd.
- Type
list of (submodule)
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.contents.*.source Link copied!
This option has no description.
- Type
absolute path
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.contents.*.target Link copied!
This option has no description.
- Type
null or string- Default
null
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.emergencyAccess Link copied!
Set to true for unauthenticated emergency access to the initramfs
rescue shell, and false or null for no access.
Can also be set to a hashed super user password to allow authenticated access to the rescue mode.
When access is denied, finix prints the failure reason on console and reboots after 10s instead of opening a shell.
- Type
null or boolean or (string, not containing newlines or colons)- Default
false
- Declared in
<finix/modules/finit/initrd.nix>
boot.initrd.fileSystemImportCommands Link copied!
Lines of shell commands that are run after coldbooting the device-manager and before mounting file-systems.
- Type
strings concatenated with "\n"- Default
""- Example
''
vgimport --all
''
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.finit.run Link copied!
An attribute set of one-shot commands to run in sequence when entering a runlevel. run commands
are guaranteed to be completed before running the next command. Useful when serialization is required.
See upstream documentation for additional details.
- Type
attribute set of (submodule)- Default
{ }
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.enable Link copied!
Whether to enable this stanza.
- Type
boolean- Default
true
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.command Link copied!
The command to execute.
- Type
main program, path or command
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.conditions Link copied!
See upstream documentation for details.
- Type
(list of non-empty string) or non-empty string convertible to it- Default
[ ]- Example
"pid/syslog"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.description Link copied!
A human-readable description of this service, displayed by initctl.
- Type
null or string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.extraConfig Link copied!
A place for finit configuration options which have not been added to the nix module yet.
- Type
strings concatenated with " "- Default
""- Example
""
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.id Link copied!
The instance identifier, derived from the attribute name if it contains an @ character.
- Type
null or string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.name Link copied!
The name of this stanza, derived from the attribute name.
- Type
string
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.priority Link copied!
Order of this run command in relation to the others. The semantics are the same as
with lib.mkOrder. Smaller values have a greater priority.
- Type
signed integer- Default
1000
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.runlevels Link copied!
See upstream documentation for details.
- Type
string- Default
"S"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.script Link copied!
Shell commands executed as the main process.
- Type
strings concatenated with "\n"- Default
""
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.run.<name>.tty Link copied!
Give this stanza a controlling terminal on the given device, connecting its stdin, stdout, and
stderr to the TTY. May be a device node like /dev/ttyS0 or the special keyword @console.
See upstream documentation for additional details.
- Type
null or non-empty string- Default
null- Example
"/dev/tty1"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services Link copied!
An attribute set of services, or daemons, to be monitored and automatically restarted if they exit prematurely.
See upstream documentation for additional details.
- Type
attribute set of (submodule)- Default
{ }
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.enable Link copied!
Whether to enable this stanza.
- Type
boolean- Default
true
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.command Link copied!
The command to execute.
- Type
main program, path or command
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.conditions Link copied!
See upstream documentation for details.
- Type
(list of non-empty string) or non-empty string convertible to it- Default
[ ]- Example
"pid/syslog"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.description Link copied!
A human-readable description of this service, displayed by initctl.
- Type
null or string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.extraConfig Link copied!
A place for finit configuration options which have not been added to the nix module yet.
- Type
strings concatenated with " "- Default
""- Example
""
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.id Link copied!
The instance identifier, derived from the attribute name if it contains an @ character.
- Type
null or string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.name Link copied!
The name of this stanza, derived from the attribute name.
- Type
string
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.notify Link copied!
See upstream documentation for details.
- Type
one of "none", "pid", "s6"- Default
config.finit.readiness
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.respawn Link copied!
Enable endless restarts without counting toward the retry limit. When set, the service
will be restarted indefinitely regardless of the restart limit.
- Type
boolean- Default
false
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.restart Link copied!
The number of times finit tries to restart a crashing service. When
this limit is reached the service is marked crashed and must be restarted
manually with initctl restart NAME. When null, finit's built-in
default applies.
- Type
null or integer between -1 and 255 (both inclusive)- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.runlevels Link copied!
See upstream documentation for details.
- Type
string- Default
"S"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.services.<name>.tty Link copied!
Give this stanza a controlling terminal on the given device, connecting its stdin, stdout, and
stderr to the TTY. May be a device node like /dev/ttyS0 or the special keyword @console.
See upstream documentation for additional details.
- Type
null or non-empty string- Default
null- Example
"/dev/tty1"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks Link copied!
An attribute set of one-shot commands to be executed by finit.
See upstream documentation for additional details.
- Type
attribute set of (submodule)- Default
{ }
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.enable Link copied!
Whether to enable this stanza.
- Type
boolean- Default
true
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.command Link copied!
The command to execute.
- Type
main program, path or command
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.conditions Link copied!
See upstream documentation for details.
- Type
(list of non-empty string) or non-empty string convertible to it- Default
[ ]- Example
"pid/syslog"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.description Link copied!
A human-readable description of this service, displayed by initctl.
- Type
null or string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.extraConfig Link copied!
A place for finit configuration options which have not been added to the nix module yet.
- Type
strings concatenated with " "- Default
""- Example
""
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.id Link copied!
The instance identifier, derived from the attribute name if it contains an @ character.
- Type
null or string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.name Link copied!
The name of this stanza, derived from the attribute name.
- Type
string
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.runlevels Link copied!
See upstream documentation for details.
- Type
string- Default
"S"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.script Link copied!
Shell commands executed as the main process.
- Type
strings concatenated with "\n"- Default
""
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.tasks.<name>.tty Link copied!
Give this stanza a controlling terminal on the given device, connecting its stdin, stdout, and
stderr to the TTY. May be a device node like /dev/ttyS0 or the special keyword @console.
See upstream documentation for additional details.
- Type
null or non-empty string- Default
null- Example
"/dev/tty1"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys Link copied!
An attribute set of TTYs that finit should manage.
See upstream documentation for additional details.
- Type
attribute set of (submodule)- Default
{ }
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.enable Link copied!
Whether to enable this stanza.
- Type
boolean- Default
true
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.baud Link copied!
Baud rate for serial TTYs.
- Type
null or non-empty string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.command Link copied!
Specify an external getty, like agetty or the BusyBox getty.
- Type
null or main program, path or command- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.conditions Link copied!
See upstream documentation for details.
- Type
(list of non-empty string) or non-empty string convertible to it- Default
[ ]- Example
"pid/syslog"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.description Link copied!
A human-readable description of this service, displayed by initctl.
- Type
null or string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.device Link copied!
Embedded systems may want to enable automatic device by supplying the special @console device. This
works regardless weather the system uses ttyS0, ttyAMA0, ttyMXC0, or anything else. finit figures
it out by querying sysfs: /sys/class/tty/console/active.
- Type
null or non-empty string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.extraConfig Link copied!
A place for finit configuration options which have not been added to the nix module yet.
- Type
strings concatenated with " "- Default
""- Example
""
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.noclear Link copied!
Disables clearing the TTY after each session. Clearing the TTY when a user logs out is usually preferable.
- Type
boolean- Default
false
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.nologin Link copied!
Disables getty and /bin/login, and gives the user a root (login) shell on the given TTY device
immediately. Needless to say, this is a rather insecure option, but can be very useful for developer
builds, during board bringup, or similar.
- Type
boolean- Default
false
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.notty Link copied!
No device node mode. This is insecure and intended only for board bringup or testing scenarios.
- Type
boolean- Default
false
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.nowait Link copied!
Disables the press Enter to activate console message before actually starting the getty program.
- Type
boolean- Default
false
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.rescue Link copied!
Start sulogin instead of a regular shell, requiring the root password. Useful for rescue/single-user mode.
- Type
boolean- Default
false
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.runlevels Link copied!
See upstream documentation for details.
- Type
string- Default
"S"
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.finit.ttys.<name>.term Link copied!
The TERM environment variable value for the TTY.
- Type
null or non-empty string- Default
null
- Declared in
<finix/modules/finit/stage1.nix>
boot.initrd.kernelModules Link copied!
List of modules that are always loaded by the initrd.
- Type
list of string- Default
[ ]
- Declared in
<finix/modules/boot/kernel.nix>
boot.initrd.path Link copied!
Packages whose /bin is linked into the initramfs PATH.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.prepend Link copied!
Other initrd files to prepend to the final initrd we are building.
- Type
list of string- Default
[ ]
- Declared in
<finix/modules/boot/initrd.nix>
boot.initrd.supportedFilesystems."9p".enable Link copied!
Whether to enable support for the 9p filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/9p.nix>
boot.initrd.supportedFilesystems.btrfs.enable Link copied!
Whether to enable support for the btrfs filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/btrfs.nix>
boot.initrd.supportedFilesystems.btrfs.packages Link copied!
Packages providing filesystem utilities for btrfs in the initial ramdisk.
- Type
list of package- Default
[
<derivation btrfs-progs-7.1>
]
- Declared in
<finix/modules/filesystems/btrfs.nix>
boot.initrd.supportedFilesystems.ext2.enable Link copied!
Whether to enable support for the ext2 filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/ext2.nix>
boot.initrd.supportedFilesystems.ext2.packages Link copied!
Packages providing filesystem utilities for ext2 in the initial ramdisk.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/filesystems/ext2.nix>
boot.initrd.supportedFilesystems.ext4.enable Link copied!
Whether to enable support for the ext4 filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/ext4.nix>
boot.initrd.supportedFilesystems.ext4.packages Link copied!
Packages providing filesystem utilities for ext4 in the initial ramdisk.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/filesystems/ext4.nix>
boot.initrd.supportedFilesystems.f2fs.enable Link copied!
Whether to enable support for the f2fs filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/f2fs.nix>
boot.initrd.supportedFilesystems.f2fs.packages Link copied!
Packages providing filesystem utilities for f2fs in the initial ramdisk.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/filesystems/f2fs.nix>
boot.initrd.supportedFilesystems.fuse.enable Link copied!
Whether to enable support for the fuse filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/fuse.nix>
boot.initrd.supportedFilesystems.iso9660.enable Link copied!
Whether to enable support for the iso9660 filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/iso9660.nix>
boot.initrd.supportedFilesystems.iso9660.packages Link copied!
Packages providing filesystem utilities for iso9660 in the initial ramdisk.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/filesystems/iso9660.nix>
boot.initrd.supportedFilesystems.luks.enable Link copied!
Whether to enable LUKS encrypted device support in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/luks.nix>
boot.initrd.supportedFilesystems.luks.packages Link copied!
Packages providing LUKS utilities in the initial ramdisk.
- Type
list of package- Default
[
<derivation cryptsetup-2.8.7>
]
- Declared in
<finix/modules/filesystems/luks.nix>
boot.initrd.supportedFilesystems.lvm.enable Link copied!
Whether to enable LVM support in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/lvm.nix>
boot.initrd.supportedFilesystems.lvm.packages Link copied!
Packages providing LVM utilities in the initial ramdisk.
- Type
list of package- Default
[
<derivation lvm2-2.03.41>
]
- Declared in
<finix/modules/filesystems/lvm.nix>
boot.initrd.supportedFilesystems.none.enable Link copied!
Whether to enable support for bind mounts in the initial ramdisk.
- Type
boolean- Default
true
- Declared in
<finix/modules/filesystems/special.nix>
boot.initrd.supportedFilesystems.ntfs3.enable Link copied!
This option has no description.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/ntfs3.nix>
boot.initrd.supportedFilesystems.ntfs3.packages Link copied!
This option has no description.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/filesystems/ntfs3.nix>
boot.initrd.supportedFilesystems.squashfs.enable Link copied!
Whether to enable support for the squashfs filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/squashfs.nix>
boot.initrd.supportedFilesystems.squashfs.packages Link copied!
Packages providing filesystem utilities for squashfs in the initial ramdisk.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/filesystems/squashfs.nix>
boot.initrd.supportedFilesystems.tmpfs.enable Link copied!
Whether to enable support for the tmpfs filesystem in the initial ramdisk.
- Type
boolean- Default
true
- Declared in
<finix/modules/filesystems/tmpfs.nix>
boot.initrd.supportedFilesystems.vfat.enable Link copied!
Whether to enable support for the vfat filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/vfat.nix>
boot.initrd.supportedFilesystems.vfat.packages Link copied!
Packages providing filesystem utilities for vfat in the initial ramdisk.
- Type
list of package- Default
[ ]
- Declared in
<finix/modules/filesystems/vfat.nix>
boot.initrd.supportedFilesystems.xfs.enable Link copied!
Whether to enable support for the xfs filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/xfs.nix>
boot.initrd.supportedFilesystems.xfs.packages Link copied!
Packages providing filesystem utilities for xfs in the initial ramdisk.
- Type
list of package- Default
[
<derivation xfsprogs-7.1.1>
]
- Declared in
<finix/modules/filesystems/xfs.nix>
boot.initrd.supportedFilesystems.zfs.enable Link copied!
Whether to enable support for the zfs filesystem in the initial ramdisk.
- Type
boolean- Default
false
- Declared in
<finix/modules/filesystems/zfs.nix>
boot.initrd.supportedFilesystems.zfs.packages Link copied!
Packages providing filesystem utilities for zfs in the initial ramdisk.
- Type
list of package- Default
[
<derivation zfs-user-2.4.4>
]
- Declared in
<finix/modules/filesystems/zfs.nix>
boot.kernel.enable Link copied!
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 in
<finix/modules/boot/kernel.nix>
boot.kernel.randstructSeed Link copied!
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 in
<finix/modules/boot/kernel.nix>
boot.kernel.sysctl Link copied!
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 in
<finix/modules/boot/sysctl.nix>
More options load as you scroll.