finix Options
boot.bootspec.enableValidation Link copied!
booleanWhether 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 .
falsetrue<finix/modules/boot/bootspec.nix>boot.bootspec.extensions Link copied!
attribute set of anythingUser-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.
{ }<finix/modules/boot/bootspec.nix>boot.bootspec.package Link copied!
packageThe package to use for bootspec.
pkgs.bootspec<finix/modules/boot/bootspec.nix>boot.extraModulePackages Link copied!
list of packageA list of additional packages supplying kernel modules.
[ ][ config.boot.kernelPackages.nvidia_x11 ]<finix/modules/boot/kernel.nix>boot.initrd.availableKernelModules Link copied!
list of stringThe 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.
[ ][
"sata_nv"
"ext3"
]<finix/modules/boot/kernel.nix>boot.initrd.compressor Link copied!
string or function that evaluates to a(n) stringThe 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.
`zstd` if the kernel supports it (5.9+), `gzip` if not"xz"<finix/modules/boot/initrd.nix>boot.initrd.compressorArgs Link copied!
null or (list of string)Arguments to pass to the compressor for the initrd image, or null to use the compressor's defaults.
null<finix/modules/boot/initrd.nix>boot.initrd.contents Link copied!
list of (submodule)Contents of the initrd.
<finix/modules/boot/initrd.nix>boot.initrd.contents.*.source Link copied!
absolute pathThis option has no description.
<finix/modules/boot/initrd.nix>boot.initrd.contents.*.target Link copied!
null or stringThis option has no description.
null<finix/modules/boot/initrd.nix>boot.initrd.emergencyAccess Link copied!
null or boolean or (string, not containing newlines or colons)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.
false<finix/modules/finit/initrd.nix>boot.initrd.enable Link copied!
booleanWhether 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.
true<finix/modules/boot/initrd.nix>boot.initrd.fileSystemImportCommands Link copied!
strings concatenated with "\n"Lines of shell commands that are run after coldbooting the device-manager and before mounting file-systems.
""''
vgimport --all
''<finix/modules/boot/initrd.nix>boot.initrd.kernelModules Link copied!
list of stringList of modules that are always loaded by the initrd.
[ ]<finix/modules/boot/kernel.nix>boot.initrd.package Link copied!
packagethe initrd to use for your system... use a module to build one
<finix/modules/boot/initrd.nix>boot.initrd.supportedFilesystems."9p".enable Link copied!
booleanWhether to enable support for the 9p filesystem in the initial ramdisk.
false<finix/modules/filesystems/9p.nix>boot.initrd.supportedFilesystems.btrfs.enable Link copied!
booleanWhether to enable support for the btrfs filesystem in the initial ramdisk.
false<finix/modules/filesystems/btrfs.nix>boot.initrd.supportedFilesystems.btrfs.packages Link copied!
list of packagePackages providing filesystem utilities for btrfs in the initial ramdisk.
[
<derivation btrfs-progs-6.19.1>
]<finix/modules/filesystems/btrfs.nix>boot.initrd.supportedFilesystems.ext2.enable Link copied!
booleanWhether to enable support for the ext2 filesystem in the initial ramdisk.
false<finix/modules/filesystems/ext2.nix>boot.initrd.supportedFilesystems.ext2.packages Link copied!
list of packagePackages providing filesystem utilities for ext2 in the initial ramdisk.
[ ]<finix/modules/filesystems/ext2.nix>boot.initrd.supportedFilesystems.ext4.enable Link copied!
booleanWhether to enable support for the ext4 filesystem in the initial ramdisk.
false<finix/modules/filesystems/ext4.nix>boot.initrd.supportedFilesystems.ext4.packages Link copied!
list of packagePackages providing filesystem utilities for ext4 in the initial ramdisk.
[ ]<finix/modules/filesystems/ext4.nix>boot.initrd.supportedFilesystems.f2fs.enable Link copied!
booleanWhether to enable support for the f2fs filesystem in the initial ramdisk.
false<finix/modules/filesystems/f2fs.nix>boot.initrd.supportedFilesystems.f2fs.packages Link copied!
list of packagePackages providing filesystem utilities for f2fs in the initial ramdisk.
[ ]<finix/modules/filesystems/f2fs.nix>boot.initrd.supportedFilesystems.fuse.enable Link copied!
booleanWhether to enable support for the fuse filesystem in the initial ramdisk.
false<finix/modules/filesystems/fuse.nix>boot.initrd.supportedFilesystems.luks.enable Link copied!
booleanWhether to enable LUKS encrypted device support in the initial ramdisk.
false<finix/modules/filesystems/luks.nix>boot.initrd.supportedFilesystems.luks.packages Link copied!
list of packagePackages providing LUKS utilities in the initial ramdisk.
[
<derivation cryptsetup-2.8.6>
]<finix/modules/filesystems/luks.nix>boot.initrd.supportedFilesystems.lvm.enable Link copied!
booleanWhether to enable LVM support in the initial ramdisk.
false<finix/modules/filesystems/lvm.nix>boot.initrd.supportedFilesystems.lvm.packages Link copied!
list of packagePackages providing LVM utilities in the initial ramdisk.
[
<derivation lvm2-2.03.39>
]<finix/modules/filesystems/lvm.nix>boot.initrd.supportedFilesystems.none.enable Link copied!
booleanWhether to enable support for bind mounts in the initial ramdisk.
true<finix/modules/filesystems/special.nix>boot.initrd.supportedFilesystems.ntfs3.enable Link copied!
booleanThis option has no description.
false<finix/modules/filesystems/ntfs3.nix>boot.initrd.supportedFilesystems.ntfs3.packages Link copied!
list of packageThis option has no description.
[ ]<finix/modules/filesystems/ntfs3.nix>boot.initrd.supportedFilesystems.tmpfs.enable Link copied!
booleanWhether to enable support for the tmpfs filesystem in the initial ramdisk.
true<finix/modules/filesystems/tmpfs.nix>boot.initrd.supportedFilesystems.vfat.enable Link copied!
booleanWhether to enable support for the vfat filesystem in the initial ramdisk.
false<finix/modules/filesystems/vfat.nix>boot.initrd.supportedFilesystems.vfat.packages Link copied!
list of packagePackages providing filesystem utilities for vfat in the initial ramdisk.
[ ]<finix/modules/filesystems/vfat.nix>boot.initrd.supportedFilesystems.xfs.enable Link copied!
booleanWhether to enable support for the xfs filesystem in the initial ramdisk.
false<finix/modules/filesystems/xfs.nix>boot.initrd.supportedFilesystems.xfs.packages Link copied!
list of packagePackages providing filesystem utilities for xfs in the initial ramdisk.
[
<derivation xfsprogs-6.19.0>
]<finix/modules/filesystems/xfs.nix>boot.initrd.supportedFilesystems.zfs.enable Link copied!
booleanWhether to enable support for the zfs filesystem in the initial ramdisk.
false<finix/modules/filesystems/zfs.nix>boot.initrd.supportedFilesystems.zfs.packages Link copied!
list of packagePackages providing filesystem utilities for zfs in the initial ramdisk.
[
<derivation zfs-user-2.4.2>
]<finix/modules/filesystems/zfs.nix>boot.kernel.enable Link copied!
booleanWhether to enable the Linux kernel. This is useful for systemd-like containers which do not require a kernel.
truetrue<finix/modules/boot/kernel.nix>boot.kernel.randstructSeed Link copied!
stringProvides 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.
"""my secret seed"<finix/modules/boot/kernel.nix>boot.kernel.sysctl Link copied!
open submodule of attribute set of (sysctl option value)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).
{ }{ "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; }
<finix/modules/boot/sysctl.nix>boot.kernel.sysctl."net.core.rmem_max" Link copied!
null or (unsigned integer, meaning >=0)The maximum receive socket buffer size in bytes. In case of conflicting values, the highest will be used.
null<finix/modules/boot/sysctl.nix>boot.kernel.sysctl."net.core.wmem_max" Link copied!
null or (unsigned integer, meaning >=0)The maximum send socket buffer size in bytes. In case of conflicting values, the highest will be used.
null<finix/modules/boot/sysctl.nix>boot.kernel.sysctl."vm.max_map_count" Link copied!
null or (unsigned integer, meaning >=0)The maximum number of memory map areas a process may have. In case of conflicting values, the highest will be used.
null<finix/modules/boot/sysctl.nix>boot.kernelModules Link copied!
list of stringThe 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.
[ ]<finix/modules/boot/kernel.nix>boot.kernelPackages Link copied!
raw valueThis 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.
pkgs.linuxPackagespkgs.linuxKernel.packages.linux_5_10<finix/modules/boot/kernel.nix>boot.kernelParams Link copied!
list of string, with spaces inside double quotesParameters added to the kernel command line.
[ ]<finix/modules/boot/kernel.nix>boot.kernelPatches Link copied!
list of (attribute set)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)
extraStructuredConfig = { # 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 extraStructuredConfig 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.
[ ][
{
name = "foo";
patch = ./foo.patch;
extraStructuredConfig.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-...";
});
}
]
<finix/modules/boot/kernel.nix>boot.loader.efi.canTouchEfiVariables Link copied!
booleanWhether the installation process is allowed to modify EFI boot variables.
false<finix/modules/programs/limine>boot.loader.efi.efiSysMountPoint Link copied!
stringWhere the EFI System Partition is mounted.
"/boot"<finix/modules/programs/limine>boot.modprobeConfig.enable Link copied!
booleanWhether to enable modprobe config. This is useful for systems like containers which do not require a kernel.
true<finix/modules/boot/modprobe.nix>boot.supportedFilesystems."9p".enable Link copied!
booleanWhether to enable support for the 9p filesystem.
false<finix/modules/filesystems/9p.nix>boot.supportedFilesystems."fuse.mergerfs".enable Link copied!
booleanWhether to enable support for the mergerfs fuse filesystem.
false<finix/modules/filesystems/fuse.mergerfs.nix>boot.supportedFilesystems.btrfs.enable Link copied!
booleanWhether to enable support for the btrfs filesystem.
false<finix/modules/filesystems/btrfs.nix>boot.supportedFilesystems.btrfs.packages Link copied!
list of packagePackages providing filesystem utilities for btrfs.
[
<derivation btrfs-progs-6.19.1>
]<finix/modules/filesystems/btrfs.nix>boot.supportedFilesystems.efivarfs.enable Link copied!
booleanWhether to enable support for the efivarfs filesystem.
false<finix/modules/filesystems/efivarfs.nix>boot.supportedFilesystems.ext2.enable Link copied!
booleanWhether to enable support for the ext2 filesystem.
false<finix/modules/filesystems/ext2.nix>boot.supportedFilesystems.ext2.packages Link copied!
list of packagePackages providing filesystem utilities for ext2.
[ ]<finix/modules/filesystems/ext2.nix>boot.supportedFilesystems.ext4.enable Link copied!
booleanWhether to enable support for the ext4 filesystem.
false<finix/modules/filesystems/ext4.nix>boot.supportedFilesystems.ext4.packages Link copied!
list of packagePackages providing filesystem utilities for ext4.
[ ]<finix/modules/filesystems/ext4.nix>boot.supportedFilesystems.f2fs.enable Link copied!
booleanWhether to enable support for the f2fs filesystem.
false<finix/modules/filesystems/f2fs.nix>boot.supportedFilesystems.f2fs.packages Link copied!
list of packagePackages providing filesystem utilities for f2fs.
[ ]<finix/modules/filesystems/f2fs.nix>boot.supportedFilesystems.fuse.enable Link copied!
booleanWhether to enable support for the fuse filesystem.
true<finix/modules/filesystems/fuse.nix>boot.supportedFilesystems.luks.enable Link copied!
booleanWhether to enable LUKS encrypted device support.
false<finix/modules/filesystems/luks.nix>boot.supportedFilesystems.luks.packages Link copied!
list of packagePackages providing LUKS utilities.
[
<derivation cryptsetup-2.8.6>
]<finix/modules/filesystems/luks.nix>boot.supportedFilesystems.lvm.enable Link copied!
booleanWhether to enable LVM support.
false<finix/modules/filesystems/lvm.nix>boot.supportedFilesystems.lvm.packages Link copied!
list of packagePackages providing lvm utilities.
[
<derivation lvm2-2.03.39>
]<finix/modules/filesystems/lvm.nix>boot.supportedFilesystems.none.enable Link copied!
booleanWhether to enable support for bind mounts.
true<finix/modules/filesystems/special.nix>boot.supportedFilesystems.ntfs3.enable Link copied!
booleanThis option has no description.
false<finix/modules/filesystems/ntfs3.nix>boot.supportedFilesystems.ntfs3.packages Link copied!
list of packageThis option has no description.
[ ]<finix/modules/filesystems/ntfs3.nix>boot.supportedFilesystems.tmpfs.enable Link copied!
booleanWhether to enable support for the tmpfs filesystem.
true<finix/modules/filesystems/tmpfs.nix>boot.supportedFilesystems.vfat.enable Link copied!
booleanWhether to enable support for the vfat filesystem.
false<finix/modules/filesystems/vfat.nix>boot.supportedFilesystems.vfat.packages Link copied!
list of packagePackages providing filesystem utilities for vfat.
[ ]<finix/modules/filesystems/vfat.nix>boot.supportedFilesystems.xfs.enable Link copied!
booleanWhether to enable support for the xfs filesystem.
false<finix/modules/filesystems/xfs.nix>boot.supportedFilesystems.xfs.packages Link copied!
list of packagePackages providing filesystem utilities for xfs.
[
<derivation xfsprogs-6.19.0>
]<finix/modules/filesystems/xfs.nix>boot.supportedFilesystems.zfs.enable Link copied!
booleanWhether to enable support for the zfs filesystem.
false<finix/modules/filesystems/zfs.nix>boot.supportedFilesystems.zfs.packages Link copied!
list of packagePackages providing filesystem utilities for zfs.
[
<derivation zfs-user-2.4.2>
]<finix/modules/filesystems/zfs.nix>boot.zfs.importPools Link copied!
list of stringList of ZFS pools to import at boot. Defaults to the pools necessary for booting.
[ ][
"jug"
"bucket"
]<finix/modules/filesystems/zfs.nix>boot.zfs.loadKeys Link copied!
list of stringList of ZFS dataset names to load keys for during boot.
[ ]<finix/modules/filesystems/zfs.nix>environment.binsh Link copied!
absolute pathDefault shell linked system-wide to /bin/sh. Do your best to make sure any
modifications to this shell are POSIX-compliant.
"${pkgs.bashInteractive}/bin/sh""${pkgs.dash}/bin/dash"<finix/modules/environment>environment.etc Link copied!
attribute set of (submodule)Set of files that have to be linked in /etc.
{ }{ example-configuration-file =
{ source = "/nix/store/.../etc/dir/file.conf.example";
mode = "0440";
};
"default/useradd".text = "GROUP=100 ...";
}
<finix/modules/environment/etc>environment.etc.<name>.enable Link copied!
booleanWhether this /etc file should be generated. This option allows specific /etc files to be disabled.
true<finix/modules/environment/etc>environment.etc.<name>.gid Link copied!
signed integerGID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').
0<finix/modules/environment/etc>environment.etc.<name>.group Link copied!
stringGroup name of created file.
Only takes effect when the file is copied (that is, the mode is not 'symlink').
Changing this option takes precedence over gid.
"+0"<finix/modules/environment/etc>environment.etc.<name>.mode Link copied!
stringIf set to something else than symlink,
the file is copied instead of symlinked, with the given
file mode.
"symlink""0600"<finix/modules/environment/etc>environment.etc.<name>.source Link copied!
absolute pathPath of the source file.
<finix/modules/environment/etc>environment.etc.<name>.target Link copied!
stringName of symlink (relative to
/etc). Defaults to the attribute
name.
<finix/modules/environment/etc>environment.etc.<name>.text Link copied!
null or strings concatenated with "\n"Text of the file.
null<finix/modules/environment/etc>environment.etc.<name>.uid Link copied!
signed integerUID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').
0<finix/modules/environment/etc>environment.etc.<name>.user Link copied!
stringUser name of created file.
Only takes effect when the file is copied (that is, the mode is not 'symlink').
Changing this option takes precedence over uid.
"+0"<finix/modules/environment/etc>environment.extraSetup Link copied!
strings concatenated with "\n"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.
""<finix/modules/environment/path>environment.path Link copied!
absolute pathThis option has no description.
<finix/modules/environment/path>environment.pathsToLink Link copied!
list of stringList of directories to be symlinked in /run/current-system/sw.
[ ][
"/"
]<finix/modules/environment/path>environment.shells Link copied!
list of (package or absolute path)This option has no description.
[ ]<finix/modules/environment/shells>environment.systemPackages Link copied!
list of packageThis option has no description.
{ }<finix/modules/environment/path>fileSystems Link copied!
attribute set of (submodule)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; defaults to
"auto"), 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).
{ }{
"/".device = "/dev/hda1";
"/data" = {
device = "/dev/hda2";
fsType = "ext3";
options = [ "data=journal" ];
};
"/bigdisk".label = "bigdisk";
}
<finix/modules/filesystems/options.nix>fileSystems.<name>.depends Link copied!
list of string (with check: non-empty without trailing slash)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.
[ ][
"/persist"
]<finix/modules/filesystems/options.nix>fileSystems.<name>.device Link copied!
null or non-empty stringLocation of the device.
null"/dev/sda"<finix/modules/filesystems/options.nix>fileSystems.<name>.fsType Link copied!
non-empty stringType of the file system.
"auto""ext3"<finix/modules/filesystems/options.nix>fileSystems.<name>.label Link copied!
null or non-empty stringLabel of the device (if any).
null"root-partition"<finix/modules/filesystems/options.nix>fileSystems.<name>.mountPoint Link copied!
string (with check: non-empty without trailing slash)Location of the mounted file system.
"/mnt/usb"<finix/modules/filesystems/options.nix>fileSystems.<name>.neededForBoot Link copied!
booleanWhether this filesystem is needed for boot. If set, the filesystem will be mounted in the initial ramdisk.
false<finix/modules/filesystems/options.nix>fileSystems.<name>.noCheck Link copied!
booleanDisable running fsck on this filesystem.
false<finix/modules/filesystems/options.nix>fileSystems.<name>.options Link copied!
non-empty (list of non-empty string)Options used to mount the file system.
[
"defaults"
][
"data=journal"
]<finix/modules/filesystems/options.nix>finit.cgroups Link copied!
attribute set of (submodule)An attribute set of cgroups (v2) that will be created by finit.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.cgroups.<name>.name Link copied!
stringThe name of the cgroup to create.
"‹name›"<finix/modules/finit>finit.cgroups.<name>.settings Link copied!
attribute set of (atom (null, bool, int, float or string))Settings to apply to this cgroup.
See kernel documentation for additional details.
{ }{
"cpu.weight" = 100;
}<finix/modules/finit>finit.environment Link copied!
attribute set of stringEnvironment variables passed to all finit services.
{ }<finix/modules/finit>finit.package Link copied!
packageThe package to use for finit.
Note
The specified package will have its configureFlags appended to with
a finit plugin path (--with-plugin-path) set to the required
finix-setup plugin.
pkgs.finit<finix/modules/finit>finit.path Link copied!
list of (absolute path or string)Packages added to the finit PATH environment variable.
[ ]<finix/modules/finit>finit.readiness Link copied!
one of "none", "pid"In this mode of operation, every service needs to explicitly declare their readiness notification
"none"<finix/modules/finit>finit.rlimits Link copied!
attribute set of (value "unlimited" (singular enum) or signed integer or (submodule))An attribute set of resource limits that will be apply by finit.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.run Link copied!
attribute set of (submodule)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.
{ }<finix/modules/finit>finit.run.<name>.caps Link copied!
(list of non-empty string) or non-empty string convertible to itAllow services to run with minimal required privileges instead of running as root.
[ ][
"^cap_net_bind_service"
]<finix/modules/finit>finit.run.<name>.cgroup.delegate Link copied!
booleanFor services that need to create their own child cgroups (container runtimes like docker, podman, systemd-nspawn, lxc, etc...).
See upstream documentation for details.
false<finix/modules/finit>finit.run.<name>.cgroup.name Link copied!
stringThe name of the cgroup to place this process under.
"system"<finix/modules/finit>finit.run.<name>.cgroup.settings Link copied!
attribute set of (atom (null, bool, int, float or string))The cgroup settings to apply to this process.
See kernel documentation for additional details.
{ }<finix/modules/finit>finit.run.<name>.cleanup Link copied!
null or main program, path or commandA script which will be called when the service is removed.
null<finix/modules/finit>finit.run.<name>.command Link copied!
main program, path or commandThe command to execute.
<finix/modules/finit>finit.run.<name>.conditions Link copied!
(list of non-empty string) or non-empty string convertible to itSee upstream documentation for details.
[ ]"pid/syslog"<finix/modules/finit>finit.run.<name>.conflict Link copied!
(list of non-empty string) or non-empty string convertible to itIf you have conflicting services and want to prevent them from starting.
[ ]<finix/modules/finit>finit.run.<name>.description Link copied!
null or stringA human-readable description of this service, displayed by initctl.
null<finix/modules/finit>finit.run.<name>.enable Link copied!
booleanWhether to enable this stanza.
true<finix/modules/finit>finit.run.<name>.env Link copied!
null or string or absolute patheither a path or a path prefixed with a '-' to indicate a missing file is fine.
null<finix/modules/finit>finit.run.<name>.environment Link copied!
attribute set of (atom (null, bool, int, float or string))Environment variables passed to this service.
{ }{
TZ = "CET";
}<finix/modules/finit>finit.run.<name>.extraConfig Link copied!
strings concatenated with " "A place for finit configuration options which have not been added to the nix module yet.
""""<finix/modules/finit>finit.run.<name>.group Link copied!
null or stringThe group this service should be executed as.
null<finix/modules/finit>finit.run.<name>.id Link copied!
null or stringThe instance identifier, derived from the attribute name if it contains an @ character.
null<finix/modules/finit>finit.run.<name>.log Link copied!
boolean or non-empty stringRedirect stderr and stdout of the application to a file or syslog using the native logit
tool. This is useful for programs that do not support syslog on their own, which is sometimes
the case when running in the foreground.
See upstream documentation for additional details.
false<finix/modules/finit>finit.run.<name>.manual Link copied!
booleanIf a service should not be automatically started, it can be configured as
manual. The service can then be started at any time by running initctl start <service>.
false<finix/modules/finit>finit.run.<name>.name Link copied!
stringThe name of this stanza, derived from the attribute name.
<finix/modules/finit>finit.run.<name>.path Link copied!
list of (package or string)Packages added to the PATH environment variable of this service.
[ ]<finix/modules/finit>finit.run.<name>.post Link copied!
null or main program, path or commandA script which will be called after the service has stopped.
null<finix/modules/finit>finit.run.<name>.pre Link copied!
null or main program, path or commandA script which will be called before the service is started.
null<finix/modules/finit>finit.run.<name>.priority Link copied!
signed integerOrder of this run command in relation to the others. The semantics are the same as
with lib.mkOrder. Smaller values have a greater priority.
1000<finix/modules/finit>finit.run.<name>.remain Link copied!
booleanBy default, a run or task will re-run each time its runlevel is
entered, and its post: script does not run on completion.
With remain:yes, the task runs once and does not re-run on runlevel. The
post: script will run if the task is explicitly stopped or when the task
leaves its valid runlevels.
false<finix/modules/finit>finit.run.<name>.respawn Link copied!
booleanEnable endless restarts without counting toward the retry limit. When set, the service
will be restarted indefinitely regardless of the restart limit.
false<finix/modules/finit>finit.run.<name>.restart Link copied!
integer between -1 and 255 (both inclusive)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.
10<finix/modules/finit>finit.run.<name>.restart_sec Link copied!
null or (unsigned integer, meaning >=0)The number of seconds before Finit tries to restart a crashing service, default: 2
seconds for the first five retries, then back-off to 5 seconds. The maximum of this
configured value and the above (2 and 5) will be used.
null<finix/modules/finit>finit.run.<name>.runlevels Link copied!
stringSee upstream documentation for details.
"234"<finix/modules/finit>finit.run.<name>.supplementary_groups Link copied!
list of stringExplicitly specify supplementary groups, in addition to reading group membership from /etc/group.
[ ]<finix/modules/finit>finit.run.<name>.user Link copied!
null or stringThe user this service should be executed as.
null<finix/modules/finit>finit.runlevel Link copied!
integer between 0 and 9 (both inclusive)The runlevel to start after bootstrap, S.
2<finix/modules/finit>finit.services Link copied!
attribute set of (submodule)An attribute set of services, or daemons, to be monitored and automatically restarted if they exit prematurely.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.services.<name>.caps Link copied!
(list of non-empty string) or non-empty string convertible to itAllow services to run with minimal required privileges instead of running as root.
[ ][
"^cap_net_bind_service"
]<finix/modules/finit>finit.services.<name>.cgroup.delegate Link copied!
booleanFor services that need to create their own child cgroups (container runtimes like docker, podman, systemd-nspawn, lxc, etc...).
See upstream documentation for details.
false<finix/modules/finit>finit.services.<name>.cgroup.name Link copied!
stringThe name of the cgroup to place this process under.
"system"<finix/modules/finit>finit.services.<name>.cgroup.settings Link copied!
attribute set of (atom (null, bool, int, float or string))The cgroup settings to apply to this process.
See kernel documentation for additional details.
{ }<finix/modules/finit>finit.services.<name>.cleanup Link copied!
null or main program, path or commandA script which will be called when the service is removed.
null<finix/modules/finit>finit.services.<name>.command Link copied!
main program, path or commandThe command to execute.
<finix/modules/finit>finit.services.<name>.conditions Link copied!
(list of non-empty string) or non-empty string convertible to itSee upstream documentation for details.
[ ]"pid/syslog"<finix/modules/finit>finit.services.<name>.conflict Link copied!
(list of non-empty string) or non-empty string convertible to itIf you have conflicting services and want to prevent them from starting.
[ ]<finix/modules/finit>finit.services.<name>.description Link copied!
null or stringA human-readable description of this service, displayed by initctl.
null<finix/modules/finit>finit.services.<name>.enable Link copied!
booleanWhether to enable this stanza.
true<finix/modules/finit>finit.services.<name>.env Link copied!
null or string or absolute patheither a path or a path prefixed with a '-' to indicate a missing file is fine.
null<finix/modules/finit>finit.services.<name>.environment Link copied!
attribute set of (atom (null, bool, int, float or string))Environment variables passed to this service.
{ }{
TZ = "CET";
}<finix/modules/finit>finit.services.<name>.extraConfig Link copied!
strings concatenated with " "A place for finit configuration options which have not been added to the nix module yet.
""""<finix/modules/finit>finit.services.<name>.group Link copied!
null or stringThe group this service should be executed as.
null<finix/modules/finit>finit.services.<name>.id Link copied!
null or stringThe instance identifier, derived from the attribute name if it contains an @ character.
null<finix/modules/finit>finit.services.<name>.kill Link copied!
null or integer between 1 and 300 (both inclusive)The delay in seconds between finit sending a SIGTERM and a SIGKILL.
"3"<finix/modules/finit>finit.services.<name>.log Link copied!
boolean or non-empty stringRedirect stderr and stdout of the application to a file or syslog using the native logit
tool. This is useful for programs that do not support syslog on their own, which is sometimes
the case when running in the foreground.
See upstream documentation for additional details.
false<finix/modules/finit>finit.services.<name>.manual Link copied!
booleanIf a service should not be automatically started, it can be configured as
manual. The service can then be started at any time by running initctl start <service>.
false<finix/modules/finit>finit.services.<name>.name Link copied!
stringThe name of this stanza, derived from the attribute name.
<finix/modules/finit>finit.services.<name>.nohup Link copied!
booleanWhether this service supports reload on SIGHUP.
false<finix/modules/finit>finit.services.<name>.notify Link copied!
null or one of "pid", "systemd", "s6", "none"See upstream documentation for details.
config.finit.readiness<finix/modules/finit>finit.services.<name>.oncrash Link copied!
null or one of "reboot", "script"reboot- when all retries have failed, and the service has crashed, if this option is set the system is rebooted.script- similarly, but instead of rebooting, call thepost:scriptaction if set.
null<finix/modules/finit>finit.services.<name>.path Link copied!
list of (package or string)Packages added to the PATH environment variable of this service.
[ ]<finix/modules/finit>finit.services.<name>.pid Link copied!
null or stringSee upstream documentation for details.
null<finix/modules/finit>finit.services.<name>.post Link copied!
null or main program, path or commandA script which will be called after the service has stopped.
null<finix/modules/finit>finit.services.<name>.pre Link copied!
null or main program, path or commandA script which will be called before the service is started.
null<finix/modules/finit>finit.services.<name>.ready Link copied!
null or main program, path or commandA script which will be called when the service is ready.
null<finix/modules/finit>finit.services.<name>.reload Link copied!
null or main program, path or commandSome services do not support SIGHUP but may have other ways to update the configuration of a running daemon. When
reload is defined it is preferred over SIGHUP. Like systemd, finit sets ``$MAINPIDas a convenience to scripts, which in effect also allow settingreload` to `kill -HUP $MAINPID`.
Note
reload is called as PID 1, without any timeout! Meaning, it is up to you to ensure the script is not blocking for
seconds at a time or never terminates.
null"kill -HUP $MAINPID"<finix/modules/finit>finit.services.<name>.respawn Link copied!
booleanEnable endless restarts without counting toward the retry limit. When set, the service
will be restarted indefinitely regardless of the restart limit.
false<finix/modules/finit>finit.services.<name>.restart Link copied!
integer between -1 and 255 (both inclusive)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.
10<finix/modules/finit>finit.services.<name>.restart_sec Link copied!
null or (unsigned integer, meaning >=0)The number of seconds before Finit tries to restart a crashing service, default: 2
seconds for the first five retries, then back-off to 5 seconds. The maximum of this
configured value and the above (2 and 5) will be used.
null<finix/modules/finit>finit.services.<name>.rlimits Link copied!
attribute set of (value "unlimited" (singular enum) or signed integer or (submodule))An attribute set of resource limits that will be apply by finit.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.services.<name>.runlevels Link copied!
stringSee upstream documentation for details.
"234"<finix/modules/finit>finit.services.<name>.stop Link copied!
null or main program, path or commandSome services may require alternate methods to be stopped. If stop is defined it is preferred over SIGTERM. Similar
to reload, finit sets $MAINPID.
Note
stop is called as PID 1, without any timeout! Meaning, it is up to you to ensure the script is not blocking for
seconds at a time or never terminates.
null<finix/modules/finit>finit.services.<name>.supplementary_groups Link copied!
list of stringExplicitly specify supplementary groups, in addition to reading group membership from /etc/group.
[ ]<finix/modules/finit>finit.services.<name>.type Link copied!
null or value "forking" (singular enum)Service type. Set to "forking" for traditional daemons that fork
to the background and use PID files for process tracking.
null<finix/modules/finit>finit.services.<name>.user Link copied!
null or stringThe user this service should be executed as.
null<finix/modules/finit>finit.sysv Link copied!
attribute set of (submodule)An attribute set of SysV init scripts to be managed by finit. These are
legacy init scripts that are called with start, stop, and restart arguments.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.sysv.<name>.caps Link copied!
(list of non-empty string) or non-empty string convertible to itAllow services to run with minimal required privileges instead of running as root.
[ ][
"^cap_net_bind_service"
]<finix/modules/finit>finit.sysv.<name>.cgroup.delegate Link copied!
booleanFor services that need to create their own child cgroups (container runtimes like docker, podman, systemd-nspawn, lxc, etc...).
See upstream documentation for details.
false<finix/modules/finit>finit.sysv.<name>.cgroup.name Link copied!
stringThe name of the cgroup to place this process under.
"system"<finix/modules/finit>finit.sysv.<name>.cgroup.settings Link copied!
attribute set of (atom (null, bool, int, float or string))The cgroup settings to apply to this process.
See kernel documentation for additional details.
{ }<finix/modules/finit>finit.sysv.<name>.cleanup Link copied!
null or main program, path or commandA script which will be called when the service is removed.
null<finix/modules/finit>finit.sysv.<name>.command Link copied!
main program, path or commandThe command to execute.
<finix/modules/finit>finit.sysv.<name>.conditions Link copied!
(list of non-empty string) or non-empty string convertible to itSee upstream documentation for details.
[ ]"pid/syslog"<finix/modules/finit>finit.sysv.<name>.conflict Link copied!
(list of non-empty string) or non-empty string convertible to itIf you have conflicting services and want to prevent them from starting.
[ ]<finix/modules/finit>finit.sysv.<name>.description Link copied!
null or stringA human-readable description of this service, displayed by initctl.
null<finix/modules/finit>finit.sysv.<name>.enable Link copied!
booleanWhether to enable this stanza.
true<finix/modules/finit>finit.sysv.<name>.env Link copied!
null or string or absolute patheither a path or a path prefixed with a '-' to indicate a missing file is fine.
null<finix/modules/finit>finit.sysv.<name>.environment Link copied!
attribute set of (atom (null, bool, int, float or string))Environment variables passed to this service.
{ }{
TZ = "CET";
}<finix/modules/finit>finit.sysv.<name>.extraConfig Link copied!
strings concatenated with " "A place for finit configuration options which have not been added to the nix module yet.
""""<finix/modules/finit>finit.sysv.<name>.group Link copied!
null or stringThe group this service should be executed as.
null<finix/modules/finit>finit.sysv.<name>.id Link copied!
null or stringThe instance identifier, derived from the attribute name if it contains an @ character.
null<finix/modules/finit>finit.sysv.<name>.kill Link copied!
null or integer between 1 and 300 (both inclusive)The delay in seconds between finit sending a SIGTERM and a SIGKILL.
"3"<finix/modules/finit>finit.sysv.<name>.log Link copied!
boolean or non-empty stringRedirect stderr and stdout of the application to a file or syslog using the native logit
tool. This is useful for programs that do not support syslog on their own, which is sometimes
the case when running in the foreground.
See upstream documentation for additional details.
false<finix/modules/finit>finit.sysv.<name>.manual Link copied!
booleanIf a service should not be automatically started, it can be configured as
manual. The service can then be started at any time by running initctl start <service>.
false<finix/modules/finit>finit.sysv.<name>.name Link copied!
stringThe name of this stanza, derived from the attribute name.
<finix/modules/finit>finit.sysv.<name>.nohup Link copied!
booleanWhether this service supports reload on SIGHUP.
false<finix/modules/finit>finit.sysv.<name>.notify Link copied!
null or one of "pid", "systemd", "s6", "none"See upstream documentation for details.
config.finit.readiness<finix/modules/finit>finit.sysv.<name>.oncrash Link copied!
null or one of "reboot", "script"reboot- when all retries have failed, and the service has crashed, if this option is set the system is rebooted.script- similarly, but instead of rebooting, call thepost:scriptaction if set.
null<finix/modules/finit>finit.sysv.<name>.path Link copied!
list of (package or string)Packages added to the PATH environment variable of this service.
[ ]<finix/modules/finit>finit.sysv.<name>.pid Link copied!
null or stringSee upstream documentation for details.
null<finix/modules/finit>finit.sysv.<name>.post Link copied!
null or main program, path or commandA script which will be called after the service has stopped.
null<finix/modules/finit>finit.sysv.<name>.pre Link copied!
null or main program, path or commandA script which will be called before the service is started.
null<finix/modules/finit>finit.sysv.<name>.ready Link copied!
null or main program, path or commandA script which will be called when the service is ready.
null<finix/modules/finit>finit.sysv.<name>.reload Link copied!
null or main program, path or commandSome services do not support SIGHUP but may have other ways to update the configuration of a running daemon. When
reload is defined it is preferred over SIGHUP. Like systemd, finit sets ``$MAINPIDas a convenience to scripts, which in effect also allow settingreload` to `kill -HUP $MAINPID`.
Note
reload is called as PID 1, without any timeout! Meaning, it is up to you to ensure the script is not blocking for
seconds at a time or never terminates.
null"kill -HUP $MAINPID"<finix/modules/finit>finit.sysv.<name>.respawn Link copied!
booleanEnable endless restarts without counting toward the retry limit. When set, the service
will be restarted indefinitely regardless of the restart limit.
false<finix/modules/finit>finit.sysv.<name>.restart Link copied!
integer between -1 and 255 (both inclusive)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.
10<finix/modules/finit>finit.sysv.<name>.restart_sec Link copied!
null or (unsigned integer, meaning >=0)The number of seconds before Finit tries to restart a crashing service, default: 2
seconds for the first five retries, then back-off to 5 seconds. The maximum of this
configured value and the above (2 and 5) will be used.
null<finix/modules/finit>finit.sysv.<name>.rlimits Link copied!
attribute set of (value "unlimited" (singular enum) or signed integer or (submodule))An attribute set of resource limits that will be apply by finit.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.sysv.<name>.runlevels Link copied!
stringSee upstream documentation for details.
"234"<finix/modules/finit>finit.sysv.<name>.stop Link copied!
null or main program, path or commandSome services may require alternate methods to be stopped. If stop is defined it is preferred over SIGTERM. Similar
to reload, finit sets $MAINPID.
Note
stop is called as PID 1, without any timeout! Meaning, it is up to you to ensure the script is not blocking for
seconds at a time or never terminates.
null<finix/modules/finit>finit.sysv.<name>.supplementary_groups Link copied!
list of stringExplicitly specify supplementary groups, in addition to reading group membership from /etc/group.
[ ]<finix/modules/finit>finit.sysv.<name>.type Link copied!
null or value "forking" (singular enum)Service type. Set to "forking" for traditional daemons that fork
to the background and use PID files for process tracking.
null<finix/modules/finit>finit.sysv.<name>.user Link copied!
null or stringThe user this service should be executed as.
null<finix/modules/finit>finit.tasks Link copied!
attribute set of (submodule)An attribute set of one-shot commands to be executed by finit.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.tasks.<name>.caps Link copied!
(list of non-empty string) or non-empty string convertible to itAllow services to run with minimal required privileges instead of running as root.
[ ][
"^cap_net_bind_service"
]<finix/modules/finit>finit.tasks.<name>.cgroup.delegate Link copied!
booleanFor services that need to create their own child cgroups (container runtimes like docker, podman, systemd-nspawn, lxc, etc...).
See upstream documentation for details.
false<finix/modules/finit>finit.tasks.<name>.cgroup.name Link copied!
stringThe name of the cgroup to place this process under.
"system"<finix/modules/finit>finit.tasks.<name>.cgroup.settings Link copied!
attribute set of (atom (null, bool, int, float or string))The cgroup settings to apply to this process.
See kernel documentation for additional details.
{ }<finix/modules/finit>finit.tasks.<name>.cleanup Link copied!
null or main program, path or commandA script which will be called when the service is removed.
null<finix/modules/finit>finit.tasks.<name>.command Link copied!
main program, path or commandThe command to execute.
<finix/modules/finit>finit.tasks.<name>.conditions Link copied!
(list of non-empty string) or non-empty string convertible to itSee upstream documentation for details.
[ ]"pid/syslog"<finix/modules/finit>finit.tasks.<name>.conflict Link copied!
(list of non-empty string) or non-empty string convertible to itIf you have conflicting services and want to prevent them from starting.
[ ]<finix/modules/finit>finit.tasks.<name>.description Link copied!
null or stringA human-readable description of this service, displayed by initctl.
null<finix/modules/finit>finit.tasks.<name>.enable Link copied!
booleanWhether to enable this stanza.
true<finix/modules/finit>finit.tasks.<name>.env Link copied!
null or string or absolute patheither a path or a path prefixed with a '-' to indicate a missing file is fine.
null<finix/modules/finit>finit.tasks.<name>.environment Link copied!
attribute set of (atom (null, bool, int, float or string))Environment variables passed to this service.
{ }{
TZ = "CET";
}<finix/modules/finit>finit.tasks.<name>.extraConfig Link copied!
strings concatenated with " "A place for finit configuration options which have not been added to the nix module yet.
""""<finix/modules/finit>finit.tasks.<name>.group Link copied!
null or stringThe group this service should be executed as.
null<finix/modules/finit>finit.tasks.<name>.id Link copied!
null or stringThe instance identifier, derived from the attribute name if it contains an @ character.
null<finix/modules/finit>finit.tasks.<name>.log Link copied!
boolean or non-empty stringRedirect stderr and stdout of the application to a file or syslog using the native logit
tool. This is useful for programs that do not support syslog on their own, which is sometimes
the case when running in the foreground.
See upstream documentation for additional details.
false<finix/modules/finit>finit.tasks.<name>.manual Link copied!
booleanIf a service should not be automatically started, it can be configured as
manual. The service can then be started at any time by running initctl start <service>.
false<finix/modules/finit>finit.tasks.<name>.name Link copied!
stringThe name of this stanza, derived from the attribute name.
<finix/modules/finit>finit.tasks.<name>.path Link copied!
list of (package or string)Packages added to the PATH environment variable of this service.
[ ]<finix/modules/finit>finit.tasks.<name>.post Link copied!
null or main program, path or commandA script which will be called after the service has stopped.
null<finix/modules/finit>finit.tasks.<name>.pre Link copied!
null or main program, path or commandA script which will be called before the service is started.
null<finix/modules/finit>finit.tasks.<name>.remain Link copied!
booleanBy default, a run or task will re-run each time its runlevel is
entered, and its post: script does not run on completion.
With remain:yes, the task runs once and does not re-run on runlevel. The
post: script will run if the task is explicitly stopped or when the task
leaves its valid runlevels.
false<finix/modules/finit>finit.tasks.<name>.respawn Link copied!
booleanEnable endless restarts without counting toward the retry limit. When set, the service
will be restarted indefinitely regardless of the restart limit.
false<finix/modules/finit>finit.tasks.<name>.restart Link copied!
integer between -1 and 255 (both inclusive)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.
10<finix/modules/finit>finit.tasks.<name>.restart_sec Link copied!
null or (unsigned integer, meaning >=0)The number of seconds before Finit tries to restart a crashing service, default: 2
seconds for the first five retries, then back-off to 5 seconds. The maximum of this
configured value and the above (2 and 5) will be used.
null<finix/modules/finit>finit.tasks.<name>.rlimits Link copied!
attribute set of (value "unlimited" (singular enum) or signed integer or (submodule))An attribute set of resource limits that will be apply by finit.
See upstream documentation for additional details.
{ }<finix/modules/finit>finit.tasks.<name>.runlevels Link copied!
stringSee upstream documentation for details.
"234"<finix/modules/finit>finit.tasks.<name>.supplementary_groups Link copied!
list of stringExplicitly specify supplementary groups, in addition to reading group membership from /etc/group.
[ ]<finix/modules/finit>finit.tasks.<name>.user Link copied!
null or stringThe user this service should be executed as.
null<finix/modules/finit>finit.tmpfiles.rules Link copied!
list of stringRules for creation, deletion and cleaning of volatile and temporary files automatically. See tmpfiles.d(5) for the exact format.
[ ][
"d /tmp 1777 root root 10d"
]<finix/modules/finit/tmpfiles.nix>finit.ttys Link copied!
attribute set of (submodule)An attribute set of TTYs that finit should manage.
See upstream documentation for additional details.
{ }<finix/modules/services/elogind>finit.ttys.<name>.baud Link copied!
null or non-empty stringBaud rate for serial TTYs.
null<finix/modules/finit>finit.ttys.<name>.cgroup.delegate Link copied!
booleanFor services that need to create their own child cgroups (container runtimes like docker, podman, systemd-nspawn, lxc, etc...).
See upstream documentation for details.
false<finix/modules/finit>finit.ttys.<name>.cgroup.name Link copied!
stringThe name of the cgroup to place this process under.
"system"<finix/modules/finit>finit.ttys.<name>.cgroup.settings Link copied!
attribute set of (atom (null, bool, int, float or string))The cgroup settings to apply to this process.
See kernel documentation for additional details.
{ }<finix/modules/finit>finit.ttys.<name>.command Link copied!
null or main program, path or commandSpecify an external getty, like agetty or the BusyBox getty.
null<finix/modules/finit>finit.ttys.<name>.conditions Link copied!
(list of non-empty string) or non-empty string convertible to itSee upstream documentation for details.
[ ]"pid/syslog"<finix/modules/finit>finit.ttys.<name>.description Link copied!
null or stringA human-readable description of this service, displayed by initctl.
null<finix/modules/finit>finit.ttys.<name>.device Link copied!
null or non-empty stringEmbedded 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.
null<finix/modules/finit>finit.ttys.<name>.enable Link copied!
booleanWhether to enable this stanza.
true<finix/modules/finit>finit.ttys.<name>.extraConfig Link copied!
strings concatenated with " "A place for finit configuration options which have not been added to the nix module yet.
""""<finix/modules/finit>finit.ttys.<name>.id Link copied!
null or non-empty stringExplicit instance ID for the TTY. If not set, finit auto-derives it from the device name
(e.g., tty1 becomes :1, ttyS0 becomes :S0).
null<finix/modules/finit>finit.ttys.<name>.noclear Link copied!
booleanDisables clearing the TTY after each session. Clearing the TTY when a user logs out is usually preferable.
false<finix/modules/finit>finit.ttys.<name>.nologin Link copied!
booleanDisables 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.
false<finix/modules/finit>finit.ttys.<name>.notty Link copied!
booleanNo device node mode. This is insecure and intended only for board bringup or testing scenarios.
false<finix/modules/finit>finit.ttys.<name>.nowait Link copied!
booleanDisables the press Enter to activate console message before actually starting the getty program.
false<finix/modules/finit>finit.ttys.<name>.rescue Link copied!
booleanStart sulogin instead of a regular shell, requiring the root password. Useful for rescue/single-user mode.
false<finix/modules/finit>finit.ttys.<name>.runlevels Link copied!
stringSee upstream documentation for details.
"234"<finix/modules/finit>finit.ttys.<name>.term Link copied!
null or non-empty stringThe TERM environment variable value for the TTY.
null<finix/modules/finit>fonts.enableDefaultPackages Link copied!
booleanEnable a basic set of fonts providing several styles and families and reasonable coverage of Unicode.
false<finix/modules/nixos/packages.nix>fonts.fontconfig.allowBitmaps Link copied!
booleanAllow bitmap fonts. Set to false to ban all
bitmap fonts.
true<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.allowType1 Link copied!
booleanAllow Type-1 fonts. Default is false because of
poor rendering.
false<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.antialias Link copied!
booleanEnable font antialiasing. At high resolution (> 200 DPI), antialiasing has no visible effect; users of such displays may want to disable this option.
true<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.cache32Bit Link copied!
booleanGenerate system fonts cache for 32-bit applications.
false<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.defaultFonts.emoji Link copied!
list of stringSystem-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.
[
"Noto Color Emoji"
]<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.defaultFonts.monospace Link copied!
list of stringSystem-wide default monospace font(s). Multiple fonts may be listed in case multiple languages must be supported.
[
"DejaVu Sans Mono"
]<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.defaultFonts.sansSerif Link copied!
list of stringSystem-wide default sans serif font(s). Multiple fonts may be listed in case multiple languages must be supported.
[
"DejaVu Sans"
]<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.defaultFonts.serif Link copied!
list of stringSystem-wide default serif font(s). Multiple fonts may be listed in case multiple languages must be supported.
[
"DejaVu Serif"
]<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.enable Link copied!
booleanIf 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 leave this option off and prevent a dependency on all those fonts.
false<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.hinting.autohint Link copied!
booleanEnable the autohinter in place of the default interpreter. The results are usually lower quality than correctly-hinted fonts, but better than unhinted fonts.
false<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.hinting.enable Link copied!
booleanEnable 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.
true<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.hinting.style Link copied!
one of "none", "slight", "medium", "full"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.
"slight"<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.includeUserConf Link copied!
booleanInclude the user configuration from
or
/.config/fontconfig/fonts.conf/.config/fontconfig/conf.d.
true<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.localConf Link copied!
strings concatenated with "\n"System-wide customization file contents, has higher priority than
defaultFonts settings.
""<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.subpixel.lcdfilter Link copied!
one of "none", "default", "light", "legacy"FreeType LCD filter. At high resolution (> 200 DPI), LCD filtering
has no visible effect; users of such displays may want to select
none.
"default"<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.subpixel.rgba Link copied!
one of "rgb", "bgr", "vrgb", "vbgr", "none"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.
"none"<finix/modules/fonts/fontconfig.nix>fonts.fontconfig.useEmbeddedBitmaps Link copied!
booleanUse embedded bitmaps in fonts like Calibri.
false<finix/modules/fonts/fontconfig.nix>fonts.packages Link copied!
list of absolute pathList of primary font packages.
[ ][ pkgs.dejavu_fonts ]<finix/modules/nixos/packages.nix>hardware.console.binaryKeyMap Link copied!
absolute pathBinary keymap file. If unset then this is generated from the hardware.console.keyMap option.
"Binary form of hardware.console.keyMap."<finix/modules/hardware/console.nix>hardware.console.enable Link copied!
booleanWhether to configure the console at boot.
true<finix/modules/hardware/console.nix>hardware.console.keyMap Link copied!
string or absolute pathThe keyboard mapping table for the virtual consoles. This option may have no effect if hardware.console.binaryKeyMap is set.
"us"<finix/modules/hardware/console.nix>hardware.console.setvesablank Link copied!
booleanTurn VESA screen blanking on or off.
true<finix/modules/hardware/console.nix>hardware.firmware Link copied!
list of packageList 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.
[ ]<finix/modules/hardware>hardware.graphics.enable Link copied!
booleanWhether 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.
false<finix/modules/hardware/graphics.nix>hardware.graphics.enable32Bit Link copied!
booleanOn 64-bit systems, whether to also install 32-bit drivers for 32-bit applications (such as Wine).
false<finix/modules/hardware/graphics.nix>hardware.graphics.extraPackages Link copied!
list of packageAdditional packages to add to the default graphics driver lookup path. This can be used to add OpenCL drivers, VA-API/VDPAU drivers, etc.
Note
intel-media-driver supports hardware Broadwell (2014) or newer. Older hardware should use the mostly unmaintained intel-vaapi-driver driver.
[ ]with pkgs; [ intel-media-driver intel-ocl intel-vaapi-driver ]<finix/modules/hardware/graphics.nix>hardware.graphics.extraPackages32 Link copied!
list of packageAdditional 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.
Note
intel-media-driver supports hardware Broadwell (2014) or newer. Older hardware should use the mostly unmaintained intel-vaapi-driver driver.
[ ]with pkgs.pkgsi686Linux; [ intel-media-driver intel-vaapi-driver ]<finix/modules/hardware/graphics.nix>hardware.i2c.enable Link copied!
booleanWhether to enable support for i2c devices. Access to these devices is granted
to users in the hardware.i2c.group group.
false<finix/modules/hardware/i2c.nix>hardware.i2c.group Link copied!
stringGroup to own the /dev/i2c-* devices.
Note
If you want non-root users to be able to access these i2c devices, add
them to this group.
Note
If left as the default value this group will automatically be created on system activation, otherwise you are responsible for ensuring the group exists before system activation has completed.
"i2c"<finix/modules/hardware/i2c.nix>hardware.nvidia.enable Link copied!
booleanWhether to enable NVIDIA driver support .
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.forceFullCompositionPipeline Link copied!
booleanWhether 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 .
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.gsp.enable Link copied!
booleanWhether to enable the GPU System Processor (GSP) on the video card .
config.hardware.nvidia.open == true || lib.versionAtLeast config.hardware.nvidia.package.version "555"
true<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.modesetting.enable Link copied!
booleanWhether 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. .
lib.versionAtLeast cfg.package.version "535"true<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.open Link copied!
null or booleanWhether to enable the open source NVIDIA kernel module.
if lib.versionOlder config.hardware.nvidia.package.version "560" then false else null
true<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.package Link copied!
unspecified valueThe NVIDIA driver package to use.
config.boot.kernelPackages.nvidiaPackages.stable
"config.boot.kernelPackages.nvidiaPackages.legacy_470"<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.powerManagement.enable Link copied!
booleanWhether to enable experimental power management through systemd. For more information, see the NVIDIA docs, on Chapter 21. Configuring Power Management Support .
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.powerManagement.finegrained Link copied!
booleanWhether 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 .
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.powerManagement.kernelSuspendNotifier Link copied!
booleanWhether 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. .
config.hardware.nvidia.open == true && lib.versionAtLeast config.hardware.nvidia.package.version "595"
true<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.allowExternalGpu Link copied!
booleanWhether to enable configuring X to allow external NVIDIA GPUs when using Prime [Reverse] sync optimus .
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.amdgpuBusId Link copied!
string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?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".
"""PCI:4@0:0:0"<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.intelBusId Link copied!
string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?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".
"""PCI:0@0:2:0"<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.nvidiaBusId Link copied!
string matching the pattern ([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?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".
"""PCI:1@0:0:0"<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.offload.enable Link copied!
booleanWhether 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)
.
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.offload.enableOffloadCmd Link copied!
booleanWhether 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.
.
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.offload.offloadCmdMainProgram Link copied!
stringSpecifies the CLI name of the hardware.nvidia.prime.offload.enableOffloadCmd
convenience script for offloading programs to an nvidia device.
"nvidia-offload""prime-run"<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.reverseSync.enable Link copied!
booleanWhether 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
.
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.reverseSync.setupCommands.enable Link copied!
booleanWhether 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
.
truetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.prime.sync.enable Link copied!
booleanWhether 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
.
falsetrue<finix/modules/hardware/video/nvidia.nix>hardware.nvidia.videoAcceleration Link copied!
booleanWhether to enable Whether video acceleration (VA-API) should be enabled. .
truetrue<finix/modules/hardware/video/nvidia.nix>hardware.uinput.enable Link copied!
booleanWhether to enable uinput support.
false<finix/modules/hardware/uinput.nix>hardware.uinput.group Link copied!
stringGroup to own the uinput devices.
Note
If you want non-root users to be able to access these uinput devices, add
them to this group.
Note
If left as the default value this group will automatically be created on system activation, otherwise you are responsible for ensuring the group exists before system activation has completed.
"uinput"<finix/modules/hardware/uinput.nix>i18n.defaultLocale Link copied!
stringThe default locale. It determines the language for program messages, the format for dates and times, sort order, and so on. It also determines the character set, such as UTF-8.
"en_US.UTF-8""nl_NL.UTF-8"<finix/modules/i18n>i18n.extraLocaleSettings Link copied!
attribute set of stringA set of additional system-wide locale settings other than
LANG which can be configured with
i18n.defaultLocale.
{ }{
LC_MESSAGES = "en_US.UTF-8";
LC_TIME = "de_DE.UTF-8";
}<finix/modules/i18n>i18n.glibcLocales Link copied!
absolute pathCustomized pkg.glibcLocales package.
Changing this option can disable handling of i18n.defaultLocale and supportedLocale.
pkgs.glibcLocales.override {
allLocales = lib.any (x: x == "all") config.i18n.supportedLocales;
locales = config.i18n.supportedLocales;
}
pkgs.glibcLocales<finix/modules/i18n>i18n.supportedLocales Link copied!
list of stringList of locales that the system should support. The value
"all" means that all locales supported by
Glibc will be installed. A full list of supported locales
can be found at <https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED>.
lib.unique
(builtins.map (l: (lib.replaceStrings [ "utf8" "utf-8" "UTF8" ] [ "UTF-8" "UTF-8" "UTF-8" ] l) + "/UTF-8") (
[
"C.UTF-8"
"en_US.UTF-8"
config.i18n.defaultLocale
] ++ (lib.attrValues (lib.filterAttrs (n: v: n != "LANGUAGE") config.i18n.extraLocaleSettings))
))
[
"en_US.UTF-8/UTF-8"
"nl_NL.UTF-8/UTF-8"
"nl_NL/ISO-8859-1"
]<finix/modules/i18n>meta.maintainers Link copied!
list of (maintainer)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.
[ ][ lib.maintainers.alice lib.maintainers.bob ]<finix/modules/nixos/meta-maintainers.nix>networking.hostId Link copied!
null or stringThe 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.
null"4e98920d"<finix/modules/networking>networking.hostName Link copied!
stringThe hostname of this system.
"finix"<finix/modules/networking>networking.hosts Link copied!
attribute set of list of stringLocally defined maps of hostnames to IP addresses.
{ }{
"127.0.0.1" = [ "foo.bar.baz" ];
"192.168.0.2" = [ "fileserver.local" "nameserver.local" ];
};
<finix/modules/networking>nixpkgs.pkgs Link copied!
An evaluation of Nixpkgs; the top level attribute set of packagesThe nixpkgs package set to use for this system.
{ }<finix/modules/nixpkgs>programs.bash.enable Link copied!
booleanWhether to enable bash.
false<finix/modules/programs/bash>programs.bash.package Link copied!
packageThe package to use for bash.
pkgs.bashInteractive<finix/modules/programs/bash>programs.brightnessctl.enable Link copied!
booleanWhether to enable brightnessctl.
false<finix/modules/programs/brightnessctl>programs.brightnessctl.package Link copied!
packageThe package to use for brightnessctl.
pkgs.brightnessctl.override {
logindSupport = config.services.elogind.enable;
udevSupport = config.services.udev.enable;
systemdLibs = config.services.elogind.package;
}
<finix/modules/programs/brightnessctl>programs.coreutils.package Link copied!
packagePackage providing the standard core utilities used by the system.
Most modules should use this option instead of depending directly on
pkgs.coreutils, allowing alternative implementations such as
uutils, busybox, or toybox to be selected globally.
pkgs.coreutilspkgs.busybox<finix/modules/programs/coreutils>programs.dma.enable Link copied!
booleanWhether to enable dma.
false<finix/modules/programs/dma>programs.dma.package Link copied!
packageThe package to use for dma.
pkgs.dma<finix/modules/programs/dma>programs.dma.settings Link copied!
attribute set of (atom (null, bool, int, float or string))dma configuration. See dma(8)
for additional details.
{ }<finix/modules/programs/dma>programs.doas.enable Link copied!
booleanWhether to enable doas.
false<finix/modules/programs/doas>programs.doas.package Link copied!
packageThe package to use for doas.
pkgs.doas<finix/modules/programs/doas>programs.fish.enable Link copied!
booleanWhether to enable fish.
false<finix/modules/programs/fish>programs.fish.package Link copied!
packageThe package to use for fish.
pkgs.fish<finix/modules/programs/fish>programs.gamemode.enable Link copied!
booleanWhether to enable gamemode.
false<finix/modules/programs/gamemode>programs.gamemode.package Link copied!
packageThe package to use for gamemode.
pkgs.gamemode<finix/modules/programs/gamemode>programs.gamemode.settings Link copied!
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)gamemode configuration. See gamemoded(8)
for additional details.
{ }{
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'";
};
}
<finix/modules/programs/gamemode>programs.gnome-keyring.enable Link copied!
booleanWhether to enable gnome-keyring.
false<finix/modules/programs/gnome-keyring>programs.hyprland.enable Link copied!
booleanWhether to enable hyprland.
false<finix/modules/programs/hyprland>programs.hyprland.package Link copied!
packageThe package to use for hyprland.
pkgs.hyprland<finix/modules/programs/hyprland>programs.hyprlock.enable Link copied!
booleanWhether to enable hyprlock.
false<finix/modules/programs/hyprlock>programs.hyprlock.package Link copied!
packageThe package to use for hyprlock.
pkgs.hyprlock<finix/modules/programs/hyprlock>programs.ifupdown-ng.auto Link copied!
list of stringDesignates interfaces that should be automatically configured by the system when appropriate.
[ ][
"eth0"
"br0"
]<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.enable Link copied!
booleanWhether to enable ifupdown-ng.
false<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.extraArgs Link copied!
list of stringAdditional arguments to pass to ifupdown-ng. See ifupdown-ng(8)
for additional details.
[ ][
"--timeout"
"60"
]<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.iface Link copied!
attribute set of (open submodule of attribute set of (boolean or string or list of string))/etc/network/interfaces configuration. See interfaces(5)
for additional details.
{ }{
eth0 = {
address = [ "203.0.113.2/24" "2001:db8::2/64" ];
gateway = "203.0.113.1";
use = "dhcp";
};
br0 = {
address = "10.0.0.1/24";
bridge-ports = "eth0 eth1";
bridge-stp = true;
};
}
<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.iface.<name>.address Link copied!
null or ((list of string) or string convertible to it)Associates an IPv4 or IPv6 address in CIDR notation with the parent interface.
null[
"203.0.113.2/24"
"2001:db8::2/64"
]<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.iface.<name>.gateway Link copied!
null or ((list of string) or string convertible to it)Associates an IPv4 or IPv6 address with the parent interface for use as a default route (gateway).
null[
"203.0.113.1"
"2001:db8::1"
]<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.iface.<name>.requires Link copied!
null or ((list of string) or string convertible to it)Designates one or more required interfaces that must be brought up before configuration of the parent interface. Interfaces associated with the parent are taken down at the same time as the parent.
null[
"eth0"
"eth1"
]<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.iface.<name>.use Link copied!
null or ((list of string) or string convertible to it)Designates that an executor should be used. See EXECUTORS section for more information on executors.
null[
"dhcp"
"bridge"
]<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.package Link copied!
packageThe package to use for ifupdown-ng.
pkgs.ifupdown-ng<finix/modules/programs/ifupdown-ng>programs.ifupdown-ng.settings Link copied!
attribute set of (atom (null, bool, int, float or string))ifupdown-ng configuration. See ifupdown-ng.conf(5)
for additional details.
{ }<finix/modules/programs/ifupdown-ng>programs.labwc.enable Link copied!
booleanWhether to enable labwc.
false<finix/modules/programs/labwc>programs.labwc.package Link copied!
packageThe package to use for labwc.
pkgs.labwc<finix/modules/programs/labwc>programs.limine.additionalFiles Link copied!
attribute set of absolute pathA 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.
{ }{ "efi/memtest86/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi"; }
<finix/modules/programs/limine>programs.limine.biosDevice Link copied!
stringDevice to install the BIOS version of limine on.
"nodev"<finix/modules/programs/limine>programs.limine.biosSupport Link copied!
booleanWhether or not to install limine for BIOS.
!config.programs.limine.efiSupport && pkgs.stdenv.hostPlatform.isx86true<finix/modules/programs/limine>programs.limine.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/programs/limine>programs.limine.efiInstallAsRemovable Link copied!
booleanWhether or not to install the limine EFI files as removable.
See boot.loader.grub.efiInstallAsRemovable
!config.boot.loader.efi.canTouchEfiVariablestrue<finix/modules/programs/limine>programs.limine.efiSupport Link copied!
booleanWhether or not to install the limine EFI files.
pkgs.stdenv.hostPlatform.isEfitrue<finix/modules/programs/limine>programs.limine.enable Link copied!
booleanWhether to enable limine as the system bootloader.
false<finix/modules/programs/limine>programs.limine.enrollConfig Link copied!
booleanWhether or not to enroll the config. Only works on EFI!
programs.limine.settings.hash_mismatch_panictrue<finix/modules/programs/limine>programs.limine.extraEntries Link copied!
strings concatenated with "\n"A string which is appended to the end of limine.conf. The config format can be found here.
""/memtest86
protocol: chainload
path: boot():///efi/memtest86/memtest86.efi
<finix/modules/programs/limine>programs.limine.force Link copied!
booleanForce installation even if the safety checks fail, use absolutely only if necessary!
falsetrue<finix/modules/programs/limine>programs.limine.maxGenerations Link copied!
null or signed integerMaximum 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.
null50<finix/modules/programs/limine>programs.limine.package Link copied!
packageThe package to use for limine.
pkgs.limine<finix/modules/programs/limine>programs.limine.partitionIndex Link copied!
null or signed integerThe 1-based index of the dedicated partition for limine's second stage.
null<finix/modules/programs/limine>programs.limine.secureBoot.autoEnrollKeys.enable Link copied!
booleanEnroll automatically generated keys.
falsetrue<finix/modules/programs/limine>programs.limine.secureBoot.autoEnrollKeys.extraArgs Link copied!
list of stringExtra arguments passed to sbctl.
[
"--microsoft"
"--firmware-builtin"
]<finix/modules/programs/limine>programs.limine.secureBoot.autoGenerateKeys Link copied!
booleanGenerate keys automatically when none exists during bootloader installation.
falsetrue<finix/modules/programs/limine>programs.limine.secureBoot.enable Link copied!
booleanWhether to sign the limine binary with sbctl.
Note
Requires pre-generated secure boot keys. See programs.limine.secureBoot.autoGenerateKeys
and programs.limine.secureBoot.autoEnrollKeys to automate key management.
falsetrue<finix/modules/programs/limine>programs.limine.secureBoot.sbctl Link copied!
packageThe sbctl package to use.
pkgs.sbctl<finix/modules/programs/limine>programs.limine.settings Link copied!
open submodule of attribute set of (atom (null, bool, int, float or string))limine configuration. See upstream documentation
for additional details.
{ }<finix/modules/programs/limine>programs.limine.settings.editor_enabled Link copied!
booleanIf set to false, the editor will not be accessible.
Note
It is recommended to set this to false, as it allows gaining root
access by passing init=/bin/sh as a kernel parameter.
false<finix/modules/programs/limine>programs.limine.settings.hash_mismatch_panic Link copied!
booleanIf set to false, do not panic if there is a hash mismatch for a file, but print a warning instead.
false<finix/modules/programs/limine>programs.limine.settings.timeout Link copied!
signed integer or value "no" (singular enum)Specifies the timeout in seconds before the first entry is automatically booted. If set
to "no", disable automatic boot. If set to 0, boots default entry instantly.
5<finix/modules/programs/limine>programs.limine.settings.wallpaper Link copied!
list of absolute pathA list of wallpapers. If more than one is specified, a random one will be selected at boot.
[ ][ pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath ]<finix/modules/programs/limine>programs.limine.settings.wallpaper_style Link copied!
one of "centered", "stretched", "tiled"The style which will be used to display the wallpaper image.
"stretched"<finix/modules/programs/limine>programs.limine.validateChecksums Link copied!
booleanWhether to validate file checksums before booting.
truetrue<finix/modules/programs/limine>programs.lxqt.enable Link copied!
booleanWhether to enable LXQt.
false<finix/modules/programs/lxqt>programs.lxqt.excludePackages Link copied!
list of packageWhich LXQt packages to exclude from the default environment.
[ ]<finix/modules/programs/lxqt>programs.lxqt.extraPackages Link copied!
list of packageExtra packages to be installed system wide.
[ ]<finix/modules/programs/lxqt>programs.lxqt.iconTheme Link copied!
packageThe package that provides a default icon theme.
pkgs.kdePackages.breeze-icons<finix/modules/programs/lxqt>programs.lxqt.wayland.compositor Link copied!
packageThe default Wayland compositor package to use.
pkgs.labwc<finix/modules/programs/lxqt>programs.lxqt.wayland.enable Link copied!
booleanWhether to enable the LXQt desktop environment's Wayland session.
true<finix/modules/programs/lxqt>programs.lxqt.xsession.enable Link copied!
booleanWhether to enable the LXQt desktop environment's X11 session.
false<finix/modules/programs/lxqt>programs.lxqt.xsession.windowManager Link copied!
packageThe default X11 window manager package to use.
pkgs.openbox<finix/modules/programs/lxqt>programs.mangowc.enable Link copied!
booleanWhether to enable mangowc.
false<finix/modules/programs/mangowc>programs.mangowc.package Link copied!
packageThe package to use for mangowc.
pkgs.mangowc<finix/modules/programs/mangowc>programs.micro.defaultEditor Link copied!
booleanWhether to configure micro as the
default editor using the EDITOR environment variable.
false<finix/modules/programs/micro>programs.micro.enable Link copied!
booleanWhether to enable micro.
false<finix/modules/programs/micro>programs.micro.package Link copied!
packageThe package to use for micro.
pkgs.micro<finix/modules/programs/micro>programs.nano.defaultEditor Link copied!
booleanWhether to configure nano as the
default editor using the EDITOR environment variable.
false<finix/modules/programs/nano>programs.nano.enable Link copied!
booleanWhether to enable nano.
false<finix/modules/programs/nano>programs.nano.package Link copied!
packageThe package to use for nano.
pkgs.nano<finix/modules/programs/nano>programs.niri.enable Link copied!
booleanWhether to enable niri.
false<finix/modules/programs/niri>programs.niri.package Link copied!
packageThe package to use for niri.
pkgs.niri<finix/modules/programs/niri>programs.nvidia-settings.enable Link copied!
booleanWhether to enable nvidia-settings.
false<finix/modules/programs/nvidia-settings>programs.nvidia-settings.package Link copied!
packageThe package to use for nvidia-settings.
config.hardware.nvidia.package.settings<finix/modules/programs/nvidia-settings>programs.plymouth.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/programs/plymouth>programs.plymouth.enable Link copied!
booleanWhether to enable plymouth.
false<finix/modules/programs/plymouth>programs.plymouth.font Link copied!
absolute pathFont file made available for displaying text on the splash screen.
"${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf"<finix/modules/programs/plymouth>programs.plymouth.package Link copied!
packageThe package to use for plymouth.
pkgs.plymouth<finix/modules/programs/plymouth>programs.plymouth.settings Link copied!
open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))plymouthd configuration. See plymouthd(8)
for additional details.
{ }<finix/modules/programs/plymouth>programs.plymouth.settings.Daemon.Theme Link copied!
stringThe name of the plymouth theme to use. Must match the directory name
of the theme within the theme package specified by programs.plymouth.theme.
"finix-theme"<finix/modules/programs/plymouth>programs.plymouth.theme Link copied!
packageThe package containing a plymouth theme.
pkgs.plymouth-finix-theme<finix/modules/programs/plymouth>programs.pmount.enable Link copied!
booleanWhether to enable pmount.
false<finix/modules/programs/pmount>programs.pmount.package Link copied!
packageThe package to use for pmount.
pkgs.pmount<finix/modules/programs/pmount>programs.regreet.compositor.environment Link copied!
attribute set of stringEnvironment variables to pass to cage. See upstream documentation
for additional details.
{ }{
XKB_DEFAULT_LAYOUT = "us";
XKB_DEFAULT_VARIANT = "dvorak";
}<finix/modules/programs/regreet>programs.regreet.compositor.extraArgs Link copied!
list of stringAdditional arguments to pass to cage. See upstream documentation
for additional details.
[
"-s"
]<finix/modules/programs/regreet>programs.regreet.compositor.package Link copied!
packageThe package to use for cage.
pkgs.cage<finix/modules/programs/regreet>programs.regreet.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/programs/regreet>programs.regreet.enable Link copied!
booleanWhether to enable regreet.
Note
regreet will be run using cage as a compositor
and can be configured using the programs.regreet.compositor.* options.
false<finix/modules/programs/regreet>programs.regreet.package Link copied!
packageThe package to use for regreet.
pkgs.regreet<finix/modules/programs/regreet>programs.regreet.settings Link copied!
TOML valueregreet configuration. See upstream documentation
for additional details.
{ }<finix/modules/programs/regreet>programs.resolvconf.enable Link copied!
booleanWhether to enable resolvconf.
false<finix/modules/programs/resolvconf>programs.resolvconf.package Link copied!
packageThe package to use for resolvconf.
pkgs.openresolv<finix/modules/programs/resolvconf>programs.resolvconf.settings Link copied!
attribute set of (atom (null, bool, int, float or string) or a non-empty list of them)resolvconf configuration. See resolvconf.conf(5)
for additional details.
{ }<finix/modules/programs/resolvconf>programs.seahorse.enable Link copied!
booleanWhether to enable seahorse.
false<finix/modules/programs/seahorse>programs.shadow.enable Link copied!
booleanWhether to enable shadow.
Warning
The shadow authentication suite provides critical programs such as su, login, passwd.
true<finix/modules/programs/shadow>programs.shadow.package Link copied!
packageThe package to use for shadow.
pkgs.shadow<finix/modules/programs/shadow>programs.shadow.settings Link copied!
open submodule of attribute set of (atom (null, bool, int, float or string))shadow configuration. See login.defs(5)
for additional details.
{ }<finix/modules/programs/shadow>programs.shadow.settings.DEFAULT_HOME Link copied!
one of "yes", "no"Indicate if login is allowed if we can't cd to the home directory.
"yes"<finix/modules/programs/shadow>programs.shadow.settings.ENCRYPT_METHOD Link copied!
one of "YESCRYPT", "SHA512", "SHA256", "MD5", "DES"This defines the system default encryption algorithm for encrypting passwords.
"YESCRYPT"<finix/modules/programs/shadow>programs.shadow.settings.GID_MAX Link copied!
signed integerRange of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.
29999<finix/modules/programs/shadow>programs.shadow.settings.GID_MIN Link copied!
signed integerRange of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.
1000<finix/modules/programs/shadow>programs.shadow.settings.SYS_GID_MAX Link copied!
signed integerRange of group IDs used for the creation of system groups by useradd, groupadd, or newusers
999<finix/modules/programs/shadow>programs.shadow.settings.SYS_GID_MIN Link copied!
signed integerRange of group IDs used for the creation of system groups by useradd, groupadd, or newusers
400<finix/modules/programs/shadow>programs.shadow.settings.SYS_UID_MAX Link copied!
signed integerRange of user IDs used for the creation of system users by useradd or newusers.
999<finix/modules/programs/shadow>programs.shadow.settings.SYS_UID_MIN Link copied!
signed integerRange of user IDs used for the creation of system users by useradd or newusers.
400<finix/modules/programs/shadow>programs.shadow.settings.TTYGROUP Link copied!
stringThe terminal permissions: the login tty will be owned by the TTYGROUP group, and the permissions will be set to TTYPERM.
"tty"<finix/modules/programs/shadow>programs.shadow.settings.TTYPERM Link copied!
stringThe terminal permissions: the login tty will be owned by the TTYGROUP group, and the permissions will be set to TTYPERM.
"0620"<finix/modules/programs/shadow>programs.shadow.settings.UID_MAX Link copied!
signed integerRange of user IDs used for the creation of regular users by useradd or newusers.
29999<finix/modules/programs/shadow>programs.shadow.settings.UID_MIN Link copied!
signed integerRange of user IDs used for the creation of regular users by useradd or newusers.
1000<finix/modules/programs/shadow>programs.shadow.settings.UMASK Link copied!
stringThe file mode creation mask is initialized to this value.
"077"<finix/modules/programs/shadow>programs.sudo.enable Link copied!
booleanWhether to enable sudo.
false<finix/modules/programs/sudo>programs.sudo.package Link copied!
packageThe package to use for sudo.
pkgs.sudo<finix/modules/programs/sudo>programs.sway.enable Link copied!
booleanWhether to enable sway.
false<finix/modules/programs/sway>programs.sway.package Link copied!
packageThe package to use for sway.
pkgs.sway<finix/modules/programs/sway>programs.tuigreet.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/programs/tuigreet>programs.tuigreet.enable Link copied!
booleanWhether to enable tuigreet.
false<finix/modules/programs/tuigreet>programs.tuigreet.extraArgs Link copied!
list of stringAdditional arguments to pass to tuigreet. See tuigreet(1)
for additional details.
[
"--time"
]<finix/modules/programs/tuigreet>programs.tuigreet.package Link copied!
packageThe package to use for tuigreet.
pkgs.tuigreet<finix/modules/programs/tuigreet>programs.virtualbox.enable Link copied!
booleanWhether to enable virtualbox.
Note
In order to pass USB devices from the host to guests, a user
needs to be added to the vboxusers group.
false<finix/modules/programs/virtualbox>programs.virtualbox.package Link copied!
packageThe package to use for virtualbox.
pkgs.virtualbox<finix/modules/programs/virtualbox>programs.xwayland-satellite.enable Link copied!
booleanWhether to enable xwayland-satellite.
false<finix/modules/programs/xwayland-satellite>programs.xwayland-satellite.package Link copied!
packageThe package to use for xwayland-satellite.
pkgs.xwayland-satellite<finix/modules/programs/xwayland-satellite>programs.zzz.enable Link copied!
booleanWhether to enable zzz.
false<finix/modules/programs/zzz>programs.zzz.package Link copied!
packageThe package to use for zzz.
pkgs.zzz<finix/modules/programs/zzz>providers.bootloader.backend Link copied!
one of "limine", "none"The selected module which should implement functionality for the providers.bootloader contract.
"none"providers.bootloader.installHook Link copied!
absolute pathThe 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.
pkgs.writeShellScript "no-bootloader" ''
echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2
''
<finix/modules/providers/bootloader>providers.privileges.backend Link copied!
one of "sudo", "doas", "none"The selected module which should implement functionality for the providers.privileges contract.
"none"providers.privileges.command Link copied!
main program, path or commandThe command to be used by modules requiring privilege escalation.
"/run/wrappers/bin/sudo"<finix/modules/providers/privileges>providers.privileges.rules Link copied!
list of (submodule)A list of rules which provide a way to temporarily elevate the privileges of a command for a given user or group.
[ ]<finix/modules/providers/privileges>providers.privileges.rules.*.args Link copied!
list of stringArguments that must be provided to the command. When empty, the command must be run without any arguments.
[ ]<finix/modules/providers/privileges>providers.privileges.rules.*.command Link copied!
main program, path or commandThe command the user or group members are allowed to run.
Note
It is best practice to specify absolute paths.
<finix/modules/providers/privileges>providers.privileges.rules.*.groups Link copied!
list of non-empty stringThe groups that are able to run this command.
[ ]<finix/modules/providers/privileges>providers.privileges.rules.*.requirePassword Link copied!
booleanWhether the user is required to enter a password.
true<finix/modules/providers/privileges>providers.privileges.rules.*.runAs Link copied!
non-empty stringThe user the command is allowed to run as, or "*" for allowing the command to run as any user.
"root"<finix/modules/providers/privileges>providers.privileges.rules.*.users Link copied!
list of non-empty stringThe users that are able to run this command.
[ ]<finix/modules/providers/privileges>providers.resumeAndSuspend.backend Link copied!
one of "zzz", "none"The selected module which should implement functionality for the providers.resumeAndSuspend contract.
"none"providers.resumeAndSuspend.hooks Link copied!
attribute set of (submodule)A set of hooks which are to be run on system suspend, hibernate or resume.
{ }<finix/modules/providers/resume-and-suspend>providers.resumeAndSuspend.hooks.<name>.action Link copied!
strings concatenated with "\n"Shell commands to execute when the event is triggered.
""<finix/modules/providers/resume-and-suspend>providers.resumeAndSuspend.hooks.<name>.enable Link copied!
booleanWhether this hook should be executed on the given event.
true<finix/modules/providers/resume-and-suspend>providers.resumeAndSuspend.hooks.<name>.event Link copied!
one of "suspend", "resume", "hibernate"The event type.
<finix/modules/providers/resume-and-suspend>providers.resumeAndSuspend.hooks.<name>.priority Link copied!
integer between 0 and 9999 (both inclusive)Order of this hook in relation to the others. The semantics are
the same as with lib.mkOrder. Smaller values are inserted first.
1000<finix/modules/providers/resume-and-suspend>providers.scheduler.backend Link copied!
one of "fcron", "none", "cron", "anacron"The selected module which should implement functionality for the providers.scheduler contract.
"none"providers.scheduler.supportedFeatures.user Link copied!
booleanWhether the selected providers.scheduler implementation supports running tasks as
a specified user.
<finix/modules/providers/scheduler>providers.scheduler.tasks Link copied!
attribute set of (submodule)A set of tasks which are to be run at specified intervals.
{ }<finix/modules/providers/scheduler>providers.scheduler.tasks.<name>.command Link copied!
main program, path or commandThe command this task should execute at specified intervals.
<finix/modules/providers/scheduler>providers.scheduler.tasks.<name>.interval Link copied!
stringThe interval at which this task should run its specified command. Accepts either a
standard crontab(5) expression or one of: hourly, daily, weekly, monthly, or yearly.
If a standard crontab(5) expression is provided this value will be passed directly
to the scheduler implementation and execute exactly as specified.
If one of the special values, hourly, daily, monthly, weekly, or yearly, is provided then the
underlying scheduler implementation will use its features to decide when best to run.
"15 * * * *"<finix/modules/providers/scheduler>providers.scheduler.tasks.<name>.user Link copied!
null or stringThe user this task should run as, subject to provider.scheduler implementation
capabilities. See providers.scheduler.supportedFeatures and your selected backend
implementation for additional details.
null<finix/modules/providers/scheduler>security.pam.debug Link copied!
booleanThis option has no description.
false<finix/modules/security/pam>security.pam.enable Link copied!
booleanThis option has no description.
true<finix/modules/security/pam>security.pam.environment Link copied!
attribute set of (submodule)Set of rules for pam_env(8).
{ }<finix/modules/security/pam>security.pam.environment.<name>.default Link copied!
null or ((list of (signed integer or string or absolute path)) or (signed integer or string or absolute path) convertible to it)The DEFAULT environment variables to be set, unset or modified by pam_env(8). See
pam_env.conf(5) for additional details.
null<finix/modules/security/pam>security.pam.environment.<name>.override Link copied!
null or ((list of (signed integer or string or absolute path)) or (signed integer or string or absolute path) convertible to it)The environment variables to be set, unset or modified by pam_env(8). See pam_env.conf(5) for additional details.
null<finix/modules/security/pam>security.pam.package Link copied!
packageThis option has no description.
<derivation linux-pam-1.7.1><finix/modules/security/pam>security.pam.services Link copied!
attribute set of (submodule)This option has no description.
{ }<finix/modules/security/pam>security.pam.services.<name>.enable Link copied!
booleanThis option has no description.
true<finix/modules/security/pam>security.pam.services.<name>.name Link copied!
stringThis option has no description.
"‹name›"<finix/modules/security/pam>security.pam.services.<name>.text Link copied!
strings concatenated with "\n"This option has no description.
<finix/modules/security/pam>security.pki.caBundle Link copied!
absolute path(Read-only) the path to the final bundle of certificate authorities as a single file.
<finix/modules/nixos/ca.nix>security.pki.caCertificateBlacklist Link copied!
list of stringA list of blacklisted CA certificate names that won't be imported from
the Mozilla Trust Store into
/etc/ssl/certs/ca-certificates.crt. Use the
names from that file.
[ ][
"WoSign"
"WoSign China"
"CA WoSign ECC Root"
"Certification Authority of WoSign G2"
]<finix/modules/nixos/ca.nix>security.pki.certificateFiles Link copied!
list of absolute pathA list of files containing trusted root certificates in PEM
format. These are concatenated to form
/etc/ssl/certs/ca-certificates.crt, which is
used by many programs that use OpenSSL, such as
curl and git.
[ ][ "${pkgs.dn42-cacert}/etc/ssl/certs/dn42-ca.crt" ]<finix/modules/nixos/ca.nix>security.pki.certificates Link copied!
list of stringA list of trusted root certificates in PEM format.
[ ][ ''
NixOS.org
=========
-----BEGIN CERTIFICATE-----
MIIGUDCCBTigAwIBAgIDD8KWMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJ
TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0
...
-----END CERTIFICATE-----
''
]
<finix/modules/nixos/ca.nix>security.pki.useCompatibleBundle Link copied!
booleanWhether to enable usage of a compatibility bundle.
Such a bundle consists exclusively of BEGIN CERTIFICATE and no BEGIN TRUSTED CERTIFICATE,
which is an OpenSSL specific PEM format.
It is known to be incompatible with certain software stacks.
Nevertheless, enabling this will strip all additional trust rules provided by the certificates themselves. This can have security consequences depending on your usecases .
falsetrue<finix/modules/nixos/ca.nix>security.wrapperDirSize Link copied!
stringSize limit for the /run/wrappers tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax. WARNING: don't set to less than 64MB.
"50%""10G"<finix/modules/security/wrappers>security.wrappers Link copied!
attribute set of (submodule)This option effectively allows adding setuid/setgid bits, capabilities,
changing file ownership and permissions of a program without directly
modifying it. This works by creating a wrapper program under the
security.wrapperDir directory, which is then added to
the shell PATH.
{ }<finix/modules/security/wrappers>security.wrappers.<name>.capabilities Link copied!
strings concatenated with ","A comma-separated list of capability clauses to be given to the wrapper program. The format for capability clauses is described in the “TEXTUAL REPRESENTATION” section of the cap_from_text(3) manual page. For a list of capabilities supported by the system, check the capabilities(7) manual page.
Note
cap_setpcap, which is required for the wrapper
program to be able to raise caps into the Ambient set is NOT raised
to the Ambient set so that the real program cannot modify its own
capabilities!! This may be too restrictive for cases in which the
real program needs cap_setpcap but it at least leans on the side
security paranoid vs. too relaxed.
""<finix/modules/security/wrappers>security.wrappers.<name>.enable Link copied!
booleanWhether to enable the wrapper.
true<finix/modules/security/wrappers>security.wrappers.<name>.group Link copied!
stringThe group of the wrapper program.
<finix/modules/security/wrappers>security.wrappers.<name>.owner Link copied!
stringThe owner of the wrapper program.
<finix/modules/security/wrappers>security.wrappers.<name>.permissions Link copied!
file mode stringThe permissions of the wrapper program. The format is that of a
symbolic or numeric file mode understood by chmod.
"u+rx,g+x,o+x""a+rx"<finix/modules/security/wrappers>security.wrappers.<name>.program Link copied!
null or stringThe name of the wrapper program. Defaults to the attribute name.
"‹name›"<finix/modules/security/wrappers>security.wrappers.<name>.setgid Link copied!
booleanWhether to add the setgid bit the wrapper program.
false<finix/modules/security/wrappers>security.wrappers.<name>.setuid Link copied!
booleanWhether to add the setuid bit the wrapper program.
false<finix/modules/security/wrappers>security.wrappers.<name>.source Link copied!
absolute pathThe absolute path to the program to be wrapped.
<finix/modules/security/wrappers>services.accounts-daemon.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/accounts-daemon>services.accounts-daemon.enable Link copied!
booleanWhether to enable accountsservice as a system service.
false<finix/modules/services/accounts-daemon>services.accounts-daemon.package Link copied!
packageThe package to use for accountsservice.
pkgs.accountsservice<finix/modules/services/accounts-daemon>services.acpid.enable Link copied!
booleanWhether to enable acpid as a system service.
false<finix/modules/services/acpid>services.acpid.handlers Link copied!
attribute set of (submodule)This option has no description.
{ }<finix/modules/services/acpid>services.acpid.handlers.<name>.action Link copied!
strings concatenated with "\n"Shell commands to execute when the event is triggered.
<finix/modules/services/acpid>services.acpid.handlers.<name>.enable Link copied!
booleanThis option has no description.
true<finix/modules/services/acpid>services.acpid.handlers.<name>.event Link copied!
stringEvent type.
"button/power.*" "button/lid.*" "ac_adapter.*" "button/mute.*" "button/volumedown.*" "cd/play.*" "cd/next.*"<finix/modules/services/acpid>services.anacron.enable Link copied!
booleanWhether to enable anacron as a system service.
Note
The cron module will also be imported and services.cron.enable set
to true.
false<finix/modules/services/anacron>services.anacron.extraArgs Link copied!
list of stringAdditional arguments to pass to anacron. See anacron(8)
for additional details.
[ ][
"-s"
]<finix/modules/services/anacron>services.anacron.package Link copied!
packageThe package to use for anacron.
pkgs.cronie<finix/modules/services/anacron>services.anacron.settings Link copied!
open submodule of attribute set of stringanacrontab configuration. See anacrontab(5)
for additional details.
{ }<finix/modules/services/anacron>services.anacron.settings.NO_MAIL_OUTPUT Link copied!
null or signed integerIf defined (and non-empty), the standard output and error descriptors of job processes are not redirected and e-mailed.
null<finix/modules/services/anacron>services.anacron.settings.PREFERRED_HOUR Link copied!
null or signed integerPreferred hour of start of the job. If the hour is missed job will be skipped.
null<finix/modules/services/anacron>services.anacron.settings.RANDOM_DELAY Link copied!
null or signed integerAllows delaying job startups by random amount of minutes with upper limit specified by this value. The random scaling factor is determined during the cron daemon startup so it remains constant for the whole run time of the daemon.
The maximum number of minutes that will be added to the delay in minutes variable which
is specified for each job. A RANDOM_DELAY set to 12 would therefore add, randomly,
between 0 and 12 minutes to the delay in minutes for each job in that particular
anacrontab. When set to 0, no random delay is added.
null<finix/modules/services/anacron>services.anacron.settings.START_HOURS_RANGE Link copied!
null or string matching the pattern ^([[:digit:]]+)-([[:digit:]]+)$An interval (in hours) when scheduled jobs can be run. In case this time interval is missed, for example, due to a power down, then scheduled jobs are not executed that day.
null<finix/modules/services/anacron>services.anacron.systab Link copied!
list of non-empty stringA list of anacron jobs to be appended to the system-wide anacrontab.
[ ]<finix/modules/services/anacron>services.atd.allow Link copied!
null or (list of string)Users allowed to use at. See at.allow(5)
for additional details.
null<finix/modules/services/atd>services.atd.deny Link copied!
null or (list of string)Users who are not allowed to use at. See at.deny(5)
for additional details.
[ ]<finix/modules/services/atd>services.atd.enable Link copied!
booleanWhether to enable atd as a system service.
false<finix/modules/services/atd>services.atd.extraArgs Link copied!
list of stringAdditional arguments to pass to atd. See atd(8)
for additional details.
[ ]<finix/modules/services/atd>services.blocky.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/blocky>services.blocky.enable Link copied!
booleanWhether to enable blocky as a system service.
false<finix/modules/services/blocky>services.blocky.group Link copied!
stringGroup account under which blocky runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the blocky service starts.
"blocky"<finix/modules/services/blocky>services.blocky.package Link copied!
packageThe package to use for blocky.
pkgs.blocky<finix/modules/services/blocky>services.blocky.settings Link copied!
YAML 1.1 valueblocky configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/blocky>services.blocky.user Link copied!
stringUser account under which blocky runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the blocky service starts.
"blocky"<finix/modules/services/blocky>services.bluetooth.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/bluetooth>services.bluetooth.enable Link copied!
booleanWhether to enable bluez as a system service.
false<finix/modules/services/bluetooth>services.bluetooth.package Link copied!
packageThe package to use for bluez.
pkgs.bluez<finix/modules/services/bluetooth>services.bluetooth.settings Link copied!
attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))bluez configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/bluetooth>services.chrony.configFile Link copied!
absolute pathThis option has no description.
<derivation chrony.conf><finix/modules/services/chronyd>services.chrony.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/chronyd>services.chrony.enable Link copied!
booleanWhether to enable chrony as a system service.
false<finix/modules/services/chronyd>services.chrony.extraArgs Link copied!
list of stringAdditional arguments to pass to dropbear. See chronyd(8)
for additional details.
[ ]<finix/modules/services/chronyd>services.chrony.package Link copied!
packageThe package to use for chrony.
pkgs.chrony<finix/modules/services/chronyd>services.cron.enable Link copied!
booleanWhether to enable cron as a system service.
false<finix/modules/services/cron>services.cron.extraArgs Link copied!
list of stringAdditional arguments to pass to cron. See cron(8)
for additional details.
[ ][
"-s"
]<finix/modules/services/cron>services.cron.package Link copied!
packageThe package to use for cron.
pkgs.croniepkgs.cron.override {
sendmailPath = "/run/wrappers/bin/sendmail";
};
<finix/modules/services/cron>services.cron.settings Link copied!
open submodule of attribute set of stringcrontab configuration. See crontab(5)
for additional details.
{ }<finix/modules/services/cron>services.cron.settings.CONTENT_TRANSFER_ENCODING Link copied!
null or stringThe encoding for email notifications. This is useful for properly displaying special characters or when sending emails in a format other than plain text.
null<finix/modules/services/cron>services.cron.settings.CONTENT_TYPE Link copied!
null or stringThe MIME type and character encoding for the output of a cron job when it is sent via email. This allows the mail client to properly display the output, especially if it contains rich text or is not plain ASCII.
null<finix/modules/services/cron>services.cron.settings.CRON_TZ Link copied!
null or stringThe time zone specific for the cron table. The user should enter a time according to the
specified time zone into the table. The time used for writing into a log file is taken from
the local time zone, where the daemon is running.
nullconfig.time.timeZone<finix/modules/services/cron>services.cron.settings.MAILFROM Link copied!
null or non-empty stringIf MAILFROM is defined (and non-empty), it is used as the envelope sender
address, otherwise, the username of the executing user is used.
Note
This variable is also inherited from the cron process environment.
Note
Both MAILFROM and MAILTO variables are expanded, so setting them as in the following
example works as expected:
MAILFROM=cron-$USER@cron.com
$USER is replaced by the system user.
null<finix/modules/services/cron>services.cron.settings.MAILTO Link copied!
null or stringIf MAILTO is defined (and non-empty), mail is sent to the specified address. If MAILTO
is defined but empty (MAILTO = "";), no mail is sent. Otherwise, mail is sent to the owner
of the crontab.
null<finix/modules/services/cron>services.cron.settings.PATH Link copied!
list of (absolute path or package)Packages added to the cron PATH environment variable.
[
/run/wrappers
config.programs.coreutils.package
]
<finix/modules/services/cron>services.cron.settings.RANDOM_DELAY Link copied!
null or signed integerAllows delaying job startups by random amount of minutes with upper limit specified by this value. The random scaling factor is determined during the cron daemon startup so it remains constant for the whole run time of the daemon.
null<finix/modules/services/cron>services.cron.settings.SHELL Link copied!
absolute pathThe shell used to execute commands.
lib.getExe pkgs.bash<finix/modules/services/cron>services.cron.systab Link copied!
list of non-empty stringA list of cron jobs to be appended to the system-wide crontab.
[ ][ "* * * * * test ls -l / > /tmp/cronout 2>&1"
"* * * * * eelco echo Hello World > /home/eelco/cronout"
]
<finix/modules/services/cron>services.dbus.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/dbus>services.dbus.enable Link copied!
booleanWhether to enable dbus as a system service.
false<finix/modules/services/dbus>services.dbus.package Link copied!
packageThe package to use for dbus.
pkgs.dbus<finix/modules/services/dbus>services.dbus.packages Link copied!
list of absolute pathPackages whose D-Bus configuration files should be included in
the configuration of the D-Bus system-wide or session-wide
message bus. Specifically, files in the following directories
will be included into their respective DBus configuration paths:
«pkg»/etc/dbus-1/system.dfile}«pkg»/share/dbus-1/system.d
«pkg»/share/dbus-1/system-servicesfile}«pkg»/etc/dbus-1/session.d
«pkg»/share/dbus-1/session.dfile}«pkg»/share/dbus-1/services
[ ]<finix/modules/services/dbus>services.ddccontrol.enable Link copied!
booleanWhether to enable ddccontrol as a system service.
false<finix/modules/services/ddccontrol>services.dhcpcd.configFile Link copied!
absolute pathThis option has no description.
"configuration file generated by nixos"<finix/modules/services/dhcpcd>services.dhcpcd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/dhcpcd>services.dhcpcd.enable Link copied!
booleanWhether to enable dhcpcd as a system service.
false<finix/modules/services/dhcpcd>services.dhcpcd.extraArgs Link copied!
list of stringAdditional arguments to pass to dhcpcd. See dhcpcd(8)
for additional details.
[ ]<finix/modules/services/dhcpcd>services.dhcpcd.package Link copied!
packageThe package to use for dhcpcd.
pkgs.dhcpcd.override {
withUdev = config.services.udev.enable;
}
<finix/modules/services/dhcpcd>services.dhcpcd.settings Link copied!
open submodule of attribute set of (atom (null, bool, int, float or string) or a non-empty list of them)dhcpcd configuration. See dhcpcd.conf(5)
for additional details.
{ }<finix/modules/services/dhcpcd>services.dhcpcd.settings.background Link copied!
null or booleanFork to the background immediately.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.broadcast Link copied!
null or booleanInstructs the DHCP server to broadcast replies back to the client.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.duid Link copied!
null or booleanUse a DHCP Unique Identifier.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.hostname Link copied!
null or stringSends the hostname name to the DHCP server so it can be registered in DNS.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.hostname_short Link copied!
null or booleanSends the short hostname to the DHCP server instead of the FQDN.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.ipv4only Link copied!
null or booleanOnly configure IPv4.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.ipv6only Link copied!
null or booleanOnly configure IPv6.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.noalias Link copied!
null or booleanAny pre-existing IPv4 addresses will be removed from the interface when adding a new IPv4 address.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.nogateway Link copied!
null or booleanDon't install any default routes.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.quiet Link copied!
null or booleanSuppress any dhcpcd output to the console, except for errors.
null<finix/modules/services/dhcpcd>services.dhcpcd.settings.waitip Link copied!
null or booleanWait for an address to be assigned before forking to the background.
null<finix/modules/services/dhcpcd>services.docker.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/docker>services.docker.enable Link copied!
booleanWhether to enable docker as a system service.
false<finix/modules/services/docker>services.docker.extraArgs Link copied!
list of stringAdditional arguments to pass to dockerd. See upstream documentation
for additional details.
[ ]<finix/modules/services/docker>services.docker.extraPackages Link copied!
list of packageExtra packages to be be made available to the docker daemon process.
[ ]with pkgs; [ criu ]<finix/modules/services/docker>services.docker.group Link copied!
stringGroup to own any docker sockets.
Note
If you want non-root users to be able to access the docker daemon commands, add
them to this group.
"docker"<finix/modules/services/docker>services.docker.package Link copied!
packageThe package to use for docker.
pkgs.docker<finix/modules/services/docker>services.docker.prune.enable Link copied!
booleanWhether to periodically prune docker resources.
false<finix/modules/services/docker>services.docker.prune.extraArgs Link copied!
list of stringAdditional arguments to pass to docker system prune. See upstream documentation
for additional details.
[ ][
"--all"
"--volumes"
]<finix/modules/services/docker>services.docker.prune.interval Link copied!
stringThe interval at which this task should run its specified command. Accepts either a
standard crontab(5) expression or one of: hourly, daily, weekly, monthly, or yearly.
If a standard crontab(5) expression is provided this value will be passed directly
to the scheduler implementation and execute exactly as specified.
If one of the special values, hourly, daily, monthly, weekly, or yearly, is provided then the
underlying scheduler implementation will use its features to decide when best to run.
"weekly"<finix/modules/services/docker>services.docker.settings Link copied!
open submodule of (JSON value)docker configuration. See upstream documentation
for additional details.
{ }{
fixed-cidr-v6 = "fd00::/80";
ipv6 = true;
live-restore = true;
}<finix/modules/services/docker>services.docker.settings.hosts Link copied!
list of stringSpecifies where the docker daemon listens for client connections.
:::
[
"unix:///run/docker.sock"
][
"unix:///run/docker.sock"
"tcp://0.0.0.0:2375"
]<finix/modules/services/docker>services.docker.settings.live-restore Link copied!
booleanEnable live restore of docker when containers are still running.
false<finix/modules/services/docker>services.docker.settings.log-driver Link copied!
one of "none", "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk", "etwlogs", "gcplogs", "local"Default driver for container logs.
"syslog"<finix/modules/services/docker>services.docker.settings.storage-driver Link copied!
null or one of "aufs", "btrfs", "devicemapper", "overlay", "overlay2", "zfs"Storage driver to use.
See upstream documentation for additional details.
Warning
When you change the storage driver, any existing images and containers become inaccessible. This is because their layers can't be used by the new storage driver. If you revert your changes, you can access the old images and containers again, but any that you pulled or created using the new driver are then inaccessible.
null<finix/modules/services/docker>services.dropbear.enable Link copied!
booleanWhether to enable dropbear as a system service.
false<finix/modules/services/dropbear>services.dropbear.extraArgs Link copied!
list of stringAdditional arguments to pass to dropbear. See dropbear(8)
for additional details.
[ ]<finix/modules/services/dropbear>services.dropbear.hostKeys Link copied!
list of (submodule)finix will automatically generate SSH host keys using dropbearkey(1) on startup.
Note
Automatic generation of host keys can be disabled by setting a value of lib.mkForce [ ].
[
{
path = "/var/lib/dropbear/dropbear_ed25519_host_key";
type = "ed25519";
}
]<finix/modules/services/dropbear>services.dropbear.hostKeys.*.bits Link copied!
null or signed integerSet the key size in bits.
Note
Should be multiple of 8.
null<finix/modules/services/dropbear>services.dropbear.hostKeys.*.comment Link copied!
null or stringSpecify the key comment (email).
null<finix/modules/services/dropbear>services.dropbear.hostKeys.*.path Link copied!
absolute pathWrite the secret key to this path.
<finix/modules/services/dropbear>services.dropbear.hostKeys.*.type Link copied!
one of "rsa", "ecdsa", "ed25519"The type of key to generate.
"ed25519"<finix/modules/services/dropbear>services.dropbear.package Link copied!
packageThe package to use for dropbear.
pkgs.dropbear<finix/modules/services/dropbear>services.earlyoom.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/earlyoom>services.earlyoom.enable Link copied!
booleanWhether to enable earlyoom as a system service.
false<finix/modules/services/earlyoom>services.earlyoom.extraArgs Link copied!
list of stringAdditional arguments to pass to earlyoom. See earlyoom(1)
for additional details.
[ ][
"-r"
"3600"
]<finix/modules/services/earlyoom>services.earlyoom.package Link copied!
packageThe package to use for earlyoom.
pkgs.earlyoom<finix/modules/services/earlyoom>services.elogind.enable Link copied!
booleanWhether to enable elogind as a system service.
false<finix/modules/services/elogind>services.elogind.package Link copied!
packageThe package to use for elogind.
pkgs.elogind<finix/modules/services/elogind>services.fcron.allow Link copied!
list of stringUsers allowed to use fcrontab and fcrondyn.
Note
A special name "all" acts for everyone.
[
"all"
]<finix/modules/services/fcron>services.fcron.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/fcron>services.fcron.deny Link copied!
list of stringUsers who are not allowed to use fcrontab and fcrondyn.
Note
A special name "all" acts for everyone.
[ ]<finix/modules/services/fcron>services.fcron.enable Link copied!
booleanWhether to enable fcron as a system service.
false<finix/modules/services/fcron>services.fcron.extraArgs Link copied!
list of stringAdditional arguments to pass to fcron. See fcron(8)
for additional details.
[ ][
"--maxserial"
"5"
"--firstsleep"
"60"
]<finix/modules/services/fcron>services.fcron.package Link copied!
packageThe package to use for fcron.
pkgs.fcron<finix/modules/services/fcron>services.fcron.settings Link copied!
open submodule of attribute set of (atom (null, bool, int, float or string))fcron configuration. See fcron.conf(5)
for additional details.
{ }<finix/modules/services/fcron>services.fcron.settings.sendmail Link copied!
absolute pathLocation of mailer program called by fcron to send job output.
"/run/wrappers/bin/sendmail"<finix/modules/services/fcron>services.fcron.settings.shell Link copied!
absolute pathLocation of default shell called by fcron when running a job. When fcron runs a job, fcron uses the
value of SHELL from the fcrontab if any, otherwise it uses the value from fcron.conf if any, or in
last resort the value from /etc/passwd.
lib.getExe pkgs.bash<finix/modules/services/fcron>services.fcron.systab Link copied!
list of non-empty stringA list of cron jobs to be appended to the system-wide fcrontab(5).
[ ]<finix/modules/services/fcron>services.flatpak.enable Link copied!
booleanWhether to enable flatpak.
false<finix/modules/services/flatpak>services.flatpak.extraGroups Link copied!
list of stringA list of groups to unconditionally grant access, via polkit, to this services offerings. Useful
on systems without (e)logind. See Using polkit with seatd
for additional details.
[ ][ config.services.seatd.group ]<finix/modules/services/flatpak>services.flatpak.package Link copied!
packageThe package to use for flatpak.
pkgs.flatpak.override { withSystemd = false; }<finix/modules/services/flatpak>services.fprintd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/fprintd>services.fprintd.enable Link copied!
booleanWhether to enable fprintd as a system service.
false<finix/modules/services/fprintd>services.fprintd.extraGroups Link copied!
list of stringA list of groups to unconditionally grant access, via polkit, to this services offerings. Useful
on systems without (e)logind. See Using polkit with seatd
for additional details.
[ ][ config.services.seatd.group ]<finix/modules/services/fprintd>services.fprintd.package Link copied!
packageThe package to use for fprintd.
pkgs.fprintd<finix/modules/services/fprintd>services.fstrim.enable Link copied!
booleanWhether to enable periodic SSD TRIM of mounted partitions in background.
false<finix/modules/services/fstrim>services.fstrim.interval Link copied!
stringThe interval at which this task should run its specified command. Accepts either a
standard crontab(5) expression or one of: hourly, daily, weekly, monthly, or yearly.
If a standard crontab(5) expression is provided this value will be passed directly
to the scheduler implementation and execute exactly as specified.
If one of the special values, hourly, daily, monthly, weekly, or yearly, is provided then the
underlying scheduler implementation will use its features to decide when best to run.
"weekly"<finix/modules/services/fstrim>services.fwupd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/fwupd>services.fwupd.enable Link copied!
booleanWhether to enable fwupd as a system service.
false<finix/modules/services/fwupd>services.fwupd.package Link copied!
packageThe package to use for fwupd.
pkgs.fwupd<finix/modules/services/fwupd>services.fwupd.settings Link copied!
open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non-empty list of them)fwupd configuration. See fwupd.conf(5)
for additional details.
{ }<finix/modules/services/fwupd>services.fwupd.settings.fwupd.IdleTimeout Link copied!
signed integerIdle timeout in seconds before the daemon exits.
Set to 0 to disable.
0<finix/modules/services/fwupd>services.getty.enable Link copied!
booleanWhether to enable getty.
true<finix/modules/services/getty>services.getty.extraArgs Link copied!
list of stringAdditional arguments to pass to services.getty.package.
[ ]<finix/modules/services/getty>services.getty.package Link copied!
null or packageThe package to use for getty.
nullpkgs.util-linux // {
mainProgram = "agetty";
};
<finix/modules/services/getty>services.getty.ttys Link copied!
list of stringThe list of tty devices on which to start a login prompt.
[
"tty1"
"tty2"
"tty3"
"tty4"
"tty5"
"tty6"
]<finix/modules/services/getty>services.greetd.enable Link copied!
booleanWhether to enable greetd as a system service.
false<finix/modules/services/greetd>services.greetd.settings Link copied!
TOML valuegreetd configuration. See greetd(5)
for additional details.
{ }<finix/modules/services/greetd>services.gvfs.enable Link copied!
booleanWhether to enable gvfs as a dbus service.
false<finix/modules/services/gvfs>services.gvfs.package Link copied!
packageThe package to use for gvfs.
pkgs.gvfs<finix/modules/services/gvfs>services.illum.enable Link copied!
booleanWhether to enable illum as a system service.
false<finix/modules/services/illum>services.illum.package Link copied!
packageThe package to use for illum.
pkgs.illum<finix/modules/services/illum>services.incus.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/incus>services.incus.enable Link copied!
booleanWhether to enable incus as a system service.
false<finix/modules/services/incus>services.incus.package Link copied!
packageThe package to use for incus.
pkgs.incus-lts<finix/modules/services/incus>services.iwd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/iwd>services.iwd.enable Link copied!
booleanWhether to enable iwd as a system service.
false<finix/modules/services/iwd>services.iwd.package Link copied!
packageThe package to use for iwd.
pkgs.iwd<finix/modules/services/iwd>services.iwd.settings Link copied!
attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))iwd configuration. See iwd.config(5)
for additional details.
{ }<finix/modules/services/iwd>services.jellyfin.dataDir Link copied!
absolute pathThe directory used to store all jellyfin data.
Note
If left as the default value this directory will automatically be created on
system activation, otherwise you are responsible for ensuring the directory exists
with appropriate ownership and permissions before the jellyfin service starts.
"/var/lib/jellyfin"<finix/modules/services/jellyfin>services.jellyfin.enable Link copied!
booleanWhether to enable jellyfin as a system service.
false<finix/modules/services/jellyfin>services.jellyfin.group Link copied!
stringGroup account under which jellyfin runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the jellyfin service starts.
"jellyfin"<finix/modules/services/jellyfin>services.jellyfin.package Link copied!
packageThe package to use for jellyfin.
pkgs.jellyfin<finix/modules/services/jellyfin>services.jellyfin.user Link copied!
stringUser account under which jellyfin runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the jellyfin service starts.
"jellyfin"<finix/modules/services/jellyfin>services.keventd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/keventd>services.keventd.enable Link copied!
booleanWhether to enable keventd as a system service.
false<finix/modules/services/keventd>services.keventd.extraArgs Link copied!
list of stringAdditional arguments to pass to keventd.
[ ]<finix/modules/services/keventd>services.keventd.path Link copied!
list of absolute pathPackages added to the PATH environment variable when
executing programs from Udev rules.
coreutils, gnu{sed,grep}, util-linux automatically included.
[ ]<finix/modules/services/keventd>services.keyd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/keyd>services.keyd.enable Link copied!
booleanWhether to enable keyd as a system service.
false<finix/modules/services/keyd>services.keyd.keyboards Link copied!
attribute set of (submodule)keyd configuration. See keyd(1)
for additional details.
{ }{
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "overload(control, esc)";
};
};
};
externalKeyboard = {
ids = [ "1ea7:0907" ];
settings = {
main = {
esc = capslock;
};
};
};
}
<finix/modules/services/keyd>services.keyd.keyboards.<name>.extraConfig Link copied!
strings concatenated with "\n"Extra configuration that is appended to the end of the file.
Do not write ids section here, use a separate option for it.
You can use this option to define compound layers that must always be defined after the layer they are comprised.
""''
[control+shift]
h = left
''<finix/modules/services/keyd>services.keyd.keyboards.<name>.ids Link copied!
list of stringDevice identifiers, as shown by keyd(1).
[
""
][
"*"
"-0123:0456"
]<finix/modules/services/keyd>services.keyd.keyboards.<name>.settings Link copied!
attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))Configuration, except ids section, that is written to /etc/keyd/<keyboard>.conf.
Appropriate names can be used to write non-alpha keys, for example "equal" instead of "=" sign (see <https://github.com/NixOS/nixpkgs/issues/236622>).
See <https://github.com/rvaiya/keyd> for how to configure.
{ }{
main = {
capslock = "overload(control,esc)";
rightalt = "layer(rightalt)";
};
rightalt = {
h = "left";
j = "down";
k = "up";
l = "right";
};
}<finix/modules/services/keyd>services.keyd.package Link copied!
packageThe package to use for keyd.
pkgs.keyd<finix/modules/services/keyd>services.lemurs.enable Link copied!
booleanWhether to enable lemurs as a system service.
false<finix/modules/services/lemurs>services.lemurs.package Link copied!
packageThe package to use for lemurs.
pkgs.lemurs<finix/modules/services/lemurs>services.lemurs.settings Link copied!
TOML valuelemurs configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/lemurs>services.logrotate.enable Link copied!
booleanThis option has no description.
false<finix/modules/services/logrotate>services.logrotate.package Link copied!
packageThis option has no description.
<derivation logrotate-3.22.0><finix/modules/services/logrotate>services.logrotate.rules Link copied!
attribute set of (submodule)This option has no description.
{ }<finix/modules/services/logrotate>services.logrotate.rules.<name>.enable Link copied!
booleanThis option has no description.
true<finix/modules/services/logrotate>services.logrotate.rules.<name>.text Link copied!
strings concatenated with "\n"This option has no description.
""<finix/modules/services/logrotate>services.ly.enable Link copied!
booleanWhether to enable ly as a system service.
false<finix/modules/services/ly>services.ly.package Link copied!
packageThe package to use for ly.
pkgs.ly<finix/modules/services/ly>services.ly.settings Link copied!
attribute set of (atom (null, bool, int, float or string))ly configuration. See upstream example
for additional details.
See description.{
animation_frame_delay = 5 # Set delay between animation frames.
asterisk = "*"; # Set the character used to mask the password.
bg = "0x20000000"; # Set the background color to black in 0xSSRRGGBB format.
bigclock_12hr = false; # Set bigclock to 12 hour format.
battery_id = "null" # Don't show battery (e.g. on a desktop)
}
<finix/modules/services/ly>services.ly.tty Link copied!
signed integerThe TTY that ly runs on. Changing this while logged in will exit your session.
2<finix/modules/services/ly>services.mariadb.dataDir Link copied!
absolute pathThis option has no description.
"/var/lib/mariadb"<finix/modules/services/mariadb>services.mariadb.enable Link copied!
booleanWhether to enable mariadb as a system service.
false<finix/modules/services/mariadb>services.mariadb.group Link copied!
stringGroup account under which mariadb runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the mariadb service starts.
"mariadb"<finix/modules/services/mariadb>services.mariadb.package Link copied!
packageThe package to use for mariadb.
<derivation mariadb-server-11.4.9><finix/modules/services/mariadb>services.mariadb.settings Link copied!
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)MySQL configuration. Refer to <https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html>, <https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html>, and <https://mariadb.com/kb/en/server-system-variables/> for details on supported values.
Note
MySQL configuration options such as --quick should be treated as
boolean options and provided values such as true, false,
1, or 0. See the provided example below.
{ }{
mysqld = {
key_buffer_size = "6G";
table_cache = 1600;
log-error = "/var/log/mysql_err.log";
plugin-load-add = [ "server_audit" "ed25519=auth_ed25519" ];
};
mysqldump = {
quick = true;
max_allowed_packet = "16M";
};
}
<finix/modules/services/mariadb>services.mariadb.user Link copied!
stringUser account under which mariadb runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the mariadb service starts.
"mariadb"<finix/modules/services/mariadb>services.mdevd.coldplugRules Link copied!
strings concatenated with "\n"Mdeved rules for coldplug events during the initramfs stage of booting.
<finix/modules/services/mdevd>services.mdevd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/mdevd>services.mdevd.enable Link copied!
booleanWhether to enable mdevd as a system service.
false<finix/modules/services/mdevd>services.mdevd.hotplugRules Link copied!
strings concatenated with "\n"Mdevd rules for hotplug events.
These rules are active after the initial mdevd daemon
has coldbooted with the services.mdevd.coldplug rules.
<finix/modules/services/mdevd>services.mdevd.nlgroups Link copied!
null or (unsigned integer, meaning >=0)After mdevd has handled the uevents, rebroadcast them to the netlink groups identified
by the mask nlgroups.
Note
A value of 4 will make the daemon rebroadcast kernel uevents to libudev-zero.
null<finix/modules/services/mdevd>services.mdevd.package Link copied!
packageThe package to use for mdevd.
pkgs.mdevd<finix/modules/services/mdevd>services.networkmanager.enable Link copied!
booleanWhether to enable networkmanager as a system service.
false<finix/modules/services/networkmanager>services.networkmanager.package Link copied!
packageThe package to use for networkmanager.
pkgs.networkmanager<finix/modules/services/networkmanager>services.nftables.configFile Link copied!
absolute pathThis option has no description.
<derivation nftables.conf><finix/modules/services/nftables>services.nftables.enable Link copied!
booleanWhether to enable nftables as a system service.
false<finix/modules/services/nftables>services.nftables.package Link copied!
packageThe package to use for nftables.
pkgs.nftables<finix/modules/services/nftables>services.nix-daemon.enable Link copied!
booleanWhether to enable nix as a system service.
Warning
Disabling nix makes the system hard to modify and the Nix programs and configuration will not be made available by NixOS itself.
false<finix/modules/services/nix-daemon>services.nix-daemon.nrBuildUsers Link copied!
signed integerNumber 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.
8<finix/modules/services/nix-daemon>services.nix-daemon.package Link copied!
packageThe package to use for nix.
pkgs.nix<finix/modules/services/nix-daemon>services.nix-daemon.settings Link copied!
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)))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.
{ }<finix/modules/services/nix-daemon>services.nix-daemon.settings.allowed-users Link copied!
list of stringA 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.
[
"*"
][
"@wheel"
"@builders"
"alice"
"bob"
]<finix/modules/services/nix-daemon>services.nix-daemon.settings.auto-optimise-store Link copied!
booleanIf 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.
falsetrue<finix/modules/services/nix-daemon>services.nix-daemon.settings.cores Link copied!
signed integerThis 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.
064<finix/modules/services/nix-daemon>services.nix-daemon.settings.max-jobs Link copied!
signed integer or value "auto" (singular enum)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).
"auto"64<finix/modules/services/nix-daemon>services.nix-daemon.settings.require-sigs Link copied!
booleanIf 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.
true<finix/modules/services/nix-daemon>services.nix-daemon.settings.sandbox Link copied!
boolean or value "relaxed" (singular enum)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.
true<finix/modules/services/nix-daemon>services.nix-daemon.settings.substituters Link copied!
list of stringList of binary cache URLs used to obtain pre-built binaries of Nix packages.
By default https://cache.nixos.org/ is added.
[ ]<finix/modules/services/nix-daemon>services.nix-daemon.settings.system-features Link copied!
list of stringThe set of features supported by the machine. Derivations
can express dependencies on system features through the
requiredSystemFeatures attribute.
[ ]<finix/modules/services/nix-daemon>services.nix-daemon.settings.trusted-public-keys Link copied!
list of stringList 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.
[ ][
"hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs="
]<finix/modules/services/nix-daemon>services.nix-daemon.settings.trusted-substituters Link copied!
list of stringList 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.
[ ][
"https://hydra.nixos.org/"
]<finix/modules/services/nix-daemon>services.nix-daemon.settings.trusted-users Link copied!
list of stringA 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.
[ ][
"root"
"alice"
"@wheel"
]<finix/modules/services/nix-daemon>services.nvidia-persistenced.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/nvidia-persistenced>services.nvidia-persistenced.enable Link copied!
booleanWhether to enable nvidia-persistenced as a system service.
false<finix/modules/services/nvidia-persistenced>services.nvidia-persistenced.extraArgs Link copied!
list of stringAdditional arguments to pass to nvidia-persistenced. See nvidia-persistenced(1)
for additional details.
[ ]<finix/modules/services/nvidia-persistenced>services.nvidia-persistenced.group Link copied!
stringGroup account under which nvidia-persistenced runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the nvidia-persistenced service starts.
"nvidia-persistenced"<finix/modules/services/nvidia-persistenced>services.nvidia-persistenced.package Link copied!
packageThe package to use for nvidia-persistenced.
config.hardware.nvidia.package.persistenced<finix/modules/services/nvidia-persistenced>services.nvidia-persistenced.user Link copied!
stringUser account under which nvidia-persistenced runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the nvidia-persistenced service starts.
"nvidia-persistenced"<finix/modules/services/nvidia-persistenced>services.nvidia-powerd.enable Link copied!
booleanWhether to enable nvidia-powerd as a system service.
false<finix/modules/services/nvidia-powerd>services.nvidia-powerd.package Link copied!
packageThe package to use for nvidia-powerd.
config.hardware.nvidia.package<finix/modules/services/nvidia-powerd>services.nzbget.enable Link copied!
booleanWhether to enable nzbget as a system service.
false<finix/modules/services/nzbget>services.nzbget.group Link copied!
stringGroup account under which nzbget runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the nzbget service starts.
"nzbget"<finix/modules/services/nzbget>services.nzbget.package Link copied!
packageThe package to use for nzbget.
pkgs.nzbget<finix/modules/services/nzbget>services.nzbget.settings Link copied!
attribute set of (boolean or signed integer or string)nzbget configuration. See upstream documentation
for additional details.
{ }{
MainDir = "/data";
}<finix/modules/services/nzbget>services.nzbget.stateDir Link copied!
absolute pathThe directory used to store all nzbget data.
Note
If left as the default value this directory will automatically be created on
system activation, otherwise you are responsible for ensuring the directory exists
with appropriate ownership and permissions before the nzbget service starts.
"/var/lib/nzbget"<finix/modules/services/nzbget>services.nzbget.user Link copied!
stringUser account under which nzbget runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the nzbget service starts.
"nzbget"<finix/modules/services/nzbget>services.openssh.enable Link copied!
booleanWhether to enable openssh as a system service.
false<finix/modules/services/openssh>services.openssh.package Link copied!
packageThe package to use for openssh.
pkgs.openssh<finix/modules/services/openssh>services.openssh.settings Link copied!
open submodule of attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys)openssh configuration. See sshd_config(5)
for additional details.
{ }<finix/modules/services/openssh>services.openssh.settings.AddressFamily Link copied!
one of "any", "inet", "inet6"Specifies which address family should be used by sshd(8).
"any"<finix/modules/services/openssh>services.openssh.settings.Banner Link copied!
value "none" (singular enum) or absolute pathThe contents of the specified file are sent to the remote user before authentication is
allowed. If the argument is none then no banner is displayed.
"none"<finix/modules/services/openssh>services.openssh.settings.Ciphers Link copied!
list of stringAllowed ciphers
Defaults to recommended settings from both <https://stribika.github.io/2015/01/04/secure-secure-shell.html> and <https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
[
"chacha20-poly1305@openssh.com"
"aes256-gcm@openssh.com"
"aes128-gcm@openssh.com"
"aes256-ctr"
"aes192-ctr"
"aes128-ctr"
]<finix/modules/services/openssh>services.openssh.settings.HostKey Link copied!
list of absolute pathSpecifies a file containing a private host key used by sshd(8).
[ ]<finix/modules/services/openssh>services.openssh.settings.KbdInteractiveAuthentication Link copied!
booleanSpecifies whether keyboard-interactive authentication is allowed.
true<finix/modules/services/openssh>services.openssh.settings.KexAlgorithms Link copied!
list of stringAllowed key exchange algorithms
Uses the lower bound recommended in both <https://stribika.github.io/2015/01/04/secure-secure-shell.html> and <https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
[
"sntrup761x25519-sha512@openssh.com"
"curve25519-sha256"
"curve25519-sha256@libssh.org"
"diffie-hellman-group-exchange-sha256"
]<finix/modules/services/openssh>services.openssh.settings.ListenAddress Link copied!
(list of string) or string convertible to itSpecifies the local addresses sshd(8) should listen on.
[ ]<finix/modules/services/openssh>services.openssh.settings.LogLevel Link copied!
one of "QUIET", "FATAL", "ERROR", "INFO", "VERBOSE", "DEBUG", "DEBUG1", "DEBUG2", "DEBUG3"Gives the verbosity level that is used when logging messages from sshd(8). Logging with a DEBUG level
violates the privacy of users and is not recommended.
"INFO"<finix/modules/services/openssh>services.openssh.settings.Macs Link copied!
list of stringAllowed MACs
Defaults to recommended settings from both <https://stribika.github.io/2015/01/04/secure-secure-shell.html> and <https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
[
"hmac-sha2-512-etm@openssh.com"
"hmac-sha2-256-etm@openssh.com"
"umac-128-etm@openssh.com"
]<finix/modules/services/openssh>services.openssh.settings.PasswordAuthentication Link copied!
booleanSpecifies whether password authentication is allowed.
true<finix/modules/services/openssh>services.openssh.settings.PermitRootLogin Link copied!
one of "yes", "without-password", "prohibit-password", "forced-commands-only", "no"Whether the root user can login using ssh.
"prohibit-password"<finix/modules/services/openssh>services.openssh.settings.Port Link copied!
list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)Specifies the port number that sshd(8) listens on.
[
22
]<finix/modules/services/openssh>services.openssh.settings.StrictModes Link copied!
booleanWhether sshd should check file modes and ownership of directories
true<finix/modules/services/openssh>services.openssh.settings.UsePAM Link copied!
booleanWhether to enable PAM authentication.
truetrue<finix/modules/services/openssh>services.openssh.sftp.enable Link copied!
booleanWhether to enable the SFTP subsystem.
true<finix/modules/services/openssh>services.openssh.sftp.executable Link copied!
stringPath to the SFTP server executable.
<finix/modules/services/openssh>services.openssh.sftp.flags Link copied!
list of stringAdditional command-line flags to pass to the SFTP server.
[ ]<finix/modules/services/openssh>services.php-fpm.enable Link copied!
booleanWhether to enable php-fpm as a system service.
false<finix/modules/services/php-fpm>services.php-fpm.package Link copied!
packageThe package to use for php.
pkgs.php<finix/modules/services/php-fpm>services.php-fpm.settings Link copied!
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)))php-fpm configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/php-fpm>services.php-fpm.settings.log_level Link copied!
one of "alert", "error", "warning", "notice", "debug"Error log level.
"notice"<finix/modules/services/php-fpm>services.polkit.adminIdentities Link copied!
list of stringSpecifies which users are considered “administrators”, for those
actions that require the user to authenticate as an
administrator (i.e. have an auth_admin
value). By default, this is all users in the wheel group.
[
"unix-group:wheel"
][
"unix-user:alice"
"unix-group:admin"
]<finix/modules/services/polkit>services.polkit.debug Link copied!
booleanWhether to enable debug logging.
Note
This is required in order to see log messages from rule definitions.
false<finix/modules/services/polkit>services.polkit.enable Link copied!
booleanWhether to enable polkit as a system service.
false<finix/modules/services/polkit>services.polkit.extraConfig Link copied!
strings concatenated with "\n"Any polkit rules to be added to config (in JavaScript ;-). See: <https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html#polkit-rules>
""''
/* Log authorization checks. */
polkit.addRule(function(action, subject) {
// Make sure to set { services.polkit.debug = true; } in configuration.nix
polkit.log("user " + subject.user + " is attempting action " + action.id + " from PID " + subject.pid);
});
/* Allow any local user to do anything (dangerous!). */
polkit.addRule(function(action, subject) {
if (subject.local) return "yes";
});
''<finix/modules/services/polkit>services.polkit.package Link copied!
packageThe package to use for polkit.
pkgs.polkit<finix/modules/services/polkit>services.power-profiles-daemon.enable Link copied!
booleanWhether to enable power-profiles-daemon as a system service.
false<finix/modules/services/power-profiles-daemon>services.power-profiles-daemon.extraGroups Link copied!
list of stringA list of groups to unconditionally grant access, via polkit, to this services offerings. Useful
on systems without (e)logind. See Using polkit with seatd
for additional details.
[ ][ config.services.seatd.group ]<finix/modules/services/power-profiles-daemon>services.power-profiles-daemon.package Link copied!
packageThe package to use for power-profiles-daemon.
pkgs.power-profiles-daemon<finix/modules/services/power-profiles-daemon>services.radarr.dataDir Link copied!
absolute pathThe directory used to store all radarr data.
Note
If left as the default value this directory will automatically be created on
system activation, otherwise you are responsible for ensuring the directory exists
with appropriate ownership and permissions before the radarr service starts.
"/var/lib/radarr"<finix/modules/services/radarr>services.radarr.enable Link copied!
booleanWhether to enable radarr as a system service.
false<finix/modules/services/radarr>services.radarr.group Link copied!
stringGroup account under which radarr runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the radarr service starts.
"radarr"<finix/modules/services/radarr>services.radarr.package Link copied!
packageThe package to use for radarr.
pkgs.radarr<finix/modules/services/radarr>services.radarr.settings Link copied!
open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))radarr configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/radarr>services.radarr.settings.log.analyticsEnabled Link copied!
booleanSend Anonymous Usage Data.
false<finix/modules/services/radarr>services.radarr.settings.log.level Link copied!
one of "debug", "info", "trace"Log level.
"info"<finix/modules/services/radarr>services.radarr.settings.server.port Link copied!
16 bit unsigned integer; between 0 and 65535 (both inclusive)Port number.
7878<finix/modules/services/radarr>services.radarr.settings.update.automatically Link copied!
booleanAutomatically download and install updates.
false<finix/modules/services/radarr>services.radarr.settings.update.mechanism Link copied!
null or one of "external", "builtIn", "script"Which update mechanism to use.
"external"<finix/modules/services/radarr>services.radarr.user Link copied!
stringUser account under which radarr runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the radarr service starts.
"radarr"<finix/modules/services/radarr>services.rsyslog.enable Link copied!
booleanWhether to enable rsyslog as a system service.
false<finix/modules/services/rsyslog>services.rtkit.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/rtkit>services.rtkit.enable Link copied!
booleanWhether to enable rtkit as a system service.
false<finix/modules/services/rtkit>services.rtkit.extraGroups Link copied!
list of stringA list of groups to unconditionally grant access, via polkit, to this services offerings. Useful
on systems without (e)logind. See Using polkit with seatd
for additional details.
[ ][ config.services.seatd.group ]<finix/modules/services/rtkit>services.rtkit.package Link copied!
packageThe package to use for rtkit.
pkgs.rtkit<finix/modules/services/rtkit>services.sddm.enable Link copied!
booleanWhether to enable sddm as a system service.
false<finix/modules/services/sddm>services.sddm.settings Link copied!
attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))Extra settings merged in and overwriting defaults in sddm.conf.
{ }{
Autologin = {
Session = "plasma.desktop";
User = "john";
};
}<finix/modules/services/sddm>services.seatd.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/seatd>services.seatd.enable Link copied!
booleanWhether to enable seatd as a system service.
false<finix/modules/services/seatd>services.seatd.group Link copied!
stringGroup to own the seatd socket.
Note
If you want non-root users to be able to access the seatd session, add
them to this group.
"seat"<finix/modules/services/seatd>services.sonarr.dataDir Link copied!
absolute pathThe directory used to store all sonarr data.
Note
If left as the default value this directory will automatically be created on
system activation, otherwise you are responsible for ensuring the directory exists
with appropriate ownership and permissions before the sonarr service starts.
"/var/lib/sonarr"<finix/modules/services/sonarr>services.sonarr.enable Link copied!
booleanWhether to enable sonarr as a system service.
false<finix/modules/services/sonarr>services.sonarr.group Link copied!
stringGroup account under which sonarr runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the sonarr service starts.
"sonarr"<finix/modules/services/sonarr>services.sonarr.package Link copied!
packageThe package to use for sonarr.
pkgs.sonarr<finix/modules/services/sonarr>services.sonarr.settings Link copied!
open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))sonarr configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/sonarr>services.sonarr.settings.log.analyticsEnabled Link copied!
booleanSend Anonymous Usage Data.
false<finix/modules/services/sonarr>services.sonarr.settings.log.level Link copied!
one of "debug", "info", "trace"Log level.
"info"<finix/modules/services/sonarr>services.sonarr.settings.server.port Link copied!
16 bit unsigned integer; between 0 and 65535 (both inclusive)Port number.
8989<finix/modules/services/sonarr>services.sonarr.settings.update.automatically Link copied!
booleanAutomatically download and install updates.
false<finix/modules/services/sonarr>services.sonarr.settings.update.mechanism Link copied!
null or one of "external", "builtIn", "script"Which update mechanism to use.
"external"<finix/modules/services/sonarr>services.sonarr.user Link copied!
stringUser account under which sonarr runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the sonarr service starts.
"sonarr"<finix/modules/services/sonarr>services.sysklogd.enable Link copied!
booleanWhether to enable sysklogd as a system service.
false<finix/modules/services/sysklogd>services.sysklogd.package Link copied!
packageThe package to use for sysklogd.
pkgs.sysklogd<finix/modules/services/sysklogd>services.system76-scheduler.configFile Link copied!
absolute pathPath to the system76-scheduler configuration file.
<finix/modules/services/system76-scheduler>services.system76-scheduler.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/system76-scheduler>services.system76-scheduler.enable Link copied!
booleanWhether to enable system76-scheduler as a system service.
false<finix/modules/services/system76-scheduler>services.system76-scheduler.package Link copied!
packageThe package to use for system76-scheduler.
pkgs.system76-scheduler<finix/modules/services/system76-scheduler>services.thermald.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/thermald>services.thermald.enable Link copied!
booleanWhether to enable thermald as a system service.
false<finix/modules/services/thermald>services.thermald.extraArgs Link copied!
list of stringAdditional arguments to pass to thermald. See thermald(8)
for additional details.
[ ]<finix/modules/services/thermald>services.thermald.package Link copied!
packageThe package to use for thermald.
pkgs.thermald<finix/modules/services/thermald>services.tlp.enable Link copied!
booleanWhether to enable tlp as a system service.
false<finix/modules/services/tlp>services.tlp.package Link copied!
packageThe package to use for tlp.
pkgs.tlp<finix/modules/services/tlp>services.tlp.settings Link copied!
attribute set of (atom (null, bool, int, float or string) or a non-empty list of them)tlp configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/tlp>services.tzupdate.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/tzupdate>services.tzupdate.enable Link copied!
booleanWhether to enable tzupdate as a system task.
false<finix/modules/services/tzupdate>services.tzupdate.package Link copied!
packageThe package to use for tzupdate.
pkgs.tzupdate<finix/modules/services/tzupdate>services.udev.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/udev>services.udev.enable Link copied!
booleanWhether to enable eudev as a system service.
false<finix/modules/services/udev>services.udev.package Link copied!
packageThe package to use for eudev.
pkgs.eudev<finix/modules/services/udev>services.udev.packages Link copied!
list of absolute pathList of packages containing udev rules.
All files found in
«pkg»/etc/udev/rules.dnd
«pkg»/lib/udev/rules.dill be included.
[ ]<finix/modules/services/udev>services.udev.path Link copied!
list of absolute pathPackages added to the PATH environment variable when
executing programs from Udev rules.
coreutils, gnu{sed,grep}, util-linux automatically included.
[ ]<finix/modules/services/udev>services.udisks2.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/udisks2>services.udisks2.enable Link copied!
booleanWhether to enable udisks2 as a system service.
false<finix/modules/services/udisks2>services.udisks2.package Link copied!
packageThe package to use for udisks2.
pkgs.udisks2<finix/modules/services/udisks2>services.udisks2.settings Link copied!
open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))udisks2 configuration. See udisks2.conf(8)
for additional details.
{ }<finix/modules/services/udisks2>services.upower.enable Link copied!
booleanWhether to enable upower as a system service.
false<finix/modules/services/upower>services.upower.package Link copied!
packageThe package to use for upower.
pkgs.upower<finix/modules/services/upower>services.upower.settings Link copied!
open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))upower configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/upower>services.uptime-kuma.enable Link copied!
booleanWhether to enable uptime-kuma as a system service.
false<finix/modules/services/uptime-kuma>services.uptime-kuma.group Link copied!
stringGroup account under which uptime-kuma runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the uptime-kuma service starts.
"uptime-kuma"<finix/modules/services/uptime-kuma>services.uptime-kuma.package Link copied!
packageThe package to use for uptime-kuma.
pkgs.uptime-kuma<finix/modules/services/uptime-kuma>services.uptime-kuma.settings Link copied!
open submodule of attribute set of (atom (null, bool, int, float or string))uptime-kuma configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/uptime-kuma>services.uptime-kuma.settings.DATA_DIR Link copied!
stringSet the directory where the data should be stored.
"/var/lib/uptime-kuma"<finix/modules/services/uptime-kuma>services.uptime-kuma.settings.HOST Link copied!
stringHost to bind to, could be an ip.
"127.0.0.1"<finix/modules/services/uptime-kuma>services.uptime-kuma.settings.PORT Link copied!
16 bit unsigned integer; between 0 and 65535 (both inclusive)Port to listen to.
3001<finix/modules/services/uptime-kuma>services.uptime-kuma.user Link copied!
stringUser account under which uptime-kuma runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the uptime-kuma service starts.
"uptime-kuma"<finix/modules/services/uptime-kuma>services.vnstat.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/vnstat>services.vnstat.enable Link copied!
booleanWhether to enable vnstat as a system service.
false<finix/modules/services/vnstat>services.vnstat.extraArgs Link copied!
list of stringAdditional arguments to pass to vnstat. See vnstatd(8)
for additional details.
[ ]<finix/modules/services/vnstat>services.vnstat.group Link copied!
stringGroup account under which vnstat runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the vnstat service starts.
"vnstatd"<finix/modules/services/vnstat>services.vnstat.package Link copied!
packageThe package to use for vnstat.
pkgs.vnstat<finix/modules/services/vnstat>services.vnstat.settings Link copied!
open submodule of attribute set of (atom (null, bool, int, float or string))vnstat configuration. See vnstat.conf(5)
for additional details.
{ }<finix/modules/services/vnstat>services.vnstat.settings.DatabaseDir Link copied!
string or absolute pathSpecifies the directory where interface databases are to be stored.
"/var/lib/vnstat"<finix/modules/services/vnstat>services.vnstat.settings.UseLogging Link copied!
signed integer or one of "disabled", "logfile", "syslog"Enable or disable logging.
"syslog"<finix/modules/services/vnstat>services.vnstat.user Link copied!
stringUser account under which vnstat runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the vnstat service starts.
"vnstatd"<finix/modules/services/vnstat>services.xserver.enable Link copied!
booleanWhether to enable the X.Org display server.
false<finix/modules/services/xserver>services.xserver.modules Link copied!
list of absolute pathPackages to be added to the module search path of the X server.
[ ][ pkgs.xf86_input_wacom ]<finix/modules/services/xserver>services.xserver.videoDriver Link copied!
null or stringThe name of the video driver for your graphics card. This
option is obsolete; please set the
services.xserver.videoDrivers instead.
null"i810"<finix/modules/services/xserver>services.xserver.videoDrivers Link copied!
list of stringThe names of the video drivers the configuration supports. They will be tried in order until one that supports your card is found. Don't combine those with "incompatible" OpenGL implementations, e.g. free ones (mesa-based) with proprietary ones.
For unfree "nvidia*", the supported GPU lists are on https://www.nvidia.com/object/unix.html
[
"modesetting"
"fbdev"
][
"nvidia"
"amdgpu-pro"
]<finix/modules/services/xserver>services.xserver.xkb.dir Link copied!
absolute pathPath used for -xkbdir xserver parameter.
"${pkgs.xkeyboard_config}/etc/X11/xkb"<finix/modules/services/xserver>services.xserver.xkb.layout Link copied!
stringX keyboard layout, or multiple keyboard layouts separated by commas.
"us"<finix/modules/services/xserver>services.xserver.xkb.model Link copied!
stringX keyboard model.
"pc104""presario"<finix/modules/services/xserver>services.xserver.xkb.options Link copied!
strings concatenated with ","X keyboard options; layout switching goes here.
"terminate:ctrl_alt_bksp""grp:caps_toggle,grp_led:scroll"<finix/modules/services/xserver>services.xserver.xkb.variant Link copied!
stringX keyboard variant.
"""colemak"<finix/modules/services/xserver>services.ytdl-sub.debug Link copied!
booleanWhether to enable debug logging.
false<finix/modules/services/ytdl-sub>services.ytdl-sub.enable Link copied!
booleanWhether to enable ytdl-sub as a system service.
false<finix/modules/services/ytdl-sub>services.ytdl-sub.extraArgs Link copied!
list of stringAdditional arguments to pass to ytdl-sub. See upstream documentation
for additional details.
[ ]<finix/modules/services/ytdl-sub>services.ytdl-sub.group Link copied!
stringGroup account under which ytdl-sub runs.
Note
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the ytdl-sub service starts.
"ytdl-sub"<finix/modules/services/ytdl-sub>services.ytdl-sub.interval Link copied!
stringThe interval at which this task should run its specified command. Accepts either a
standard crontab(5) expression or one of: hourly, daily, weekly, monthly, or yearly.
If a standard crontab(5) expression is provided this value will be passed directly
to the scheduler implementation and execute exactly as specified.
If one of the special values, hourly, daily, monthly, weekly, or yearly, is provided then the
underlying scheduler implementation will use its features to decide when best to run.
"daily"<finix/modules/services/ytdl-sub>services.ytdl-sub.package Link copied!
packageThe package to use for ytdl-sub.
pkgs.ytdl-sub<finix/modules/services/ytdl-sub>services.ytdl-sub.settings Link copied!
open submodule of (YAML 1.1 value)ytdl-sub configuration. See upstream documentation
for additional details.
{ }<finix/modules/services/ytdl-sub>services.ytdl-sub.settings.configuration.lock_directory Link copied!
stringThe directory to temporarily store file locks, which prevents multiple instances of ytdl-sub from
running. Note that file locks do not work on network-mounted directories. Ensure that this directory
resides on the host machine.
"/run/lock/ytdl-sub"<finix/modules/services/ytdl-sub>services.ytdl-sub.settings.configuration.persist_logs.keep_successful_logs Link copied!
booleanWhen true always writes log files for the subscription both for successful downloads and when it encounters
an error while downloading. When this key is false, only write log files for errors.
true<finix/modules/services/ytdl-sub>services.ytdl-sub.settings.configuration.persist_logs.logs_directory Link copied!
stringWrite log files to this directory with names like YYYY-mm-dd-HHMMSS.subscription_name.(success|error).log.
"/var/log/ytdl-sub"<finix/modules/services/ytdl-sub>services.ytdl-sub.settings.configuration.working_directory Link copied!
stringThe directory to temporarily store downloaded files before moving them into their final directory.
"/run/ytdl-sub"<finix/modules/services/ytdl-sub>services.ytdl-sub.subscriptions Link copied!
YAML 1.1 valueytdl-sub subscriptions. See upstream documentation
for additional details.
{ }{
"YouTube Playlist" = {
"Some Playlist" = "https://www.youtube.com/playlist?list=...";
};
}<finix/modules/services/ytdl-sub>services.ytdl-sub.user Link copied!
stringUser account under which ytdl-sub runs.
Note
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the ytdl-sub service starts.
"ytdl-sub"<finix/modules/services/ytdl-sub>services.zerotierone.enable Link copied!
booleanWhether to enable zerotierone as a system service.
false<finix/modules/services/zerotierone>services.zerotierone.package Link copied!
packageThe package to use for zerotierone.
pkgs.zerotierone<finix/modules/services/zerotierone>services.zerotierone.stateDir Link copied!
absolute pathThe directory used to store all zerotier data.
Note
If left as the default value this directory will automatically be created on
system activation, otherwise you are responsible for ensuring the directory exists
with appropriate ownership and permissions before the zerotier service starts.
"/var/lib/zerotier-one"<finix/modules/services/zerotierone>services.zfs.autoScrub.enable Link copied!
booleanThis option has no description.
false<finix/modules/services/zfs>services.zfs.autoScrub.interval Link copied!
stringThe interval at which this task should run its specified command. Accepts either a
standard crontab(5) expression or one of: hourly, daily, weekly, monthly, or yearly.
If a standard crontab(5) expression is provided this value will be passed directly
to the scheduler implementation and execute exactly as specified.
If one of the special values, hourly, daily, monthly, weekly, or yearly, is provided then the
underlying scheduler implementation will use its features to decide when best to run.
"monthly"<finix/modules/services/zfs>services.zfs.autoScrub.pools Link copied!
list of non-empty stringList of ZFS pools to periodically scrub. If empty, all pools will be scrubbed.
[ ][
"tank"
]<finix/modules/services/zfs>services.zfs.autoSnapshot.daily Link copied!
signed integerNumber of daily auto-snapshots that you wish to keep.
7<finix/modules/services/zfs>services.zfs.autoSnapshot.enable Link copied!
booleanEnable the (OpenSolaris-compatible) ZFS auto-snapshotting service.
Note that you must set the com.sun:auto-snapshot
property to true on all datasets which you wish
to auto-snapshot.
You can override a child dataset to use, or not use auto-snapshotting
by setting its flag with the given interval:
zfs set com.sun:auto-snapshot:weekly=false DATASET
false<finix/modules/services/zfs>services.zfs.autoSnapshot.flags Link copied!
stringFlags to pass to the zfs-auto-snapshot command.
Run zfs-auto-snapshot (without any arguments) to
see available flags.
If it's not too inconvenient for snapshots to have timestamps in UTC,
it is suggested that you append --utc to the list
of default options (see example).
Otherwise, snapshot names can cause name conflicts or apparent time reversals due to daylight savings, timezone or other date/time changes.
"-k -p""-k -p --utc"<finix/modules/services/zfs>services.zfs.autoSnapshot.frequent Link copied!
signed integerNumber of frequent (15-minute) auto-snapshots that you wish to keep.
4<finix/modules/services/zfs>services.zfs.autoSnapshot.hourly Link copied!
signed integerNumber of hourly auto-snapshots that you wish to keep.
24<finix/modules/services/zfs>services.zfs.autoSnapshot.monthly Link copied!
signed integerNumber of monthly auto-snapshots that you wish to keep.
12<finix/modules/services/zfs>services.zfs.autoSnapshot.weekly Link copied!
signed integerNumber of weekly auto-snapshots that you wish to keep.
4<finix/modules/services/zfs>specialisation Link copied!
attribute set of (submodule)Additional configurations to build.
{ }{
mdevd = {
services.mdevd.enable = lib.mkForce true;
services.udev.enable = lib.mkForce false;
};
}
<finix/modules/system/activation/specialisation.nix>swapDevices Link copied!
list of (submodule)The swap devices and swap files. These are activated at boot time.
[ ][
{
device = "/dev/sda2";
}
]<finix/modules/filesystems/options.nix>swapDevices.*.device Link copied!
non-empty stringPath of the swap device or file.
"/dev/sda2"<finix/modules/filesystems/options.nix>swapDevices.*.label Link copied!
null or non-empty stringLabel of the swap device (if any).
null"swap"<finix/modules/filesystems/options.nix>swapDevices.*.options Link copied!
non-empty (list of non-empty string)Options used to set up the swap device.
[
"defaults"
][
"nofail"
]<finix/modules/filesystems/options.nix>swapDevices.*.priority Link copied!
null or signed integerSpecify the priority of the swap device. Higher numbers
indicate higher priority. null lets the kernel choose
a priority, starting at -1 and going down.
null100<finix/modules/filesystems/options.nix>system.activation.enable Link copied!
booleanWhether to enable system activation scripts.
true<finix/modules/system/activation>system.activation.out Link copied!
absolute paththe actual script to run on activation....
<finix/modules/system/activation>system.activation.path Link copied!
list of packagePackages added to the PATH environment variable of activation scripts.
[ ]<finix/modules/system/activation>system.activation.scripts Link copied!
attribute set of ((submodule) or string convertible to it)A set of shell script fragments that are executed when a NixOS
system configuration is activated. Examples are updating
/etc, creating accounts, and so on. Since these are executed
every time you boot the system or run
nixos-rebuild, it's important that they are
idempotent and fast.
{ }{ stdio.text =
''
# Needed by some programs.
ln -sfn /proc/self/fd /dev/fd
ln -sfn /proc/self/fd/0 /dev/stdin
ln -sfn /proc/self/fd/1 /dev/stdout
ln -sfn /proc/self/fd/2 /dev/stderr
'';
}
<finix/modules/system/activation>system.activation.scripts.<name>.deps Link copied!
list of stringList of dependencies. The script will run after these.
[ ]<finix/modules/system/activation>system.activation.scripts.<name>.text Link copied!
strings concatenated with "\n"The content of the script.
<finix/modules/system/activation>system.topLevel Link copied!
absolute pathtop-level system derivation
<finix/modules/system/activation>time.timeZone Link copied!
null or string without spacesThe time zone used when displaying times and dates. See <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones> for a list of valid time zone names.
null"America/New_York"<finix/modules/time>users.defaultUserShell Link copied!
package or (absolute path, not containing newlines or colons)The default shell assigned to user accounts created with
isNormalUser = true.
pkgs.bashInteractivepkgs.zsh<finix/modules/users/options.nix>users.groups Link copied!
attribute set of (submodule)This option has no description.
{ }<finix/modules/users/options.nix>users.groups.<name>.gid Link copied!
null or signed integerThe group GID. If the GID is null, a free GID is picked on activation.
null<finix/modules/users/options.nix>users.groups.<name>.members Link copied!
list of (string, not containing newlines or colons)The user names of the group members, added to the
/etc/group file.
[ ]<finix/modules/users/options.nix>users.groups.<name>.name Link copied!
string, not containing newlines or colonsThe name of the group. If undefined, the name of the attribute set will be used.
<finix/modules/users/options.nix>users.users Link copied!
attribute set of (submodule)This option has no description.
{ }<finix/modules/users/options.nix>users.users.<name>.createHome Link copied!
booleanWhether to create the home directory and ensure ownership as well as permissions to match the user.
false<finix/modules/users/options.nix>users.users.<name>.description Link copied!
string, not containing newlines or colonsA short description of the user account, typically the
user's full name. This is actually the “GECOS” or “comment”
field in /etc/passwd.
"""Alice Q. User"<finix/modules/users/options.nix>users.users.<name>.enable Link copied!
booleanIf set to false, the user account will not be created. This is useful for when you wish to conditionally disable user accounts.
truefalse<finix/modules/users/options.nix>users.users.<name>.extraGroups Link copied!
list of stringThe user's auxiliary groups.
[ ]<finix/modules/users/options.nix>users.users.<name>.group Link copied!
stringThe user's primary group.
""<finix/modules/users/options.nix>users.users.<name>.home Link copied!
absolute path, not containing newlines or colonsThe user's home directory.
"/var/empty"<finix/modules/users/options.nix>users.users.<name>.isNormalUser Link copied!
booleanIndicates whether this is an account for a “real” user.
This automatically sets group to users,
createHome to true,
home to /home/«username»shell to users.defaultUserShell,
and isSystemUser to false.
Exactly one of isNormalUser and isSystemUser must be true.
false<finix/modules/users/options.nix>users.users.<name>.isSystemUser Link copied!
booleanIndicates if the user is a system user or not. This option
only has an effect if uid is
null, in which case it determines whether
the user's UID is allocated in the range for system users
(below 1000) or in the range for normal users (starting at
1000).
Exactly one of isNormalUser and
isSystemUser must be true.
false<finix/modules/users/options.nix>users.users.<name>.name Link copied!
string, not containing newlines or colonsThe name of the user account. If undefined, the name of the attribute set will be used.
<finix/modules/users/options.nix>users.users.<name>.packages Link copied!
list of packageThe set of packages that should be made available to the user.
This is in contrast to environment.systemPackages,
which adds packages to all users.
[ ][ pkgs.firefox pkgs.thunderbird ]<finix/modules/users/options.nix>users.users.<name>.password Link copied!
null or stringSpecifies the hashed password for the user.
null<finix/modules/users/options.nix>users.users.<name>.passwordFile Link copied!
null or stringThe full path to a file that contains the hash of the user's
password. The password file is read on each system activation. The
file should contain exactly one line, which should be the password in
an encrypted form that is suitable for the chpasswd -e command.
null<finix/modules/users/options.nix>users.users.<name>.shell Link copied!
null or package or (absolute path, not containing newlines or colons)The path to the user's shell. Can use shell derivations,
like pkgs.bashInteractive. Don't
forget to enable your shell in
programs if necessary,
like programs.zsh.enable = true;.
pkgs.shadowpkgs.bashInteractive<finix/modules/users/options.nix>users.users.<name>.uid Link copied!
null or signed integerThe account UID. If the UID is null, a free UID is picked on activation.
null<finix/modules/users/options.nix>xdg.autostart.enable Link copied!
booleanWhether to install files to support the XDG Autostart specification.
true<finix/modules/nixos/autostart.nix>xdg.icons.enable Link copied!
booleanThis option has no description.
false<finix/modules/xdg/icons.nix>xdg.mime.addedAssociations Link copied!
attribute set of (string or ((list of string) or string) convertible to it)Adds associations between mimetypes and applications. See the specifications for more information.
{ }{
"application/pdf" = "firefox.desktop";
"text/xml" = [
"nvim.desktop"
"codium.desktop"
];
}<finix/modules/nixos/mime.nix>xdg.mime.defaultApplications Link copied!
attribute set of (string or ((list of string) or string) convertible to it)Sets the default applications for given mimetypes. See the specifications for more information.
{ }{
"application/pdf" = "firefox.desktop";
"image/png" = [
"sxiv.desktop"
"gimp.desktop"
];
}<finix/modules/nixos/mime.nix>xdg.mime.enable Link copied!
booleanWhether to install files to support the XDG Shared MIME-info specification and the XDG MIME Applications specification.
true<finix/modules/nixos/mime.nix>xdg.mime.removedAssociations Link copied!
attribute set of (string or ((list of string) or string) convertible to it)Removes associations between mimetypes and applications. See the specifications for more information.
{ }{
"audio/mp3" = [
"mpv.desktop"
"umpv.desktop"
];
"inode/directory" = "codium.desktop";
}<finix/modules/nixos/mime.nix>xdg.portal.enable Link copied!
booleanWhether to enable XDG desktop portals.
true<finix/modules/xdg/portal.nix>xdg.portal.package Link copied!
packageThe package to use for xdg-desktop-portal.
pkgs.xdg-desktop-portal<finix/modules/xdg/portal.nix>xdg.portal.portals Link copied!
list of packageList of XDG desktop portal packages to install.
[ ]<finix/modules/xdg/portal.nix>xdg.terminal-exec.enable Link copied!
booleanWhether to enable xdg-terminal-exec, the proposed Default Terminal Execution Specification.
falsetrue<finix/modules/nixos/terminal-exec.nix>xdg.terminal-exec.package Link copied!
packageThe xdg-terminal-exec package to use.
pkgs.xdg-terminal-exec<finix/modules/nixos/terminal-exec.nix>xdg.terminal-exec.settings Link copied!
attribute set of list of stringConfiguration options for the Default Terminal Execution Specification.
The keys are the desktop environments that are matched (case-insensitively) against $XDG_CURRENT_DESKTOP,
or default which is used when the current desktop environment is not found in the configuration.
The values are a list of terminals' desktop file IDs to try in order of decreasing priority.
{ }{
GNOME = [
"com.raggesilver.BlackBox.desktop"
"org.gnome.Terminal.desktop"
];
default = [
"kitty.desktop"
];
}<finix/modules/nixos/terminal-exec.nix>